cn-blog 是一个面向中文内容平台的命令行技能,当前范围为知乎(Zhihu)。它通过用户自己捕获的登录 Cookie 驱动用户真实的知乎账号,使用与知乎自带编辑器相同的 Web API,因此不需要浏览器,也不依赖第三方库,只用到 Python 标准库中的 urllib。
【认证与连接】 连接器会把 Cookie jar 注入为一个环境变量:ZHIHU_COOKIES,内容是一个 JSON 数组,元素形如 {name, value, domain, path, ...}。该变量属于机密信息,绝不应回显或打印出来;CLI 会自行读取。
【主要能力:读取】 技能附带自包含且仅依赖标准库的脚本 scripts/blog.py。读取操作可直接运行:
- python3 $BLOG whoami:查看当前登录的是谁。
- python3 $BLOG articles --limit 20:列出我发布的文章及统计。
- python3 $BLOG articles --limit 20 --offset 20:翻到下一页。
- python3 $BLOG article <id>:查看某一篇文章的详情与统计。 统计数值直接来自知乎:voteup_count(赞同)、comment_count(评论)。资料明确指出,知乎在这些端点上不提供单篇文章的阅读量数据。建议先运行 whoami 验证连接,成功时会返回形如 {"id": "...", "name": "崔庆才丨静觅", "url_token": "cui-qing-cai", ...} 的结果。
【主要能力:发布】 发布操作是受门控的(GATED):除非在末尾带上 --confirm,否则一律为干跑(dry-run),只打印将要执行的操作,不产生任何变更。--confirm 只有作为最后一个参数才会被认可,因此标题或正文中包含 "--confirm" 字样也不会让内容悄悄上线。使用流程应为:先向用户展示干跑结果,取得用户明确同意后,再以 --confirm 结尾重新运行。示例命令:
- python3 $BLOG publish --title "标题" --content-file article.html (干跑)
- python3 $BLOG publish --title "标题" --content-file article.html --draft-only --confirm (保存私密草稿)
- python3 $BLOG publish --title "标题" --content-file article.html --confirm (公开发布并上线) 其中 --draft-only 会在保存私密草稿后停止,较为安全,不会公开任何内容。若不带 --draft-only,文章将以用户名义公开发布。除非用户明确要求上线,否则默认应使用 --draft-only。内容格式为 HTML;如果使用 Markdown,需先转换为 HTML。图片方面,只有已经能在公网访问的图片 URL 会被原样保留,此 CLI 不会把本地图片重新上传到知乎的 CDN。
【适用场景与注意事项】 该技能作用于用户真实的知乎账号:任何发布前都应确认;读取操作会暴露用户自己的私密草稿。知乎 Cookie 存活时间较短,出现 401/403 表示 Cookie 已过期,应在 https://auth.acedata.cloud/user/connections 重新连接(用 ACE 扩展重新捕获),不要循环重试。资料也指出,Cookie 自动化通常违反多数平台的服务条款;此技能只在用户本人账号上、使用用户自己捕获的 Cookie 进行操作,相关风险由用户自行承担,绝不应被用来大规模抓取他人内容。此外,绝不打印 ZHIHU_COOKIES,因为它等同于完整的账号访问权限。
【当前范围与后续计划】 目前范围仅限知乎。资料提到,掘金与 CSDN 连接器已存在于 vault 中,计划后续支持;该技能未来将增加 --platform 开关以适配它们。
【暂未提供的信息】 关于该技能的收费、价格、实际效果、支持平台数量等,资料未作说明,暂未提供。