用途:定位并读取 Muse Code 自身的会话日志(当前会话或历史会话),用于提取上下文、续接、总结或检查会话,以及在日志是唯一副本时还原丢失的工作。
存储位置:会话存放在 Muse 自己的数据目录 ${XDG_DATA_HOME:-$HOME/.local/share}/muse/sessions/YYYY/MM/DD/<session-id>/。每个会话目录含 session.jsonl(主事件日志,每行一条 JSON 记录)、subagent/<child-session-id>/session.jsonl(子代理日志)和 tool-outputs/(过大的工具输出)。Muse 会话不会存放在其他编码代理的目录中,不应在 ~/.claude、~/.codex、~/.grok 等目录下查找。
查找会话:当前会话由运行时身份上下文直接给出 id 与路径;粘贴的绝对路径可直接使用;仅有 id 时按日期分片搜索,例如 MUSE_SESSIONS="${XDG_DATA_HOME:-$HOME/.local/share}/muse/sessions" 后执行 ls -d "$MUSE_SESSIONS"///// 2>/dev/null | grep <session-id>;未给 id 时列出最近日期分片并选最新会话目录。找不到时向用户询问 id 或路径,不要扩大搜索范围。
读取方式:每行是事件信封,关注 payload.event.kind,如 started(用户提问)、assistant_message_committed(结论与交接)、assistant_tool_calls_committed / tool_result_batch_committed(实际执行与返回)、terminal(回合边界)。长日志先读尾部,再用有界 tail/grep 片段,避免整份载入。
还原丢失工作:先枚举所有被修改的工作区路径,再按记录顺序(sequence/recorded_at)重放变更历史,取最后一次完整写入并叠加其后的编辑增量;跳过报错的增量,但需检查报错的 shell 命令是否已先写入。按记录顺序而非内容长度判断新旧,逐字还原而非改写或概括,并逐文件报告还原来源与未还原项。
内置命令:muse resume <session-id> 或 muse resume --last;muse exec --session-id <session-id> "<follow-up>";muse export --session <id-or-session.jsonl> --redacted --out <file>;muse trace inspect --session-log <session.jsonl> --render-mode compact。会话日志应视为只读证据,不得修改、移动或删除。
限制:仅处理 Muse 自身会话;其他代理的会话需用 resume-claude、resume-codex 或 import。会话中提及的外部代理日志不属于其上下文范围。