-
控制台「运行日志」看不到 LLM 逐字输出,不是坏了,是引擎按设计不存: 1. **引擎根本不消费流式 chunk**:defaultAgentExecutor 的 onAcpEvent 只处理 session/result(累 usage)与 mock/files,文本 chunk 一个字都不接。 2. **事件里的自由文本截断到 600 字**(EVENT_TEXT_MAX),graph-engine.js 那段注释 写了三条理由:完整输出无上限而 getRunState 每次轮询 SELECT * 全量回传; 完整产物已有地址(output_ref)不该有第二个真相源;fail_reason 是选边的匹配键 不能掺自由文本。 所以 stream.log / timeline.ndjson 里只有结构化事件 + 短摘要。 但 Claude CLI 自己把完整会话写在 ~/.claude/projects/<cwd 路径的 / 换成 ->/<sessionId>.jsonl 而 agent 的 cwd 就是 data/companies/<公司>/agents/<角色>,目录名可推。 这个脚本把那份 jsonl 渲染成可读的实时流: node scripts/tail-agent.js <公司> 列出哪些角色有 transcript node scripts/tail-agent.js <公司> <角色> 跟看(增量轮询,Ctrl+C 退出) node scripts/tail-agent.js <公司> <角色> --last 40 只看最后 40 条 只渲染 assistant 的 text 当「LLM 输出」:user 侧的 text 是喂进去的东西(提示词全文、 每轮注入的 <env_status>),跟看时纯噪音 —— 第一版没滤,实测满屏 env_status。 user 侧只留 tool_result(agent 到底读到了什么,这个有用)。 在运行中的实例上验过:mycompany/sdd-planning 正在跑时列表、--last、跟看三种都对, 角色名写错时明确报「目录不存在 + 先跑列表看有哪些」,不静默空跑。 ponytail: projects 目录名按 CLI 现行的「/ → -」规则推导,规则变了会找不到目录 (会明说,不会假装没输出)。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>