CSDN博客发布助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_21ebfb1a/csdn-blog-publisher。
技能介绍
CSDN 官方编辑器对自动化并不友好:React 受控的标题输入框会吞掉 insertText,正文里带代码块时标题解析容易把注释当 H1,@[TOC] 的括号又会被剪贴板机制改写。这个技能要解决的是“不破坏格式地把 Markdown 落到 CSDN”这件事,而不是单纯点击发布按钮。
核心能力
- 用 Playwright 驱动本地 Edge / Chrome / Chromium,全程操作真实网页编辑器,不需要 CSDN API。
- 标题解析具备围栏感知能力:先扫描
@TOC,其次取首个 H1,最后回退到文件名;代码块内的#注释不会被误判。 - 标题和正文都通过剪贴板粘贴写入,绕过 React 受控输入和换行丢失问题。
- 发布前自动对齐 Markdown 格式(
==x==转**x**、H1 转@[TOC]),可配置是否清除 CSDN 自动推荐标签(tags_strict)。 - 支持新文章发布、已发布文章更新、封面上传/更换、按
commands_list.txt批量发布下 N 篇。
关键步骤
- 读取
csdn_config.json(Cookie、username、tags、可选category/column/daily_limit/tags_strict)。 - 注入 Cookie 打开空白编辑器,检测登录失败时直接报错退出,避免误发布。
- 剪贴板写入标题和正文,校验行数与代码围栏,保存草稿拿到
articleId。 - 打开发布对话框设置标签、分类、专栏,按需上传封面。
- 确认发布后重新打开编辑器,校验标题和
@[TOC]确实落库;只有通过校验才写入csdn_published.json并自增当日配额。
批量模式下,batch.js 按队列顺序派发,遇到首个失败即停止;每日额度由 csdn_daily_quota.json 追踪,达到 daily_limit 时直接打印 [LIMIT] 退出,不会硬发触发 CSDN 拦截。更新旧文不消耗额度。
适用边界与注意点
- 分类和专栏是尽力而为:脚本按“文本包含”匹配点击,CSDN 改版导致选择器失配时只记
[WARN],不会让整篇发布失败。若回查发现分类未勾中,需到编辑器手动补选。 - Cookie 是易耗品,过期时脚本会明确报错;
setup.js可重新打开编辑器等你登录后自动导出,也支持手动 F12 替换整个cookie字段。 - 配置文件应放在 skill 目录之外(推荐项目目录下的
csdn_config.json),否则重装 skill 会覆盖登录态。 category注入依赖 CSDN 保存接口结构,category_id字段当前未启用,仅作为同名分类歧义时的预留钩子。- 浏览器探测顺序为显式路径 → Windows Edge →
channel:chrome→ 常见路径 →channel:chromium→ 内置 Chromium;无浏览器的 Linux 需自行安装。
使用场景
- 技术博客作者写完 Markdown 教程后,需带封面和目录发布到 CSDN,且不希望代码格式被改写。
- 文档工程师要把本地一系列 Linux 命令笔记按队列顺序发布到 CSDN,并受每日发布额度限制。
- 专栏作者想把已发布的旧文章更新为最新版本,要求重新发布后校验标题和目录确实落库。
- 运营同学想给已发布的文章补充或更换封面图,保留原有正文不动。
适合人员
- CSDN 技术博客作者,日常用 Markdown 写作,需要把文章可靠地发布到自己的账号。
- 在公司维护技术文档的工程师,想把本地 Markdown 笔记按固定顺序同步到 CSDN 专栏。
- 喜欢用 Playwright 做自动化的前端开发者,想找一套可直接改选择器的 CSDN 发布脚本。
- 负责技术内容分发的运营,需要批量上传文章并确认封面、目录、分类是否生效。