CSDN 一键发布
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f7b72f2c/csdn-publish-v2。
技能介绍
要解决什么问题
在 CSDN 编辑器里发一篇带图的技术文,往往卡在几类「半自动化」坑上:写内容 API 返回 401(只存 Cookie 拿不到阿里云网关相关的 localStorage)、发布前 get-quality-score 不通过就进不了正确弹窗、弹窗里 标签必填 但 UI 分左侧分类和右侧芯片,点错就报「请设置文章标签」。另外 CSDN 要求正文图片必须落在 i-blog.csdnimg.cn,外链 URL 直接粘贴通常不可靠。
技能如何工作
本技能走 Playwright 驱动浏览器,核心路径是「首次扫码登录 → 持久化 storage_state → 之后免登录发布」。
storage_state:用context.storage_state()保存完整登录态(含网关令牌),比单纯 Cookie 更贴近 CSDN 前端真实请求。- 质量分拦截:发布前用
re.compile(r'get-quality-score')注册 route(注意通配符可能匹配不到),mock 响应需含recommendPublish: true,否则 modal 可能出不来。 - 发布弹窗:真正流程在
.modal,不是.pop-publish-opt(那只是入口 popover)。顺序一般为:点发布 → 设原创 → 填摘要 → AI 声明 → 添加标签(点右侧面板的标签芯片,并关闭面板) → 点「发布文章」。遮罩挡住按钮时,可用element.click()代替 Playwright 原生 click。 - 图床流水线:扫描 Markdown 图片 → 跳过已是 CSDN 的 URL → 下载到临时目录 → 经编辑器上传 modal 逐个上传 → 替换正文 URL 再注入发布。可用
--no-images跳过、--only-images** 只上传不发文。
边界与注意点
storage_state 过期时删除 ~/.hermes/credentials/csdn-storage-state.json 重新扫码。微信二维码约 5 分钟超时,重跑即可。发布后若查到的 status=404,常见是进审核队列,等几分钟再查。正文格式上:H1 用 --title 填标题栏,正文从 # 起写;小标题在 Markdown 里用 加粗 表达层级,段落宜短、列表优先。
截图预览
使用场景
- 本地写好 Markdown 教程后,需要把正文与外链图片一并发布到 CSDN,且图片必须落到 i-blog.csdnimg.cn
- 已用微信扫码登录过一次,接下来要在同一天或一周内连续发多篇 CSDN 文章,不想再反复扫二维码
- 文章暂时不发,只想把 Markdown 或网络图片批量上传到 CSDN 图床,拿到可嵌入编辑器的正式 URL
- 内容流水线里已有选题稿,需按 CSDN 规范(标题栏 H1、正文加粗小标题)自动填弹窗并完成标签与原创声明
适合人员
- 维护 CSDN 专栏、习惯用 Markdown 写稿并希望少碰网页编辑器的独立技术博主
- 做多平台分发、已在用类似 Playwright 发布技能,需要把 CSDN 纳入同一套发文脚本的内容运营
- 撰写含大量 GitHub/外链示意图的文档,发布前必须逐张转存 CSDN 图床、不愿手工点上传的文档工程师
- 负责 Hermes/Agent 内容编排,要把 csdn-publish 与选题、热点调研类技能串联成固定发布步骤的自动化维护者
