Skip to content
dsh.fish
Bundle

dsh-export-kit

DeepSeek Harness 对话导出套件:MD/TXT/JSON/CSV/PNG/PDF 导出、公式复制与设置备份

Source
runfali
stars
1 stars
License
MIT
Updated
Updated 5 days ago

Readme

# dsh-export-kit

**DeepSeek Harness 对话导出套件**:一键导出对话为 Markdown / TXT / JSON / CSV / PNG 长图 / PDF,支持公式复制(LaTeX 与 Word 兼容 MathML)与设置备份、全会话归档。零侵入 bundle 插件,无需修改 Harness 源码。

- 版本:v0.1.1 | 许可证:MIT | 文档:[English](./README.en.md)

---

## 功能

### 对话导出(6 种格式)

| 格式 | 说明 |
|---|---|
| Markdown | 保留原始 Markdown 结构与公式定界符 |
| TXT | 纯文本,去除 Markdown 标记 |
| JSON | 结构化轮次数据,便于程序处理 |
| CSV | 表格格式,含 BOM,兼容 Excel / WPS |
| PNG | 长图导出:主题色头部 + 图文排版 + 公式光栅化 |
| PDF | 基于浏览器打印的「另存为 PDF」,正文可选中、可搜索、自动分页 |

导出弹窗支持:

- **范围**:全部(自动分页加载完整历史)或仅当前可见内容
- **时间戳**:可选是否包含每轮时间
- **主题**:轻色 / 深色 / 跟随系统(PNG、PDF 生效)
- **进度与取消**:长会话导出可随时取消

### 公式复制

点击对话中的任意公式,弹出菜单即可复制多种格式:

- `$ LaTeX $` / `$$ LaTeX $$` / `\( LaTeX \)` / `\[ LaTeX \]`
- `equation` / `align` / `display` 环境模板
- **MathML**(通用)与 **Word MathML**(`mml:` 命名空间前缀,可直接粘贴至 Word)

公式源码按 `data-math` → `annotation[encoding=application/x-tex]` → `.katex-mathml` → `data-latex` 四级提取,兼容 DSH 原生公式渲染。

### 备份与归档

- **设置备份 / 恢复**:一键导出本插件全部偏好为 JSON 文件,可随时恢复
- **全会话归档**:遍历全部会话,逐个采集为单个 JSON 归档文件

## 安装

```bash
# 安装到 web profile(安装完成后需重启 dsh 生效)
dsh plugin --profile web add /data/dsh-workspace/dsh-export-kit

# 升级(重新执行安装命令即可覆盖)
dsh plugin --profile web add /data/dsh-workspace/dsh-export-kit

# 卸载
dsh plugin --profile web remove dsh-export-kit
```

## 使用

1. 打开任意对话,右上角标题栏出现 **导出** 按钮
2. 点击后在弹窗中选择格式 / 范围 / 时间戳 / 主题,开始导出
3. 设置 → 导出设置:调整默认格式、默认公式复制格式、主题与时间戳偏好,以及备份 / 归档入口

> **PDF 说明**:PDF 通过浏览器打印功能实现——点击导出后会在打印对话框中选择「另存为 PDF」,而非直接生成文件。

## 设置项

| 设置 | 说明 |
|---|---|
| 默认导出格式 | 打开导出弹窗时默认选中的格式 |
| 公式复制格式 | 点击公式时菜单中置顶的格式 |
| 包含时间戳 | 导出默认是否带时间 |
| 导出主题 | PNG / PDF 默认配色(自动跟随系统) |

## 数据与隐私

- 所有导出均在浏览器本地完成,不上传任何内容
- 全会话归档仅在会话已加载时采集其内容,未打开的会话在归档文件中标记为 `skipped`

## 开发

```bash
cd dsh-export-kit
npm install
npm run build   # 构建 client bundle(lib/client.js)+ host 半(lib/index.js)+ 类型产物(lib/types/)
npm test        # 运行单元测试
npm run typecheck
```

## 变更

- 版本变更见 [CHANGELOG.md](./CHANGELOG.md)
- 许可:[LICENSE](./LICENSE) (MIT)

Install

dsh plugin --profile web add github:runfali/dsh-export-kit

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source