🔥承渊政道:个人主页

❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》

✨逆境不吐心中苦,顺境不忘来时路!✨
🎬 博主简介:

做公众号最痛苦的事情是什么?以前我以为是没选题、没灵感、没时间.后来真正开始稳定更新之后才发现,文章写完往往只是开始.正文写好了,还要调整标题层级;图片插进去了,又得检查排版;好不容易在 Markdown 里整理完,复制到公众号后台后格式又乱了.很多时候,一篇文章真正花费时间最多的环节,并不是创作,而是发布前的各种整理工作.尤其是做技术类内容的时候,这种问题会更明显.代码块、引用框、图片说明、标题结构,一个地方没处理好,最终呈现效果就会大打折扣.有时候文章写了一个小时,排版却能折腾半个晚上.直到后来接触到 doocs/md,我才发现原来公众号写作这件事可以简单很多.它不仅支持 Markdown 实时预览,还能直接生成适配公众号的排版格式.更重要的是,项目本身还集成了 AI 辅助能力,从润色、改写到内容生成,都能够在同一个界面完成.对于经常写公众号、技术博客或者知识分享内容的人来说,这种从写作到发布一站式完成的体验,确实能够省下不少时间.


1.项目doocs/md 介绍

image-20250909150207831

开源项目地址:https://github.com/doocs/md

doocs/md 是一个 GitHub 开源的 Markdown 编辑与排版工具.

  • 核心能力:实时预览、可定制主题与排版细节(字距/行距)、代码高亮、公式/流程图、图片上传与多图床、草稿管理与导出.
  • AI 助手:润色改写、标题/摘要建议、格式转换等,显著降低内容打磨成本.
  • 公众号复制:支持“复制为公众号格式”,将 Markdown 一键适配到公众号后台,减少二次排版工作量.
  • 适用场景:个人与团队写作、技术文档、公众号图文排版与协作审稿.

2.安装Nodejs环境

2.1下载Nodejs安装程序

打开Nodejs的官方下载页面,选择v20.19.5(LTS)版本,进行下载:
image-20250909170533865


2.2安装Nodejs程序

首先,双击执行下载的node-v20.19.5-x64.msi程序,然后点击Next

image-20250909170752323

接下来,勾选I accept the terms in the license agreement同意许可协议,继续点击Next进行下一步:
image-20250909170927865

接着,选择安装位置(默认该位置即可),点击Next进入下一步:
image-20250909171417295

到自定义设置页面可按需设置,直接默认即可,点击Next进入下一步:
image-20250909171557384

接下来到本地模块的工具的界面,不用勾选,直接点击Next即可:
image-20250909172249792

最后,点击Install进行安装:
image-20250909172326671

安装完成,点击Finish即可:
image-20250909172444291


2.3验证Nodejs是否安装

电脑按快捷键win + R,在弹出的运行框输入cmd点击确定或者回车,打开cmd窗口(即:命令提示符窗口),输入如下命令,进行验证nodejs版本:

# 查看node版本
node -v

# 查看npm版本
npm -v

image-20250909173908095


2.4设置国内淘宝镜像源

为了方便项目依赖下载更快,建议设置国内镜像源以加速下载,在cmd窗口中执行如下命令:

npm config set registry https://registry.npmmirror.com/

然后输入如下命令进行查看:

npm config list

image-20250909174450518


3.下载本地部署doocs/md项目

3.1将项目下载至本地

打开开源项目地址,然后点击Code展开,然后点击Download ZIP按钮进行下载:

项目地址:https://github.com/doocs/md

# 如果电脑上有安装git,也可以使用git clone命令将项目克隆下来
git clone https://github.com/doocs/md.git

下载步骤可以参考如下图:

image-20250909161933549


3.2解压doocs/md项目

压缩包下载到本地以后,进行解压(这里使用7-zip进行解压,推荐使用7-zip解压工具,比较好用):

# 7-zip官网下载地址
https://7-zip.org/download.html

解压步骤参考如下图:

image-20250909163132123


3.3安装依赖和启动doocs/md项目

进入到md-main的项目目录中,然后在目录地址栏输入cmd回车,即可打开当前项目所在目录的cmd窗口:
image-20250909181331100

输入如下命令,进行项目依赖安装:

pnpm install

安装完成如下图所示:

image-20250909181738928

接下来输入如下命令,启动该项目:

pnpm web dev

启动时可能回提示Nodejs应用通过防火墙的警告,点击允许访问
image-20250909182001970

启动成功控制台如下图所示:
image-20250909182100948

可以看到,控制台输出了多个访问地址,以ip为localhost的这一条为例,在浏览器中访问测试:

http://localhost:5173/md/

image-20250909182312062可以看到,成功的访问到了项目!


4.将网站穿透至公网(cpolar穿透篇)

在安装cpolar前,说明一下为什么需要安装cpolar.由于浏览器的安全限制,复制公众号格式的功能需要使用 Clipboard API,而这个 API 只能在安全上下文(HTTPS)或本地环境(localhost)下工作.当我们在局域网或其他网络环境下访问编辑器时,由于不是 HTTPS 协议,复制功能将无法正常使用.

举个具体例子:你在本地部署好网站后,同事通过局域网IP可以正常访问和编辑,但需要复制公众号格式时就会失败,因为局域网使用的是HTTP协议,而复制功能必须要求HTTPS环境.

image-20250910134433216

相比传统的云服务器+域名+SSL方案,cpolar具有零成本启动、配置简单、即开即用等优势,特别适合个人开发者、小团队、内容创作者等需要快速搭建可分享编辑器的用户群体,无需购买服务器和域名,一条命令即可完成内网穿透,大大降低了使用门槛.


4.1什么是cpolar?

image-20250910114418412

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问.
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署.

4.2下载cpolar

打开cpolar官网的下载页面:
点击立即下载 64-bit按钮,下载cpoalr的安装包:

image-20250815171202537

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:

cpolar version

image-20250815171446129

出现如上版本即代表安装成功!


4.3注册及登录cpolar web ui管理界面

4.3.1注册cpolar

访问cpolar官网,点击免费注册按钮,进行账号注册

image-20250804085039567

进入到如下的注册页面进行账号注册:
image-20250804085208319


4.3.2访问web ui管理界面

注册完成后,在浏览器中输入如下地址访问 web ui管理界面:

http://127.0.0.1:9200

image-20250815171734046

输入刚才注册好的cpolar账号登录即可进入后台页面:

image-20250815171846757


4.4穿透doocs/md项目的WebUI界面

4.4.1 随机域名方式(免费方案)

随机域名方式适合预算有限的用户.使用此方式时m系统会每隔 24 小时 左右自动更换一次域名地址.对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲4.4.2固定域名方式,且访问更稳定.

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • ssh隧道,指向22端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

image-20250731121517683

点击website隧道编辑按钮,填写如下信息:

image-20250910123447584

  • 注意:每个用户创建的隧道显示的公网地址都不一样!

接着,点击左侧菜单的状态菜单,接着点击在线隧道列表菜单按钮,可以看到有2个wechatmd-5173的隧道,一个为http协议,另一个为https协议:

image-20250910123612341

接下来在浏览器中访问wechatmd-5173隧道生成的公网地址(http和https皆可)
这里以https为例:

image-20250910123713150

可以看到报错了,这个报错说明 Vite 的安全策略拦截了请求,因为目标域名 208ce144.r1.cpolar.top 不在允许的访问列表里.

接下来,需要修改项目中的vite.config.js文件.打开md-main项目目录,进入到apps/web目录下,找到vite.config.js文件,右键打开方式选择记事本进行编辑,操作步骤如下图所示:
image-20250910124839260

打开后,在base,的后面,添加如下代码(注意:逗号一定要是英文的):

  server: {
    allowedHosts: true
  },

添加后参考如下图所示:

image-20250910125530021

代码保存后,访问浏览器进行测试(不用重启项目,vite会自行构建编译):
image-20250910125735315

可以发现,成功访问到项目啦!


4.4.2 固定域名方式(升级任意套餐皆可)

在官网升级任意套餐即可获得固定二级子域名,推荐升级NasNAS 10M或更高套餐,带宽越大加载访问的速度越快.当然预算有限的客户也可以选择基础的套餐,皆可支持固定二级子域名功能.

好啦,接下来开始固定保留二级子域名教程!

首先,进入官网的预留页面,选择预留菜单,即可看到保留二级子域名项,填写其中的地区名称描述(可不填)项,然后点击保留按钮,操作步骤图如下:
image-20250910140048985

列表中显示了一条已保留的二级子域名记录:

  • 地区:显示为China Top.
  • 二级域名:显示为wechatmd.

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为wechatmd-5173的隧道,点击编辑按钮进入编辑页面:

image-20250910140251326

修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

image-20250910140421669

来到状态菜单下的在线隧道列表可以看到隧道名称为wechatmd-5173的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

image-20250910140515852

这里以https协议做访问测试(加载稍慢,需耐心等待一下):

image-20250910140931377

访问成功,这样一来,你本地部署的doocs/md项目就支持分享给朋友访问啦!


5.使用doocs/md项目编写公众号文章(实战)

经过前面的部署配置,现在我们已经成功搭建了一个功能强大的AI加持Markdown编辑器.接下来,让我们深入体验这个编辑器的核心功能,包括Markdown转公众号格式、AI智能对话、自定义主题等特性,看看它是如何让我们的创作效率提升10倍的.


5.1界面布局与基础功能介绍

首先,介绍一下页面的区域和结构:

整个编辑器采用经典的三栏布局设计,分别为:

左侧:Markdown原生编辑区域

  • 这里是我们的主要工作区域,支持完整的Markdown语法
  • 顶部工具栏包含文件、格式、编辑、样式、帮助等菜单
  • 右上角有复制、发布按钮,以及设置按钮(齿轮图标)

左侧主体区域的详细图示可以参考如下图:

image-20250910144443814

中间:实时预览区域

  • 实时显示Markdown转换后的公众号格式效果,所见即所得,编辑时立即看到最终效果
  • 右边顶部工具导航栏,支持复制预览的文章格式,主题定制面板等,发布(暂不可用)
  • 预览区域内左上角可展开查看大纲和跳转
  • 底部状态栏显示文章统计信息(字数、字符数、阅读时间)

中间主体区域的详细图示可以参考如下图:

image-20250910145132198

右侧:主题定制面板

  • 点击设置按钮展开,包含丰富的个性化选项
  • 主题选择:经典、优雅、简洁三种风格
  • 字体设置:无衬线、衬线、等宽字体
  • 字号调节:从更小到更大的五个级别
  • 主题色:11种预设颜色 + 自定义颜色选择
  • 代码块主题:支持多种代码高亮风格
  • 图注格式:多种图片说明显示方式
  • 预览模式:移动端和电脑端
  • 白天模式or暗黑模式

右侧主体区域的详细图示可以参考如下图(截图进行拼接了,定制面板一页显示不全):

image-20250910150728678
暗黑模式效果图参考如下:
image-20250910150955739

好了,主体页面大概就介绍这么多啦,具体功能可以自行详细挖掘一下!


5.2Markdown转公众号格式

首先,需要准备一篇Markdown格式的文章,然后将其导入至doocs/md项目中(直接复制粘贴到编辑区域也可以):

以当前编写的这篇文章为例,如下为Markdown的效果图:
image-20250910151617992

将该文章复制到编辑器中(也可以选择左上角文件>导入.md的方式导入),然后查看其效果图:

image-20250910152108087

觉得怎么样?效果如何,是不是很棒!

接下来,我们把转换成公众号格式的预览效果复制起来,粘贴到公众号查看效果,看看是否和预览的效果一模一样!

首先,点击右上角的复制按钮,点击复制:
image-20250910152733031

复制下来公众号的格式后,打开公众测试平台的公众号发布文章页面,将文章内容粘贴进来,查看效果:
image-20250910154746824

可以发现,是不是一模一样!等于是你在doocs/md项目中简单调整好主题字体等格式后,直接在公众号中设置封面等相关信息就可以直接发布啦,效率简直极大提升!


5.3AI智能对话与内容生成

在完成了“写作—预览—复制发布”的基础流程后,本节将把AI真正融入写作:我们会打开内置的AI助手面板,配置大模型API,示范如何用指令一键生成大纲、段落与配图文案,并通过“润色/改写/续写/提炼要点”等能力快速打磨内容,最终把AI生成的结果无缝落到Markdown中,形成可直接预览与发布的成稿.


5.3.1AI助手面板功能介绍

首先,需要打开AI对话框,点击左侧Markdown原生编辑区域的右上角黑色的小按钮:
image-20250910163351453

点击打开后,可以看到如下AI对话框页面:
image-20250910162933297


5.3.2配置通义千问大模型

首先,需要领取千问百万tokens,来到阿里云百炼官网,点击右上角新用户登录即享每个模型100万免费tokens:

阿里云百炼官网:https://bailian.console.aliyun.com/#/home

image-20250818095239735

领取完成后,接下来进入密钥管理,设置设置千问api密钥:
密钥管理:https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.60907980OAftBf&tab=model#/api-key

点击创建api-key,填写完信息:

image-20250818100001054

然后点击复制按钮:

image-20250818100131402

复制下来格式大概如下:

sk-53207f95f7e44ec18d05669767f649b7

接下来点击AI对话框中的设置图标按钮,进入到AI大模型api配置页面,具体操作如下图:

通义千问-plus模型api地址:

https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

image-20250910172457573


5.3.3配置编写Markdown文章的AI指令

为了让通义千问-plus在本项目中发挥最佳效果,建议新增一条“自定义指令”,用于生成/改写更贴近公众号风格的 Markdown.操作:点击 AI 对话框顶部“+”新增指令,名称建议填入公众号化改写(结构化),模板粘贴下方内容即可.

image-20250910181724206

指令模板

你是公众号写作与排版编辑。请把输入内容整理为层次清晰、易读的 Markdown:
— 标题采用编号结构:二级标题用阿拉伯数字(如“## 1 …、## 2 …”),三级标题按“3.1/3.2/3.3”。
— 仅输出 Markdown 正文(简体中文),不写解释或前后缀。
— 段落短句化(单段≤3行),关键点用列表;必要时用引用 > 提示。
— 保留代码块/链接/图片的原始 Markdown,不修改 URL。
— 用词简洁、信息密度高,避免空话与“AI/免责声明”等无关表述。

若未提供选区内容,请基于标题与上下文先给出合理结构与简短导语。

待处理内容:
{{sel}}

配置好后,回到AI对话的首页,可以看到添加的指令已经成功显示了,点击后,下方的对话框中会自动插入指令模板:
image-20250910182711306

这样,一个AI指令就创建好啦!


5.3.4使用AI指令进行编写文章

在前面小节中,已经设置好了AI指令,接下来,用配置好的AI指令加上我们自己的白话文询问尝试一下:

写一篇小白入门markdown的教程,必须详细,相关的语法代码块中演示了还需要显示出效果等

image-20250910182851835

点击发送,可以看到AI已经按照markdown格式的要求,给我们输出了一篇文章内容:
image-20250910183005669

生成完成后,点击复制按钮,粘贴到markdown原生编辑区域中,查看效果预览:
image-20250910183657283

可以看到,效果是很不错的:

开头部分

image-20250910184227818

语法及效果展示
image-20250910184427419

末尾还贴心的加上了误区和技巧,以及推荐使用的markdown编辑工具
image-20250910184538873

最后,让其给我一个适合这篇文章的公众号标题,它也是给出了多种风格的标题供我挑选:
image-20250910184856642

稍微做了一下小的主题格式调整,是不是感觉文章就已经挺好看的了:
image-20250910185204087

怎么样,这个doocs/md项目是不是提升了很大的效率!


6.给doocs/md项目添加访问授权验证

在完成公网部署后,我们发现doocs/md项目默认无需登录即可访问,这在家庭或团队环境中可能存在安全隐患.为了确保只有授权用户才能使用我们的编辑器,cpolar提供了便捷的访问授权验证功能.


6.1为什么需要访问授权?

  • 隐私保护:防止他人随意访问你的创作内容
  • 资源安全:避免AI API密钥被恶意使用
  • 访问控制:确保只有团队成员或指定人员可以使用
  • 成本控制:防止API调用量被恶意消耗

6.2配置访问授权验证

首先,打开cpolar管理界面,进入隧道管理隧道列表,找到wechatmd-5173隧道,点击编辑按钮:

image-20250911095825102

在编辑页面中,点击高级按钮展开高级配置选项,按照下图进行设置:

在HttpAuth这一栏,输入admin:123456 其中【admin】为你想要设置的账号,中间的冒号是英文的(不是中文),【123456】为想要给admin用户设置的密码

image-20250911100023747


6.3验证授权效果

重新访问你的公网地址,会发现浏览器弹出登录验证框:

image-20250911100046590

输入刚才设置的用户名和密码,即可正常访问编辑器.这样,你的doocs/md项目就具备了基础的安全防护,既保持了便捷的远程访问能力,又确保了内容与资源的安全.


7.总结

体验下来,doocs/md 最大的价值并不是它支持 Markdown,而是它把原本分散在多个工具里的工作重新整合到了一起.

以前写公众号,可能需要 Markdown 编辑器、图片工具、排版工具、AI助手以及公众号后台来回切换.而现在,从内容编写、实时预览、AI润色到公众号格式复制,大部分工作都可以在同一个界面完成.

尤其是在 AI 能力加入之后,很多重复性的内容整理工作开始被自动化处理.无论是生成大纲、优化表达还是调整文章结构,都能够获得不错的辅助效果.对于个人创作者和内容团队来说,这种效率提升是非常明显的.

再结合 cpolar 提供的 HTTPS 公网访问能力后,本地部署的编辑器还能随时分享给团队成员进行审稿和协作.相比反复发送 Word、Markdown 文件或者截图确认内容,整个沟通流程会顺畅很多.

这些年 AI 写作工具越来越多,但真正让我愿意长期使用的,往往不是最聪明的那个.

而是能让我少折腾、少重复劳动、把更多时间留给创作本身的那个.


🚀真正的勇者不是流泪的人,而是含泪奔跑的人!

敬请期待下一篇文章内容


每日心灵鸡汤: 焦虑不是脆弱,是你在为成长蓄力!

你是不是也经历过这样的时刻:心里装着很多期待,想做好每一件事,却常常力不从心.于是,焦虑悄悄涌上心头,甚至怀疑自己不够优秀.很多人把焦虑当成一种脆弱,觉得是自己不够坚强.其实恰恰相反,焦虑的本质是你对生活有期待,对自己有要求,是内心向上的力量在涌动.因为你想变得更好,才会有焦虑的情绪.不用千方百计想着怎么赶走焦虑,试着和它和平相处,告诉自己:我只是想认真对待生活.做好眼前的事,一步一步往前走,焦虑会在踏实的行动中慢慢消散.那些曾经让你不安的情绪和扛过的压力,都在悄悄塑造更强大、更从容的你.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐