Skip to content

CCLCK/claude-export

Repository files navigation

Claude Export

一个面向 claude.ai 的 Chrome 导出扩展。

它会把聊天记录整理成适合长期保存的本地 HTML,并同步生成配套的 Obsidian Markdown 索引笔记,尽量把正文资源、附件预览、可视化控件和阅读导航一起带走,方便离线查看、归档和检索。

1.6.4 更新

  • 长展示型 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 或本地知识库
  • 为论文或报告提取高分辨率控件图片

安装

  1. 打开 Chrome 扩展管理页:chrome://extensions/
  2. 开启“开发者模式”
  3. 选择“加载已解压的扩展程序”
  4. 选中本项目目录

使用

  1. 打开 claude.ai 对话页面
  2. 点击扩展图标
  3. 选择是否包含 thinking
  4. 选择控件图片导出清晰度
  5. 点击导出
  6. 浏览器会下载:
    • 同名 HTML
    • 同名 Obsidian Markdown 索引笔记

Obsidian 配套

导出的 Markdown 主要用于:

  • 归档
  • 标签管理
  • 双链管理
  • 汇总用户问题

交互内容与可视化控件仍以 HTML 为准。

Widget 渲染策略

  • 长展示型 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 服务端本身就不提供可下载内容接口,这类附件无法被真正离线导出。
  • 外部跨域资源不会被强行抓取;若原始内容依赖外链,离线效果取决于资源是否可访问。

非商用说明

本仓库代码与导出方案禁止用于商业用途

  • 仅允许个人学习、研究和非商业场景使用
  • 未经明确授权,不得用于商业产品、商业服务、收费分发或任何直接/间接营利场景

如需商业使用,请先取得作者明确授权。

About

Claude chat export extension for fully offline HTML with inline widgets and attachment preview

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors