agent-advise.cli.ts
2.61 KB
-
feat(friday-ai): 接待/预约确认 Agent 收口 —— 单一意图词表、回复路由表、患者时间线、接管闸收窄 · 89d54dfc
Agent 层 - shared/intent.ts:接待与预约确认共用一套意图词表,子集关系编译期钉死(原两套枚举只有 medical 重叠) - shared/reply-routing.ts:intent × context → 处置表(转人工/改期建议/是否开 Task),escalation_reason 统一推导 - shared/human-actions.ts:一个 job_type 一个定义(escalate_to_human / propose_reschedule / call_to_confirm / parse_response),outlets 改为调用时传入 - reception:删掉空壳 replyTaskId;AI 能答的直接出站,「答不上来」不再生成 Task;草稿只在未发送时保留 - appointment-confirm:扫描改为按诊所(ref 树叶子)而非按托管账号,未绑企微的患者走电话确认 - prompts/layers.ts:IDENTITY 改为与实际行为一致(AI 会直接对患者说话),版本 reception@2026-09-01-a - inbound:群聊先取一个主责号(created_at 最早,占位规则) 工作台 - patient-timeline.service.ts:按 (job_type, escalation_reason) 准入,只收真正影响患者时间线的 task - conversation.service.ts:「我需要答」由新鲜草稿判定;agentActivity 增加 sending 态,只有真实 last_error 才出 detail - takeover / common-context:接管判定加 source_type='human',去掉不可达分支 - agent-task:failed_retry → retry_pending(DB CHECK 里只有后者,原测试跟着错才一直绿) 出站闸门 - gate.service.ts:患者闸只认 manual_takeover;注释改为实际效果(hold 在队列,闸开即发) CLI 安全 - reception-drill / appointment-drill:原来的收尾 UPDATE 未加范围会关掉库里所有 open task,现已限定到本次会话/本次时间;appt-drill 在 ai_auto_send=true 时拒绝运行 测试:新增 action-registry / reply-routing / timeline-admission / outcome-zh / ai-paused,以及读迁移 SQL 的九态闸;408 / 22 suites eslint:忽略 .next*(NEXT_DIST_DIR 落到 .next-check) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
luoqi committed