2.4 KiB
2.4 KiB
对话入口:已下线(自然语言统一交给 Pi Agent)
状态:已下线。
server/agent_core/dialog.py、server/agent_core/intent.py、server/agent_core/assistant.py已删除;对话链路不再做规则/关键词意图识别。
现行入口
用户输入 → /api/chat → IntentResult(intent="assistant.reply", params={"query": ..., "_piPrimary": True})
→ workflow.handle_intent → fallback_lane.propose_reply()
→ Pi headless(唯一自然语言理解 + 工具选择)
→ 封闭 IntentName 工具目录 + paramsSchema
→ workflow / harness(P0 只读直通、P2 确认卡、P3 人工审批)
- 自然语言理解与工具选择只发生在 Pi 内部;服务端不再维护快路正则、关键词表或澄清状态机。
IntentResult仍是服务端与 Pi 之间的结构化工具请求信封,不是意图识别结果。- 工具调用一律走既有门禁:P0/P1 只读直通、P2 出确认卡、P3 走白名单 fail-closed; 缺人/缺料/缺能力/缺源数据的结论保持权威,不被 Pi 文案覆盖。
- 多轮澄清与补数引导由 Pi 在同一轮对话内完成;缺数据时给补数步骤,不提示「先试排」。
工具参数与采用边界
- 工具目录由
_primary_tool_catalog()下发paramsSchema:_PRIMARY_TOOL_PARAM_SCHEMAS中的已登记工具是封闭契约,_validate_tool_params()拒绝未知字段、错误类型、非法枚举或范围;未单独登记参数的工具才使用_OPEN_PARAMS_SCHEMA。 data.analyze/folder.analyze走 P0 预览:analyze_project_deep(..., apply=False)与analyze_work_dir(..., apply_sql=False)只读项目上下文、深拷贝世界和 SQL 预览,返回readOnly与pendingAdoption。- 写入只在
workflow._stage_pending_adoption()生成 P2import.commit确认卡后发生;批准后execute_confirmed()的action == "import.commit"分支才采用主数据并调用ingest_project_analyze_report()。 - SOP 控制台同样不绕过门禁:
postSopStage(sessionId, assetId)调/api/sop/stage,由compile_sop_by_asset(kb_assets, asset_id)编译后走 P2sop.apply确认卡。
相关文档
- fallback.md:Pi 主入口的围墙、审计、熔断与确认卡流程。
- modules.md:
core-fallback-lane登记与黄金测试。