【重大更新】sync-transcript 正式适配 VS Code!三大 AI 编程工具会话存档全家桶齐了
🔥 上期回顾:上篇文章 给大家介绍了 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.start、user.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 功能未启用。可以通过以下方式检查:
- 打开 VS Code 设置(
Ctrl/Cmd + ,) - 搜索
chat.hooks.enabled,确保其值为true - 或在命令面板(
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… |
🔗 仓库地址
👉 GitHub:https://github.com/hlx-statistics/sync-transcript.git
📄 本项目采用 MIT License 开源,Copyright © 2026 HLX,可放心用于个人和商业项目。
👍 如果觉得有用,点赞 + 收藏 + 关注 三连走起!VS Code 用户再也不用羡慕 Cursor 党了 😎 有什么问题欢迎评论区交流,也欢迎去 GitHub 给作者点个 Star ⭐!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)