用途
agent-transcript 用于在用户明确请求时,为 GitHub PR/issue 准备智能体会话记录(transcript)。默认情况下应省略记录,不要在普通 PR 工作中主动提供或询问是否包含记录。仅请求预览并不构成发布授权。
对于托管在 *.openclaw.ai 的会话,当用户请求分享时,应使用原生会话分享功能;只有在用户明确要求单独导出副本时,才导出单独的记录。托管环境应根据当前会话 URL 判断,而不是仓库 URL 或部署/测试目标。不要主动提供单独导出。
主要能力
- 本地查找:默认读取本地 Codex、Claude、Pi 和 OpenClaw 日志,不进行网络调用,从不上传原始日志。
- 渲染:将指定会话 JSONL 渲染为 Markdown。
- 自动裁剪:在展示、预览或插入前自动裁剪渲染后的 Markdown,只保留任务相关的用户提示、可见决策、简短工具摘要和结果证明。
- 脱敏:移除系统/开发者提示、推理过程、原始工具输出、环境数据、本地路径、凭据、浏览器/会话/cookie 细节和认证 URL。
- 预览与插入:展示裁剪后的 Markdown 供预览;如请求 HTML,则基于裁剪内容构建本地预览。仅在用户授权明确覆盖发布到指定 PR/issue 时插入。
使用方式
查找会话:
skills/agent-transcript/scripts/agent-transcript find \
--query "$PR_TITLE $BRANCH_OR_PR_URL" --cwd "$PWD" --since-days 14
渲染会话:
skills/agent-transcript/scripts/agent-transcript render \
--session "$SESSION_JSONL" --out /tmp/agent-transcript.md
在下游仓库中,如果技能同步到 .agents/skills,请将 skills/agent-transcript 替换为 .agents/skills/agent-transcript。
find 默认扫描最新的 400 个匹配日志;--max-files N 可扩大本地发现范围。匹配结果应视为候选,而非范围证明。find 和 html 在所有根目录下最多统计 20,000 个 JSONL 文件,包括旧文件,超过上限时会失败。--max-discovery-files N 接受正整数覆盖;建议先缩小根目录再提高该值。
文件渲染每个会话最多从头部和尾部读取 8 MiB,并最多解析 12,000 行。--max-read-bytes N 可更改字节限制。在裁剪、预览和插入过程中,应保留可见的部分记录提示和 sourceTruncated 统计;被省略的来源绝不能描述为完整。这些是文件读取限制,不是单独的 app-server 渲染模式的限制。短文件系统读取会重试。意外 EOF 会停止渲染或发现,而不是将不完整输入视为完整会话。
自动裁剪时,使用 PR/issue 目标、分支和变更文件来移除无关的早期/后期轮次。检查裁剪结果;辅助脱敏不足以完成披露审查。存在未解决的敏感内容时,应省略记录。
预览和插入:展示裁剪后的 Markdown 供请求的预览。如果请求 HTML,则基于该裁剪内容构建本地预览。辅助工具的 preview、html 和 append-body 模式会重新渲染会话;它们不消费已编辑的 Markdown 文件,可能重新引入已移除的轮次。不要将其未裁剪的输出作为已批准产物。
仅当用户授权明确覆盖将记录发布到指定 PR/issue 时,才插入经过检查、限定范围的文本。生成或预览记录并不授权发布,即使普通 PR 创建或编辑已获批准。如果缺少该范围,展示裁剪结果并在插入前获得发布授权。已有的明确授权覆盖记录发布时,无需重复确认。保留折叠的 <details> 部分,并替换现有记录标记而不是重复。没有安全匹配时,继续 PR 工作而不插入记录或占位符;当省略导致无法满足明确请求的记录时,应解释省略原因。不要将记录包含提升为审查优先要求。
验证辅助工具变更
node --test skills/agent-transcript/scripts/agent-transcript.test.mjs
对于下游 .agents/skills 副本,请从 .agents/ 运行该测试命令,以便测试的相对辅助路径解析正确。使用合成日志和隔离的发现根目录;绝不要为了验证此技能而发现真实用户日志。
适用场景
- 用户明确要求为 GitHub PR/issue 提供智能体会话记录或预览。
- 需要从本地 Codex、Claude、Pi、OpenClaw 日志中查找并渲染特定会话。
- 需要在发布前对记录进行脱敏和裁剪,确保不泄露敏感信息。
限制
- 默认不提供记录,不主动询问是否包含记录。
- 仅请求预览不构成发布授权。
- 生成或预览记录不授权发布。
- 辅助工具的 preview、html 和 append-body 模式可能重新引入已移除的轮次,不应作为已批准产物。
- 存在未解决的敏感内容时,应省略记录。
- 文件渲染有读取限制(每会话 8 MiB、12,000 行),发现限制(20,000 个 JSONL 文件),超出会失败。
- 意外 EOF 会停止渲染或发现,不将不完整输入视为完整会话。
- 绝不上传原始日志,绝不为了验证此技能而发现真实用户日志。