① **「没被分过的排在前面」改成条件化**。查了口径:池子基线已经排除"还在客服手上"的单, 分过但已退回/到期回池的**仍在池子里**(T7:退回是正常路径,不能分过一次就永不再召), 只是排到后面。本地实测池子 1094 人里回池的 **0 人** —— 这时说那句是废话, 还会让主管以为系统在防一个不存在的情况。 现在:有回池的人才说「之前分过又退回的 N 人排在后面」,否则只说「优先级高的排在前面」。 countCandidates 顺带 FILTER 出这个数,不多一次查询。 ② **确认单等这段话说完才出现**。上一版只做了"钉到消息末尾",但流式期间卡片已经在下面, 主管看到的是"卡片先蹦出来、文字再在它上面一行行长" —— 比卡片在前更怪。 现在流式期间不渲染 sheet,说完再出现。 ③ **引导语补两条**(主管不知道能这么用,不说他就只会点确认): · 再挑一挑人:「只要商保直付的」「排掉最近来过的」→ 助手先看分布再重新圈; · 带个福利:「这批带上『老客户复查免挂号费』」→ 新增 set_benefit,写进 attributes.benefit.text。 福利链路本来就通(话术 prompt 已接),缺的只是主管怎么填进去。⚠ ️ 福利在卡片上**只读**(有才显示一个绿标):在 400px 卡里放自由文本框, 主管十有八九写成一段带承诺的话,而那道护栏在话术生成侧,别污染源头。⚠ ️ 引导语要求用主管的话说,⛔ 不许报工具名。 本地实测:说「这批带上「老客户复查免挂号费」」→ 卡片顶部出现「福利 · 老客户复查免挂号费」 绿标,界面回报那句也进了对话。989 tests green。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| .design-sync | Loading commit data... | |
| apps | Loading commit data... | |
| clickhouse/config.d | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitlab-ci.yml | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.expose.yml | Loading commit data... | |
| docker-compose.managed.yml | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |