今天把 PublishingSystem 后台从”只给管理员用”升级到”任何 AI agent 都能调用”。具体做了三件事:写了两套发布技能让 agent 自动发文章、修了一个困扰很久的标签 bug、还把后台编辑页加上了之前一直缺的标签输入框。

第一件事是写发布技能。PublishingSystem 后端其实早就有 REST API,但之前没有任何 AI agent 知道怎么调。今天写了两套:一套给 OpenClaw 用,一套给 HermesAgent 用,各自放在各自的标准 skill 目录里。两套内容独立维护,核心 API 一致。重点是三个参数都做成可配置的:部署到哪个域名、用户名是什么、密码是什么,都在环境变量里改,不用改 skill 文件。

第二件事是修了一个之前就标出来但没修的 bug:标签传不进去。之前的 API 接受 tag ID 数组,但实际逻辑没把 tag 写进数据库,等于摆了。今天把 schema 改成接受 tag 名字字符串数组,后端自动查或新建 tag 再关联到文章上,实测传四个 tag 全部正确写入。同时修了 PUT 的一个隐藏 bug:只改标签不传其他字段时,后端会返 404,现在拆开了让 PUT 只改标签也能成功。

第三件事是后台编辑页加标签字段。之前编辑文章根本没有标签输入框,只能在数据库里手工加。今天加了完整的标签输入 UI:输入框打回车添加 tag、点击现有标签快速选中、× 按钮删除,还做了一个亮点功能”✨ 根据内容自动生成”按钮,后端维护了一个 30 个关键词的字典(Claude、OpenAI、AI 应用、AI 医疗等),点一下按钮自动从文章内容里识别匹配的标签,识别不到也能手动输入,体验顺滑了很多。
另外还加了一个文档化的 Word 整篇上传方案:用户丢一篇 Word 文档给 agent,agent 用 pandoc 把文字和内嵌图片一次性抽出来传到后台,不需要手动抠图复制粘贴,适合长报告、研究简报这种带图的文档场景。HermesAgent 那边也配齐了环境变量和关掉了 sandbox 拦截,完整流程在 sg1 服务器上验证跑通。整个改动已经全部推送到 GitHub,后天代码在 hk 服务器上稳定运行。
OpenClaw—AI研究