外部 AI 客户端接入后台接口时,高危操作域为什么默认关闭
把外部 AI 客户端接进后台接口时,高危操作域为什么要默认关闭?因为模型不是操作员,它的调用没有”手滑了一下”的自我修正能力。一次被误读的目标指令,会沿着工具链连续执行到不可回退的那一步。AnQiCMS 内置 MCP Server,可以被 Claude、Cursor 这类外部 AI 客户端接入,接口面的安全设计因此不能照搬”给人用的后台权限”。
客户端能看见什么,由目录决定
MCP 工具层基于统一的意图目录组织:目录里登记的意图,客户端才能发现并调用;未登记的意图对客户端不存在。这与”把接口都开着、靠鉴权挡”是两种思路——后者假设调用方知道自己不该调什么,前者假设调用方只会看见被授权看见的东西。
工具面收敛还带来一个副作用:客户端的选择变少,模型选错工具的概率随之下降。接口数量越多,语义相近的条目越多,模型越容易在两个相似能力之间挑错那个。
哪些域默认不开
目录按意图域设置暴露范围,全站级操作所在的域默认关闭,需要显式开启后才对客户端可见。
| 操作域 | 典型动作 | 默认状态 | 开启前要确认 |
|---|---|---|---|
| 内容与栏目 | 文章读写、分类与标签维护 | 开放 | 是否有批量删除类意图被串联 |
| 媒体与附件 | 上传图片、附件处理 | 开放 | 存储配额与来源校验 |
| 站点设置 | 系统设置、联系方式 | 谨慎 | 是否影响对外可见信息 |
| 全站级运维 | 备份、升级、多站点管理 | 默认关闭 | 谁有权开启、失败如何回退 |
默认关闭的理由不是”这些功能危险”,而是这些动作的影响半径覆盖整站:备份策略改动、版本升级、跨站点配置下发,一旦执行错误,恢复成本远高于修正一篇文章。
写操作为什么要合并确认
回合级审批处理的是另一类风险:模型在同一个回合里连续发起多次写操作。逐条确认看似更安全,实际会让人习惯性点同意。合并为一次确认后,审批者看到的是这一回合完整的改动意图,能在执行前判断”这组动作合起来是否合理”。
配套的还有鉴权:接口用 Bearer Token 校验,令牌只授予需要的域。把长期令牌交给客户端时,权限域比有效期更值得收紧。
公开接口层通常被调用什么
从接口文档与线上调用分布看,高频能力集中在内容读取与交互写入:文档列表与详情、分类与标签、图片上传、留言与评论、友情链接、系统设置与联系方式。批量入库则走文档内容导入接口 /api/import/archive,支持按标题查询是否已存在,避免重复导入。
这些接口与 AI 通道共享同一套权限边界。AI Chat 与内置技能在产品内编排时,走的也是同一目录,不会出现”内部工具比外部客户端权限更大”的缝隙。
常见问题
问:默认关闭会不会让 AI 助手变得没用? 答:不会。日常内容与 SEO 维护所需的能力都在开放域里,默认关闭只针对全站级运维,需要时人工开启再关闭即可。
问:令牌泄漏了怎么办? 答:先吊销再轮换,同时检查该令牌生效期间的调用记录,重点看是否触达过站点设置类意图。
问:能不能给不同客户端配不同权限域? 答:应当如此。写作类客户端只给内容域,运维演练单独开临时授权,避免一个令牌承载所有用途。