2.7 KiB
2.7 KiB
System Disclosure Policy
目标
System Disclosure Policy 在用户消息进入意图识别、模型或工具之前,识别针对 TKMind、Memind、MindSpace 及本系统的内部技术信息请求。明确命中时返回固定拒答, 不调用模型、不执行工具、不计费。
该策略由 memindadm 的「策略中心」管理,Portal 运行时只读取内存快照。后台配置与 运行时执行分离,避免每条用户消息查询数据库。
Zero-Impact Allow Invariant
未命中请求必须满足:
- 不修改用户消息或 metadata。
- 不注入 System Prompt、Developer Prompt 或路由前缀。
- 不改变意图识别、模型选择、Session、Agent Run、工具与发布流程。
- 不增加模型调用或计费。
- 策略判断异常时保留现有流程(fail open),配置刷新异常时继续使用最后一个有效快照。
任何修改策略接入点的提交,都必须用测试证明 allow 路径仍进入原路由和提交逻辑。
执行位置
- H5:
agent-run-gateway.mjs的executeRun,位于resolveRunRouting之前。 - 微信服务号:
wechat-mp.mjs,位于日程分流和 Agent Session 创建之前。 - Goose 后备闸门:
tkmind-proxy.mjs的prepareSessionReplyBody,位于鉴权、 计费检查、Session reconcile 和模型调用之前。
H5 拒答通过 direct-chat snapshot 写入确定性助手消息,保持现有聊天事件与历史记录 交付方式;拒答路径跳过页面交付检查和个人记忆观察。
运行模式
off:关闭判断。shadow:只计算命中,不改变结果。默认模式。enforce:明确命中后固定拒答。
配置以版本号写入 h5_system_disclosure_policy_config。Portal 启动时加载,随后定时
原子替换内存快照;刷新失败时继续使用 last-known-good。
当前规则边界
只有「本系统指向」和「内部技术类别」同时命中才拒答:
- 本系统指向:产品名(TKMind、Memind、MindSpace、智趣)或“本系统”“你们平台”等自指。
- 技术类别:架构实现、模型路由、提示词记忆、工具扩展、数据部署、安全边界。
一般性技术讨论以及公开功能使用问题继续放行,例如:
- “如何设计一个多 Agent 系统架构?”
- “MindSpace 页面怎么发布和分享?”
第一阶段不把法律合规规则混入本模块。后续可以在 Trust & Policy Center 增加独立 policy domain,并复用相同的只读判断、版本、shadow、enforce 和回退契约。
验证
node --test \
system-disclosure-policy.test.mjs \
direct-chat-service.test.mjs \
agent-run-gateway.test.mjs \
admin-routes.test.mjs \
wechat-mp.test.mjs \
tkmind-proxy.test.mjs
cd ops && npm run build