Skip to content
dsh.fish
Bundle

dsh-memory-porter

记忆搬家:把 Claude / ChatGPT / Claude Code 的历史记忆搬进 DeepSeek Harness —— 带逐字证据,逐条批准 | Move your Claude & ChatGPT memory into DeepSeek Harness (DSH), with verbatim evidence and one-by-one approval

Source
Shiye-10Pages
stars
2 stars
License
MIT
Updated
Updated 10 days ago

Readme

# 记忆搬家 · dsh-memory-porter

> 号可以没,记忆不能没。

把你锁在 Claude / ChatGPT 账号里的历史记忆,搬进 **DeepSeek Harness**——带逐字证据,你逐条批准。

[English](README.en.md) · 社区插件,与 DeepSeek 官方无关。

![记忆搬家](assets/social-preview.png)

---

## 这个插件解决什么

DSH 生态里已经有很多记忆插件,它们解决的是**「从今天起记住」**。

没有一个解决:**「我过去两年在 Claude 和 ChatGPT 里攒的东西怎么办」**。

- **Claude 账号说没就没**——而你所有让它「懂你」的积累,全锁在那个账号里
- **换平台 = 从零开始**——两年几千次对话里的偏好、结论、踩过的坑,一次清零
- 少有人知道:**本机 `~/.claude/projects` 的对话记录,在账号没了之后依然在你硬盘上**

记忆搬家把这些捞出来,提炼成带**逐字原文证据**的记忆,经你确认后交给 DSH 随时召回。

> 已经装了别的记忆插件?**它们负责「从今天起记住」,本插件负责「把过去搬进来」**——
> 支持导出为通用 Markdown / JSONL,直接喂给它们。

## 支持的来源

| 来源 | 通道 | 是否需要导出 | 验证状态 |
|---|---|---|---|
| **Claude 云端记忆** | 导出内 `memories.json` | 需要导出 | ✅ 真实导出验过(**零 token**,已是结论无需提纯) |
| **Claude Code**(本机) | 直读 `~/.claude/projects` | 免导出,一键扫描 | ✅ 真实数据验过 |
| **claude.ai**(网页 / 桌面) | 账号级官方导出 `conversations.json` | 需要导出 | ✅ 真实导出验过 |
| **ChatGPT**(网页 / 桌面) | 账号级官方导出 `conversations.json` | 需要导出 | ⚠️ **按官方格式实现,尚未用真实导出验证过** |

> ⚠️ **关于 ChatGPT 连接器**:解析逻辑是按 ChatGPT 官方导出格式(树状 `mapping`)写的,
> 也有单元测试覆盖,但**作者手上还没有真实的 ChatGPT 导出文件可供端到端验证**。
> 如果你的导出解析失败或结果不对,请提 issue 并附上格式说明(**不要附带你的对话内容**),
> 会尽快修。不想含糊其辞,所以在这里写明。

## 三步拿到你的导出

搬家最主要的入口依赖一份官方导出。摩擦全在这一步,所以写清楚:

**Claude(claude.ai)**

1. 网页登录 → 左下角头像 → **Settings** → **Privacy** → **Export data**
2. 等邮件(几小时到一天),点邮件里的链接下载 zip
3. 解压,把**文件夹路径**填进面板「搬家」页第一栏

解压后你会看到 `conversations.json`(历史对话)和 **`memories.json`**(Claude 记着的关于你的一切)。
后者是零成本通道,导入瞬间完成。

**ChatGPT**

1. 网页登录 → 右上角头像 → **Settings** → **Data controls** → **Export data**
2. 等邮件,下载 zip
3. 解压,把文件夹路径填进同一栏

> 只想先看看不用等邮件?装完直接点「看看本机还剩多少」——
> `~/.claude/projects` 里的 Claude Code 对话**在账号没了之后依然在你硬盘上**,免导出直接读。

## 安装

```bash
dsh plugin --profile web add dsh-memory-porter
```

**不需要配任何 API Key**——提纯直接借用你在 DSH 里已经配好的模型。

装好后**侧边栏底部**(「设置」齿轮上面那一排)多一行 📦 记忆搬家,点开就是面板:
**搬家 / 待确认 / 记忆库** 三页。会话头部也有一个小徽章作为次要入口。
模型能直接调 `recall_memory` 工具召回,检索全程本地(BM25,不需要嵌入模型)。

## 三条硬规矩

1. **无逐字证据不入库。** 每条记忆必须带原文证据,缺失即拒收——而且证据是**由代码回原文逐字核对**的,不是信模型自述。核不上就丢,被挡下的条数如实告诉你。
   证据还分两级:逐字出自**你自己的发言**才走常规入库;只在 **AI 的回复**里找到的(多半是 AI 在准确复述你)仍然收,但**一律推进待确认**并注明——它是归纳,不是你的原话。
2. **AI 推断的绝不自动入库。** Claude 云端记忆这类模型归纳出来的东西,全部进待确认队列。
3. **数据在你自己机器上。** 记忆库是 `~/.dsh/memory-porter/` 下的 JSONL,无遥测、无账号、无云同步。

## 什么会自动入库,什么要你看一眼 —— 你自己定

每条记忆都挂着**入库依据**,面板和导出里都能看到,不做黑箱:

| 依据 | 含义 |
|---|---|
| 自动入库 · 置信达标 | 来源可信、证据扎实,直接进库 |
| 自动入库 · 多源印证 | 同一结论在多处说过,已合并并提升置信度 |
| 待确认 · AI 推断 | 来自 Claude 云端记忆,是模型的归纳而非你的原话 |
| 待确认 · 高影响 | 动到了钱、方向或资源 |
| 待确认 · 与已有记忆冲突 | 和库里旧结论同主题但不同,**谁对由你判,插件不替你决定** |
| 待确认 · 置信不足 | 低于阈值 |

松紧三档,`cordis.yml` 里改 `reviewMode`,面板上也能切:

```yaml
- id: memory-porter
  name: dsh-memory-porter
  config:
    reviewMode: balanced   # strict | balanced | trusting
    scanLimit: 100         # 单次扫描的会话数上限,也是成本闸
```

- **`strict` 逐条确认**:一条都不自动入库。最稳,队列会长。
- **`balanced` 默认**:只有上表里「待确认」那四类才拦你。
- **`trusting` 省事**:只有 AI 推断和冲突才拦你。

> 说明白一件事:默认档下,**Claude / ChatGPT 网页导出的记忆置信度正好卡在自动入库的线上**
> (来源可信 0.60 × LLM 抽取 0.75 = 0.45,等于阈值,判据是「小于才拦」)。
> 这是有意的取舍——搬家的量通常很大,全塞进队列没人看得完。想更保守就切 `strict`。

## 花多少钱

提纯要把对话原文发给模型,**开跑前面板先给你预估**,确认了才跑。

实测参考:agentic 会话约 1.3 万 tokens/个。按默认上限 100 个会话算,
一次搬家约 **¥2.5(空闲时段)~ ¥5(高峰时段)**。普通网页聊天会短很多。

`memories.json` 走的是零成本通道——它已经是结论,不过模型。

> ⚠️ 但**提纯会把对话原文发给你在 DSH 里配置的模型服务商**——这一步会出本机。
> 扫描、检索、导出全程本地。开跑前面板会先给出预估 token 与费用。

## 许可证

MIT

Install

dsh plugin --profile web add github:Shiye-10Pages/dsh-memory-porter

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