背景(低优增强,非缺陷)
daemon 的 /api/sessions/:id/insight(src/core/dashboard-ipc-server.ts:2328)按 role(user/agent/system)投影会话行。claude-code 的 local-command 事件(如 /effort 的 <local-command-caveat> / <command-name> / <local-command-stdout>)目前作为 user 行原样投出,不是真实用户话语。
这在一次联调中放大过一个下游问题:某消费方把整段 task_log(含这些噪音行)拼接后当"最终答案"提取,捞出整段会话。该下游问题已在消费方侧独立修复(读取侧不再对这类任务合成),与本增强解耦——不修本项也不影响正确性。
增强目标
在 insight 投影层过滤/标注 local-command 与 meta 噪音行(claude-code 通常带 isMeta:true 或 XML 包裹 <local-command-*> / <command-name>),使投影时间线只含真实的 user/assistant 交互:
- 让 daemon 自己的 dashboard insight 展示更干净;
- 让任何镜像/消费
/insight 的下游拿到更纯净的时间线。
参考实现线索
src/services/claude-transcript.ts 已有 isMeaningfulUserEvent / meta 识别逻辑(trailingAssistantText 用它跳过 local-command 回显),可复用为投影侧的过滤谓词。
- 过滤应保守:只滤明确的 local-command/meta 噪音,不动真实 user 文本。
优先级
低。无发版前提、无数据污染、纯展示/镜像清洁度。除非有明确需求,不占常规迭代。
背景(低优增强,非缺陷)
daemon 的
/api/sessions/:id/insight(src/core/dashboard-ipc-server.ts:2328)按 role(user/agent/system)投影会话行。claude-code 的 local-command 事件(如/effort的<local-command-caveat>/<command-name>/<local-command-stdout>)目前作为 user 行原样投出,不是真实用户话语。这在一次联调中放大过一个下游问题:某消费方把整段 task_log(含这些噪音行)拼接后当"最终答案"提取,捞出整段会话。该下游问题已在消费方侧独立修复(读取侧不再对这类任务合成),与本增强解耦——不修本项也不影响正确性。
增强目标
在 insight 投影层过滤/标注 local-command 与 meta 噪音行(claude-code 通常带
isMeta:true或 XML 包裹<local-command-*>/<command-name>),使投影时间线只含真实的 user/assistant 交互:/insight的下游拿到更纯净的时间线。参考实现线索
src/services/claude-transcript.ts已有isMeaningfulUserEvent/ meta 识别逻辑(trailingAssistantText用它跳过 local-command 回显),可复用为投影侧的过滤谓词。优先级
低。无发版前提、无数据污染、纯展示/镜像清洁度。除非有明确需求,不占常规迭代。