把AI对话存成笔记:Agent Client for Obsidian的Chat Export导出技巧与最佳实践
【免费下载链接】obsidian-agent-clientBring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-agent-client
Agent Client for Obsidian 是一个把 Claude Code、Codex、Gemini CLI 等 AI 编码代理接入 Obsidian 的插件。它的Chat Export(聊天导出)功能可以把与 AI 的完整对话一键导出为带 YAML Frontmatter 的 Markdown 笔记,自动归档到笔记库中,成为可搜索、可链接、可分享的长期知识资产。本文将带你掌握导出按钮、9 项导出设置与自动导出机制,轻松把每一次 AI 对话变成有价值的笔记。
为什么要把AI对话导出成笔记
与 AI 代理的对话往往包含决策过程、问题解答和调试记录,但这些内容默认只存在于会话里,切换会话或重启后就不好找了。Chat Export 能帮你:
- 📌 文档留痕:完整记录对话与决策,随时回顾
- 📚 学习复盘:把 Agent 的解释保存下来,日后复习
- 🤝 分享协作:导出为 Markdown 后直接发给同事,无需额外转换
- 🔍 排错参考:工具调用记录(读了哪些文件、改了哪些代码)都可追溯
导出后的笔记与普通笔记一样,支持@[[笔记名]]双向链接、标签检索与嵌入引用。
手动导出:点击聊天窗口里的"保存"按钮
最简单的使用方式——在聊天面板顶部的标题栏点击保存图标(Export):
点击后会发生什么?
- 当前对话被转换为 Markdown 文件
- 文件保存到导出文件夹(默认
Agent Client/) - 弹出通知告知导出路径
- 默认自动打开这份新笔记
除了标题栏按钮,还可以:
- 点击标题栏的更多(⋯)菜单,选择 "Export chat to Markdown"
- 打开 Obsidian命令面板,执行
Export chat命令(命令 ID:agent-client:export-chat)
导出按钮的界面定义见 ChatHeader.tsx,导出动作的实现见 useChatActions.ts。
9项导出设置:调出最适合你的导出工作流
在设置 → Agent Client → Export中配置,所有选项见 SettingsTab.ts:
| 设置项 | 说明 | 默认值 |
|---|---|---|
| Export folder | 导出笔记的保存文件夹 | Agent Client |
| Filename | 文件名模板,支持{date}与{time}占位符 | agent_client_{date}_{time} |
| Frontmatter tag | 附加标签,支持嵌套(如projects/agent-client),留空则不加 | agent-client |
| Include images | 是否导出消息中的图片 | 开启 |
| Image location | 图片保存位置:Obsidian 附件文件夹 / 自定义文件夹 / Base64 内嵌 | Obsidian 附件文件夹 |
| Custom image folder | 选择自定义位置时的图片路径 | Agent Client |
| Auto-export on new chat | 开始新会话前自动导出当前对话 | 关闭 |
| Auto-export on close chat | 关闭聊天视图时自动导出 | 关闭 |
| Open note after export | 导出后自动打开笔记 | 开启 |
默认值定义见 plugin.ts。
导出的Markdown笔记长什么样
导出的笔记是标准 Markdown + YAML Frontmatter 结构,可直接被 Obsidian 索引:
--- created: 2025-12-13T00:31:12 agentDisplayName: Claude Code agentId: claude-agent-acp session_id: f95b4847-cb9c-441a-9f0b-08eb243ff5dd tags: [agent-client] ---正文部分会完整保留:
- 消息:按
## 时间 - User / Assistant分段,带时间戳 - 工具调用:工具名、涉及文件路径、执行状态与代码 diff(如
### 🔧 Read File) - 思考过程:以可折叠的
> [!info]- Thinking提示框呈现 - 任务计划:带 ✅ / 🔄 / ⏳ 状态标记的 callout
- 笔记引用:自动提及与手动提及都以
@[[笔记名]]格式保留
格式生成逻辑见 chat-exporter.ts,完整示例见官方文档 chat-export.md。
图片导出:3种存储方式各有所长
如果对话中附带了截图(比如让 AI 分析图片),导出时图片有三种处理方式:
| 方式 | 特点 | 适用场景 |
|---|---|---|
| Obsidian 附件文件夹 | 跟随笔记库附件设置存放,笔记中用![[图片名]]引用 | 默认选择,管理方便 |
| 自定义文件夹 | 集中存放在指定目录 | 想让导出素材集中归档 |
| Base64 内嵌 | 图片数据直接写进 Markdown,无外部依赖 | 需要单独分享这一份笔记 |
细节上的贴心设计:图片文件名按导出名_001.png递增编号;若图片已存在则自动跳过,不会重复写入。
自动导出:让每一次对话都不丢失
手动点击容易忘记,两个自动触发时机值得开启:
- 开始新会话时:点"新对话"前,自动把当前对话导出归档
- 关闭聊天视图时:关掉聊天面板时自动兜底导出
还有一个避免重复文件的机制:导出文件通过 Frontmatter 中的session_id与来源会话匹配——同一会话重复导出会覆盖原文件,不同会话则自动加_2、_3后缀,保证互不覆盖。实现细节见 resolveExportFilePath。
最佳实践清单
- ✅ 设置专属标签:把 Frontmatter tag 改为
projects/ai-notes之类的嵌套标签,检索更精准 - ✅ 开启自动导出:频繁切换会话/多开 Agent 时,开启"新会话时自动导出",防止遗漏
- ✅ 利用文件名模板:
{date}+{time}组合保证文件按时间自然排序 - ✅ 分享前选 Base64:需要单独发送含图笔记时,改用 Base64 内嵌,一份文件走天下
- ✅ 自动导出时关闭"导出后打开笔记":避免后台导出时不断弹开新标签页打扰工作
- ✅ 用标签做知识管理:默认
agent-client标签可作为兜底,方便定期回顾所有 AI 对话
相关文档与源码
| 内容 | 路径 |
|---|---|
| Chat Export 官方文档 | docs/usage/chat-export.md |
| 导出器核心实现 | src/services/chat-exporter.ts |
| 导出动作与自动导出逻辑 | src/hooks/useChatActions.ts |
| 导出按钮界面 | src/ui/ChatHeader.tsx |
| 导出设置面板 | src/ui/SettingsTab.ts |
| 插件入口与命令注册 | src/plugin.ts |
掌握 Chat Export 后,你与 AI 的每一次深度对话都不再是过眼云烟,而是沉淀在笔记库中、可持续检索复用的知识资产。
【免费下载链接】obsidian-agent-clientBring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-agent-client
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考