Files
kefu/deploy/protocol-integration-20260916/payload/AGENT_SYNC_20260916.md
T
2026-09-21 10:34:06 +08:00

3.1 KiB
Raw Blame History

智能体与「全部账号」已同步到协议版客户端

2026-09-16 把 C:\kefu 那边开发的三件事同步到本目录(协议版客户端,v1.4.16)。

同步了什么

一、智能体(角色 + 规则)——客户端这边是真正用得上的部分:

  • 新增 agent_rules.py:人设与规则的纯逻辑层(guide 补充指令 / forbid 禁止措辞 / reply 固定口径),单角色切换与多角色协作都在这里。
  • ai_config.py:新增 AI_AGENTS / AI_AGENT_PLAN 两个下发字段,并在内置人设里加了一段「客户发来短消息 / 数字时严禁说成乱码」。
  • ai_chat.py:系统提示词追加角色段落、出口校验禁止措辞、固定口径直接回、纯数字单独给一条会话指令。

协议版的发送链路走 protocol_engine._generate → ai_chat.get_ai_reply,所以上面这些自动生效,协议引擎本身不用改。配了本地裁判时走 model_router.answer,它内部同样调 ai_chat.get_ai_reply,也一样覆盖。

二、线上那条错误回复的修复:客户发来血糖值「13」,模型回"这串像系统编码"。提示词、会话指令、出口兜底三处都加了拦截,最后一道关不掉也不依赖配置——一个智能体都不配时照样生效。

三、后台的「全部账号」范围:admin_backend.tenant_filter、archive_store.TenantScope、admin_api.ALL_ACCOUNTS 与写路径的 single_tenant 守卫。本目录没有 admin-web 前端,所以管理端页面那部分(智能体页、账号下拉框默认全部)在这里不适用,只同步了后端能力,避免以后从这个目录起后台时功能对不上。

怎么同步的

ai_chat.py / ai_config.py / rbac.py 在两个目录里原本逐字节相同(只差我这次的改动),直接覆盖。admin_backend.py / admin_api.py / archive_store.py / archive_api.py 两边已经因为别的原因分叉(本目录的接口是 async 写法,archive_store 还是归档性能优化之前的版本),所以是按差异移植,没有整文件覆盖——那样会把 C:\kefu 那边不相干的改动一起带过来。

export_jobs 在本目录还是旧的 N+1 写法,补丁按这边的形状单独适配过。

没有同步的

  • 归档性能优化(游标 SQL、message_count 的租户谓词、desktop_accounts 的 include_counts):那是 9 月 14 日在 C:\kefu 做的另一件事,和这次无关,本目录仍是旧版。要不要跟进是另一个决定。
  • 知识库(knowledge_*.py、knowledge:* 权限码):C:\kefu 那边正在并行开发,本目录没有这套文件,这次没碰。

验证

本目录跑过:归档 25、管理端与数据层 204、客户端 AI 525、协议链路 100、打包 30、网关与路由等 181,合计 1065 个用例全部通过。

后续完整整合

同日后续整合已补齐本文当时尚未同步的知识库、归档性能和管理前端,另补充协议回复知识引用与风险审核。本文保留此前同步记录;当前功能和启动方式以 INTEGRATION_20260916.md 为准。