一个面向 claude.ai 的 Chrome 导出扩展。
它会把聊天记录整理成适合长期保存的本地 HTML,并同步生成配套的 Obsidian Markdown 索引笔记,尽量把正文资源、附件预览、可视化控件和阅读导航一起带走,方便离线查看、归档和检索。
- 长展示型 widget 现在默认先显示预览图,点击一次后永久切换到真实
live iframe,减少长控件滚动时的白块与补画感。 - 高交互 widget 默认保持
live iframe,不会被预览图链路接管,避免按钮点击后白屏或状态丢失。 - 长对话里带 widget 的消息块不再进入
content-visibility虚拟化,滚动回看时更稳定。 - 运行时会按当前视口高度和实际测得高度重新判断
lazy / eager与预热优先级,而不是只信导出时的初始估算。 - 新增浏览器级 E2E,用来锁定“预览图 -> live iframe”和“交互型 widget 永不被预览接管”两条关键行为。
- 可导出 Claude 回复中的可视化控件 这点是当前很多导出工具还没补齐的短板。Claude Export 会把 widget 内联进导出页,并保留目录、图片复制和图片下载能力。
- 导出结果更接近“可读的文章页面”而不是原始聊天快照 包含暖色阅读主题、消息时间、问题目录、控件目录和更适合论文笔记整理的结构。
- 兼顾归档与二次使用 除 HTML 外,还会生成 Obsidian Markdown 索引文件,方便进入你的知识库体系。
- 导出对话为离线 HTML
- 导出配套 Obsidian Markdown 索引笔记
- 支持可视化控件离线渲染
- 支持控件目录与问题目录导航
- 支持回复内容复制
- 支持控件图片复制到剪贴板、下载到本地
- 支持控件图片按
2x / 300 DPI / 600 DPI导出 - 支持长展示型 widget 的“预览图 -> live iframe”切换
- 支持高交互 widget 始终保持
live iframe - 支持 thinking 作为可选导出项
- 尽量内联正文资源与可预览附件
- 文本类附件支持下载与复制文本
- 导出 Claude 的论文分析、研究笔记、审稿意见和长对话
- 归档带可视化控件的回答
- 把对话整理进 Obsidian、Typora 或本地知识库
- 为论文或报告提取高分辨率控件图片
- 打开 Chrome 扩展管理页:
chrome://extensions/ - 开启“开发者模式”
- 选择“加载已解压的扩展程序”
- 选中本项目目录
- 打开
claude.ai对话页面 - 点击扩展图标
- 选择是否包含 thinking
- 选择控件图片导出清晰度
- 点击导出
- 浏览器会下载:
- 同名 HTML
- 同名 Obsidian Markdown 索引笔记
导出的 Markdown 主要用于:
- 归档
- 标签管理
- 双链管理
- 汇总用户问题
交互内容与可视化控件仍以 HTML 为准。
- 长展示型 widget
默认显示预览图,先保证滚动和回看稳定。点击预览图后,会永久切换到真实
live iframe。 - 高交互 widget
默认直接展示
live iframe,不进入预览图模式,避免按钮、切换器、分页器这类交互在滚动或延迟预热后被覆盖。 - 非长展示型 widget
默认直接展示
live iframe。
当前这套规则主要覆盖了长对话里最容易出问题的两类体验:
- 最后一个长控件滚动时先白一下再显示
- 高交互控件点击后被静态预览图接管,导致看起来像“白屏”或“重新加载”
- 单元测试:
node --test tests/export-builder.test.js - 浏览器 E2E:
npx -y -p @playwright/test playwright test tests/export-page.e2e.spec.js --reporter=line
- 当前实现依赖
claude.ai前端页面结构与页面内可访问的数据;若 Claude 前端改版,扩展可能需要同步调整。 - 某些通过文件选择器上传的二进制
blob文件,Claude 服务端本身就不提供可下载内容接口,这类附件无法被真正离线导出。 - 外部跨域资源不会被强行抓取;若原始内容依赖外链,离线效果取决于资源是否可访问。
本仓库代码与导出方案禁止用于商业用途。
- 仅允许个人学习、研究和非商业场景使用
- 未经明确授权,不得用于商业产品、商业服务、收费分发或任何直接/间接营利场景
如需商业使用,请先取得作者明确授权。