Commit 1de76e9a by luoqi

feat(web): 主管开场建议改「批次总览表 + 单批报表」

「我分过的批次,哪批出问题了?」换成两条能落到工具上的:
  · 总览我在跑的所有分配批次,出个表格  → list_assignment_batches
  · 最近一批分配出份报表:…            → get_assignment_detail

指标措辞用服务端原词:「未动过」不写「曝光」、「已处理」不写「完成」。
后者服务端每次返回都在喊「这是处理率不是成功率」,例句写「完成」会把
模型往"谈成了"上带 —— 同文件里那条「别写转化率」的注释防的是同一件事。
点名的七个指标每个都有真实返回值(planned/untouched/progress.done/
outcomes.success/expired/releaseReasons/byOutcome),不是许愿。

顺带:/assistant 整页的兜底建议此前写死一份客服版,主管在那儿看不到任何
分配入口 —— 而整页恰恰是他做批次活最可能待的地方(表格宽、能铺开)。
按同一个 PLAN_DISPATCH 闸拆成 EXAMPLES_LEADER / EXAMPLES_STAFF。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
parent a67c3f0c
Pipeline #3523 failed in 0 seconds
......@@ -47,12 +47,28 @@ const MODELS = [
// 语音输入(听写)暂时隐藏 —— 置 true 即恢复麦克风按钮(听写链路代码保留)。
const VOICE_INPUT_ENABLED = false;
const EXAMPLES = [
/**
* 空态开场建议 —— 调用方不传 `examples` 时的兜底(/assistant 整页就是这条路)。
*
* ⚠️ 按角色分,判据同占位符(PLAN_DISPATCH)。原来只有 EXAMPLES_STAFF 一份,
* 主管打开整页助手看到的三条全是**客服**的活,分配和批次跟踪一条不提 ——
* 而整页恰恰是他做批次活最可能待的地方(表格宽、能铺开看)。
* ⛔ 主管那三条里点名的指标必须是工具真返回的,别许愿;口径与措辞见 assistant-widget
* 里 leaderExamples 的注释(那份是"详情页开着某患者"时的版本)。
*/
const EXAMPLES_STAFF = [
'今日推荐:挑几个该优先跟进的患者,并说明理由',
'查一下患者孙柯的信息、就诊事实和画像',
'现在有哪些潜在治疗、值得召回的患者?',
];
const EXAMPLES_LEADER = [
'帮我给「种植 · 窗口内」这批患者出一份分配方案',
'帮我跟踪下我分配的任务有没什么问题',
'最近一批分配出份报表:分配数、未动过、已处理、成功、超期,退回和不成功要带原因',
'今日推荐:挑几个该优先跟进的患者,并说明理由',
];
// ── 工具中文元信息:助手用的是内部英文工具名,界面不展示工具卡,只把"正在做什么"
// 喂给下方 loading 指示(见 MessageView)。未知工具兜底用原名。
const TOOL_META: Record<string, { label: string; running: string }> = {
......@@ -814,7 +830,7 @@ export function AssistantChat({
问我关于患者的问题,我会查询 PAC 实时数据。
</div>
<div className="flex flex-wrap justify-center gap-1.5">
{(examples ?? EXAMPLES).map((ex) => (
{(examples ?? (canDispatch ? EXAMPLES_LEADER : EXAMPLES_STAFF)).map((ex) => (
<button
key={ex}
type="button"
......
......@@ -49,15 +49,27 @@ export function AssistantWidget() {
// 场景化开场建议(规则,非 AI):有当前患者 → 围绕该患者;否则兜底通用
const current = usePlanSyncStore((s) => s.current);
/**
* ⚠️ 主管多条 —— 原来四条全是**客服**的活(捋事实、想开场白),
* ⚠️ 主管多条 —— 原来四条全是**客服**的活(捋事实、想开场白),
* 主管看不出"我还能在这儿分配和看批次"。占位符同理(见 assistant-chat)。
* ⚠️ 仍然保留患者类的两条:T16 主管本质也是客服,他一样会点开某个患者看。
* ⛔ 别写「转化率怎么样」这类 —— 系统只报**处理率**,例句先许愿会逼着模型去圆。
*
* 三条各对一个工具,顺序 = 主管的实际动线(分 → 看全局 → 看单批):
* 1. propose_assignment 出方案
* 2. list_assignment_batches 横向总览(表格:markdown 表已支持,见 assistant-chat 的 remarkGfm)
* 3. get_assignment_detail 单批下钻
*
* ⛔ 第 2、3 条里点名的指标**每一个都得是工具真返回的**,否则例句就是许愿:
* 分配数=planned、未动过=untouched、已处理=progress.done、成功=outcomes.success、
* 超期=expired、退回+原因=released/releaseReasons、不成功+原因=outcomes.failed/byOutcome。
* ⚠️ 写「未动过」不写「曝光」、写「已处理」不写「完成」—— 都是服务端的原词,
* 换个说法会把口径带偏(「已处理」≠ 谈成了,这条 note 服务端每次都在喊)。
*/
const canDispatch = useHasPermission(Permission.PLAN_DISPATCH);
const leaderExamples = [
'帮我给「种植 · 窗口内」这批患者出一份分配方案',
'我分过的批次,哪批出问题了?',
'帮我跟踪下我分配的任务有没什么问题',
'最近一批分配出份报表:分配数、未动过、已处理、成功、超期,退回和不成功要带原因',
];
const examples = current?.patientName
? [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment