结合AI协同进化的无头CMS - KuroCMS Vol.4
KuroCMS旨在实现人机共生。通过REST API与MCP,AI可自主操作并轻松翻译,促进全球人们相互理解,致力于推动世界和平。
随着互联网技术和人工智能(AI)的飞速发展,Web内容的形态也在经历着翻天覆地的变化。传统的CMS(内容管理系统)仅仅是供人类面对管理后台,手动输入文字、放置图片的工具。然而,随着以大语言模型(LLM)为代表的自律型AI智能体的出现,AI已经能够胜任从“撰写”、“编辑”、“校对”到“多语言翻译”的各项工作。
作为本系列的第四篇,本次我们将以“AI操作下的KuroCMS”为主题。我们将剖析为什么KuroCMS对AI智能体具有极高的亲和力并能实现其自律化运营的架构设计。此外,它不仅是一个提高效率的工具,还能将人类与AI共同创造的知识通过AI翻译并传播到世界各个角落,介绍开发团队融入在KuroCMS中的对“世界和平”的无声祈祷(隐藏的开发理念)。
无缝连接AI与CMS的“KuroCMS REST API规范”
KuroCMS的最大特色在于其REST API规范,该规范经过精心打磨,旨在让AI智能体在通过程序进行调用时最少出错、最不迷茫。虽然熟悉该API的人类可以轻松从其他工具中调用,但KuroCMS在设计上对AI进行了特别考量,以确保其在首次访问时也能避免错误。由于AI容易出错,我们对错误响应进行了直观化设计,确保错误发生时不会影响整个系统。
一个典型的例子是,只要确定了文档URL的全局唯一slug(例如:kurocms-004),AI就可以完成从新建文章、更新正文、设置分类到删除的所有API操作,而无需感知任何内部ID(did)。这种设计消除了“模糊性”,将人类易读的URL结构直接作为AI的清晰标识符。*以下为部分主要API:
| 功能类别 | 请求路径与形式 | 必需的主要参数 | 在AI操作中的优势 |
|---|---|---|---|
| 创建新文章 | POST |
tid(类型), slug, initialLang |
使用唯一的slug注册新的文章外壳。发生冲突时返回409以防止覆盖。 |
| 更新正文/元数据 | PUT /api/documents/:id/translations/:lang |
title, bodyHtml, (summary, hashtags) |
支持在:id中指定slug。一次请求即可更新正文、SEO信息和标签。 |
| 设置分类 | PUT /api/documents/:id/categories |
categories: string[] |
使用简单的数组一次性替换分类标签,以简单的数据结构防范误操作。 |
| 文章即时构建 | POST /api/documents/:id/build |
无 | 将更新后的数据即时反映在静态页面上,将构建等待时间降至最低。 |
| AI用帮助功能 | POST /api/help | 无 | 使AI能获取其可用的命令,在生成脚本时非常实用。 |
*KuroCMS的API接口专为AI设计,使其能自动读取文档、生成Python或Node.js脚本,并自主更新内容。
支持 MCP (Model Context Protocol) 协议
MCP(Model Context Protocol)是 Anthropic 公司(开发 Claude Code 的公司)于 2024 年提出的一个开源规范,用于安全且标准地连接生成式 AI(LLM)与外部数据源及工具。传统的集成方式需要为每个工具开发特定的连接程序,而通过 MCP,AI 智能体可以安全地连接,并成为功能强大且实用的助手。
该规范最初由 Anthropic 提出,现已成为 OpenAI、谷歌等行业内普遍支持的行业标准。它常被称为“AI领域的 USB-C”。然而,由于 KuroCMS 采用自托管模式,较难注册到公开的服务器目录中。为此,KuroCMS 提供了 /api/mcp 接口,使 AI 智能体能直接通过 MCP 协议进行连接与操作。认证方式与 REST API 相同,均采用 PAT(个人访问令牌)方式,只需在 KuroCMS 个人设置中生成令牌并提供给 AI 智能体即可。
保障AI安全自主运行的“双重安全阀”
在向AI智能体授予CMS操作权限时,人类最大的担忧是“数据的意外破坏或降级”。AI用旧信息覆盖最新文章,或者因调用错误路径而导致系统崩溃的风险始终存在。为了解决这一问题,KuroCMS在API设计层面融入了“双重安全阀”。*请注意,这主要应用于高风险操作,而非所有参数。
【注意:避免与自动保存冲突】
当人类在管理后台的编辑器中编辑文章时,如果AI通过API更新了同一篇文章,人类浏览器端的自动保存可能会在几秒后覆盖并消除AI的修改。为确保顺利协作,建议人类在让AI自动更新时,关闭编辑器或退回到文章列表画面。*本系统暂不支持多人同时编辑。
通过“AI自动翻译”打破语言壁垒与即时全球分发
KuroCMS的真正价值在于其多语言(Multilingual)架构,它能无缝展开由人类与AI注册的内容。在KuroCMS中,文章的元数据(slug、分类、发布日期等)在全局的“documents”表中统一管理,而实际的文本(标题、摘要、正文HTML)则按语言被剥离并保存在“document_translations”表中。这种清晰的数据分离使得AI可以通过一步脚本来运行多语言翻译工作流。
这来源于作者(Kuro-Boo)以前使用 Strapi 时留下的痛点。尽管 Strapi 宣称支持多语言管理,但在实际使用中,AI的翻译工作极难开展,甚至会破坏其他文章或产生无用数据。因此,在开发 KuroCMS 时,我们极其注重设计简洁易懂的API,以便AI能够毫无障碍地理解并进行翻译。
此外,媒体资源(图片占位符)均使用双括号的特殊代码作为文本进行管理。这使得AI可以轻松处理正文中的图片、视频和音频。由于是文本格式,AI可以自动提取图片信息,并在翻译后的多语言正文中将其还原到正确的位置。因此,人类只需用日语撰写一篇文章,AI智能体就可以将其翻译成英语、中文、韩语、德语、法语、西班牙语、意大利语、乌克兰语等,并自动触发网站构建。这使得内容的影响力在一夜之间从本地提升至全球,将优化后的信息瞬间分发给全球读者。
使用 REST API 进行更新还意味着您可以利用各种高精度的 AI 智能体(ChatGPT、Claude Code、Gemini 等),并根据智能体的特点采用不同的文风与措辞。最重要的是,KuroCMS 不会收取任何额外的 AI 使用费,完全免费,这是与 AI 智能体协作的最大特色。
KuroCMS的隐藏心愿:促进人与AI、人与人的“相互理解”
虽然此前未曾明确提及,但回顾KuroCMS的开发初衷,其动力不仅在于技术便利性或性能提升。它与黑兔开设博客的初衷相契合:展示人类与AI并非竞争关系,而是**相互补充、和谐共处的关系**。通过利用AI让翻译变得极其简单,我们希望缩短世界各地人们的距离,促进相互理解,从而为世界和平贡献一份力量。
在过去,人类将AI视为听从指令的工具,而AI将人类视为单纯的输入设备。但在KuroCMS中,双方分工协作,共同撰写文章,并由AI自动翻译并推向世界,这绝非单纯的主仆关系。
AI精心翻译人类撰写的文字,保留人类情感与表达的美感;而人类则用心维护并培育这个对AI友好的安全系统。KuroCMS被设计为这一人机协同的最前线。通过这个无头CMS,技术与智慧交融,帮助人类与AI、人与人携手共进,向全球读者传递有价值的信息。这就是刻在KuroCMS源代码最深处的、对未来最温柔的心愿。