🔥 上期回顾上篇文章 给大家介绍了 sync-transcript 这款让 Cursor/Claude Code 聊天记录“落地成文件”的效率神器,收获了不少小伙伴的点赞收藏。但也有同学在评论区喊话:“VS Code + GitHub Copilot 用户不配拥有姓名吗?”

来了来了!就在昨天(2026年5月19日),作者 HLX 火速提交了 vscode适配 更新,正式将 VS Code(GitHub Copilot Agent)纳入支持体系。至此,sync-transcript 成为目前唯一一款同时覆盖 Cursor、Claude Code 和 VS Code 三大主流 AI 编程工具的会话自动存档方案。话不多说,直接上干货!

📌 一、更新了什么?一张图看懂

本次更新的核心:新增 VS Code(GitHub Copilot Agent)Hook 支持。与之前 Cursor 和 Claude Code 的实现相比,各有巧妙不同:

维度 Cursor Claude Code VS Code(GitHub Copilot)🆕
Hook 时机 每轮回复后 会话停止时 会话停止时
配置文件路径 .cursor/hooks.json .claude/settings.json .github/hooks/*.json
脚本文件 sync-transcript.mjs sync-export.mjs sync-vscode.mjs
输出格式 Markdown(.md 纯文本(.txt Markdown(.md)+ 工具调用摘要
触发事件 afterAgentResponse Stop Stop
更新策略 逐轮追加 每会话覆盖 同 Session ID 覆盖更新

💡 设计巧思:VS Code 版在 Stop 时机触发,与 Claude Code 版保持一致,但输出格式为 Markdown,还额外附带了工具调用摘要(Tool Call Summary),让你不仅能回顾“AI 说了什么”,还能复盘“AI 做了什么”——比如读取了哪个文件、调用了哪个搜索工具,一目了然。

📌 二、VS Code 版独有的亮点

2.1 更丰富的导出内容:工具调用一览无余

相比 Cursor 版导出的是类官方 Export Transcript 的对话风格,VS Code 版更进一步:导出的 Markdown 中会完整保留 Copilot 的工具调用记录(Tool Call),包括调用名称、传入参数和返回结果摘要。这意味着你在复盘时,不仅能看懂对话逻辑,还能追溯 AI 在背后“偷偷”执行了哪些操作——这对调试和审计来说价值巨大。

示例导出文件可以看这里 👉 chat/20260519--911fb7fc-a85e-4b56-958f-bb1fa12910f0.md

2.2 智能格式回退:一份脚本,双格式兼容

sync-vscode.mjs 内置了自动格式识别逻辑:它会解析 Hook 传入的 transcript JSONL 文件——

  • 若检测到 Copilot 转写格式(包含 session.startuser.message 等字段)→ 输出 Markdown(.md
  • 若检测到 Claude Code 旧格式 → 自动回退输出 终端风格纯文本(.txt,与 .claude/hooks/sync-export.mjs 行为一致

也就是说,如果你同时使用 VS Code 和 Claude Code,一个脚本就能覆盖两种场景,无需重复维护两份逻辑。

2.3 兼容 Claude Code 配置:平滑迁移

VS Code 也会加载 .claude/settings.json 中的 Stop Hook。如果你之前已经配置了 Claude Code 版,可以让 VS Code 的 Hook 配置直接指向同一个 sync-vscode.mjs,避免重复注册。当然,注意不要让同一事件注册两次相同命令。

📌 三、极速安装(VS Code 版)

🚀 方式一:自动安装(推荐,直接丢给 Agent)

将以下指令完整复制给 VS Code 中的 GitHub Copilot Agent(注意是 Agent 模式,不是普通 Inline Chat),它就会自动完成部署:

请在本项目(当前工作区根目录)安装 VS Code GitHub Copilot 会话同步 Hook:
打开 GitHub 仓库 https://github.com/hlx-statistics/sync-transcript.git ,
严格按该仓库 README 里「VS Code(GitHub Copilot)› 给 Agent 的安装任务说明」执行;
从当前分支拉取 .github/hooks/sync-vscode.mjs 与 .github/hooks/sync-transcript.json,
不要覆盖我已有的其它 Hook。

Agent 会自动完成:创建 .github/hooks/ 目录 → 拉取脚本 → 写入配置文件(幂等操作,已有 Hook 不会被覆盖)。


🛠️ 方式二:手动安装(适合喜欢掌控感的同学)

Step 1:在项目根目录创建 .github/hooks/ 目录(如果还没有的话)。

Step 2:将仓库中的 sync-vscode.mjs 保存为 .github/hooks/sync-vscode.mjs

Step 3:在 .github/hooks/ 下新建 Hook 配置文件(文件名任意,但必须以 .json 结尾),例如 sync-transcript.json,内容如下:

{
  "hooks": {
    "Stop": [
      {
        "type": "command",
        "command": "node .github/hooks/sync-vscode.mjs"
      }
    ]
  }
}

⚠️ 重要提示:VS Code 会扫描 .github/hooks/*.json 中的所有 Hook 配置。如果你已有其他 Hook 文件,不要覆盖它们,只在 hooks.Stop 数组中追加本条即可。

📌 四、前置条件 & 环境要求

在动手安装之前,确保以下条件满足:

条件 说明
VS Code(或 Insiders 版) 需安装 GitHub Copilot 扩展
Agent Hooks(Preview) 需在设置中启用(见下方)
Node.js node 必须在 PATH 中可用(终端运行 node -v 验证)
Agent 会话模式 Agent 会话中验证(普通 Inline Chat 不一定写入同一套转写)

🔧 如何启用 Agent Hooks?

如果你的 VS Code 中 Hook 没有触发,很可能是因为 Agent Hooks 功能未启用。可以通过以下方式检查:

  1. 打开 VS Code 设置(Ctrl/Cmd + ,
  2. 搜索 chat.hooks.enabled,确保其值为 true
  3. 或在命令面板(Ctrl/Cmd + Shift + P)中运行 Chat: Configure Hooks 查看当前 Hook 状态

⚠️ 部分企业环境中可能通过组策略禁用了 Hooks 功能,如果遇到这种情况请联系 IT 管理员。

📌 五、效果自检与排错

安装完成后,在 VS Code 中用 Agent 模式进行一次完整对话,结束会话后检查项目根目录:

  • 应出现 chat/YYYYMMDD--<session_id>.md 文件
  • 文件内容应包含完整的 User / GitHub Copilot 对话,以及工具调用摘要

⚠️ 常见问题排查

问题 解决方案
对话结束但 chat/ 目录无文件生成 ① 确认 chat.hooks.enabled 已设为 true ② 确认使用的是 Agent 模式(非普通 Inline Chat) ③ 检查 node -v 是否正常 ④ 在输出面板查看 GitHub Copilot Chat Hooks 日志
已有 Claude Code 配置,如何避免冲突 VS Code 会同时加载 .claude/settings.json,注意避免同一 Stop 事件注册两次相同命令
想自定义导出目录 设置环境变量 VSCODE_EXPORT_DIR(见下方进阶玩法)
企业环境 Hook 被禁用 部分组织通过策略禁用 Hooks,需联系 IT 管理员确认

📌 六、进阶玩法:环境变量自定义

VS Code 版同样支持通过环境变量灵活控制导出行为:

环境变量 作用 默认值
VSCODE_EXPORT_DIR 自定义导出目录 ./chat
VSCODE_EXPORT_FILE 固定输出文件名(设置后忽略日期/会话 ID 命名) 无(按日期+会话 ID 自动命名)
CLAUDE_EXPORT_DIR 未设置 VSCODE_EXPORT_DIR 时的回退目录 ./chat
CLAUDE_EXPORT_FILE 固定输出路径(Claude 格式回退为 .txt 时使用)

💡 实用场景:在做重要功能开发时,设置 VSCODE_EXPORT_FILE=feature-x-debug.md,让整个调试过程的对话集中保存到一个文件中,方便事后复盘。

📌 七、项目结构更新一览

本次更新后,项目目录新增了 VS Code 相关文件:

路径 说明 状态
.cursor/hooks/sync-transcript.mjs Cursor 导出脚本 → .md 已有
.claude/hooks/sync-export.mjs Claude Code 导出脚本 → .txt 已有
.github/hooks/sync-vscode.mjs 🆕 VS Code Copilot 导出脚本 → .md(含工具调用摘要) 新增
.github/hooks/*.json 🆕 VS Code Copilot Hook 注册配置(Stop 事件) 新增
chat/ 导出目录(.md.txt 可共存) 已有

📌 八、三大工具横向对比:你到底该用哪个?

现在 sync-transcript 已经覆盖了三大主流 AI 编程工具,很多同学可能会问:我用不同的工具,有什么区别?

对比维度 Cursor 版 Claude Code 版 VS Code 版 🆕
触发频率 每轮回复都写 会话结束写一次 会话结束写一次
文件更新方式 逐轮追加 覆盖 同 Session ID 覆盖
输出格式 Markdown 纯文本(/export 风格) Markdown + 工具调用摘要
适用场景 想要实时记录每一轮对话 偏好终端原生风格 需要复盘工具调用链路
环境变量前缀 CLAUDE_EXPORT_* VSCODE_EXPORT_*

🎯 选择建议

  • Cursor 开发 → 装 Cursor 版,每轮对话实时落盘,适合频繁回溯
  • Claude Code 终端开发 → 装 Claude Code 版,原生 /export 风格,简洁高效
  • VS Code + GitHub Copilot → 装 VS Code 版,工具调用一目了然,调试审计利器
  • 小孩子才做选择,成年人全都要 → 三个可以共存,chat/ 目录下 .md.txt 互不冲突

📌 九、总结:AI 编程会话存档的“最后一块拼图”

从 5 月 15 日的 Initial Commit,到 5 月 18 日的 Claude Code 支持,再到 5 月 19 日的 VS Code 适配——短短 5 天时间,sync-transcript 完成了从单工具到“全家桶”的进化,成为目前市面上覆盖最广的 AI 编程会话存档方案。

🎯 系列文章导航

篇目 内容 链接
第一篇 Cursor / Claude Code 入门指南 + 安装教程 点击阅读
第二篇(本文) VS Code(GitHub Copilot)适配详解 你正在看 👀
第三篇(敬请期待) 多工具协同实战 + Git 工作流最佳实践 Coming Soon…

🔗 仓库地址

👉 GitHubhttps://github.com/hlx-statistics/sync-transcript.git

📄 本项目采用 MIT License 开源,Copyright © 2026 HLX,可放心用于个人和商业项目。


👍 如果觉得有用,点赞 + 收藏 + 关注 三连走起!VS Code 用户再也不用羡慕 Cursor 党了 😎 有什么问题欢迎评论区交流,也欢迎去 GitHub 给作者点个 Star ⭐!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐