🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

对话历史导入 Slowdownnn/dsh-read-history

DeepSeek Harness
Slowdownnn82 天前有提交已提供中文文档扫描:含敏感能力

把 Claude 与 Codex 的历史会话导入 DSH 查看

26.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Slowdownnn/dsh-read-history
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/08·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 82 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 11 条)
  • 读取本地文件
    lib/index.js:79
    entries = readdirSync(dir);
  • 读取本地文件
    lib/index.js:87
    st = statSync(full);
  • 读取本地文件
    lib/index.js:125
    for (const folderName of readdirSync(cfg.claudeRoot)) {
  • 读取本地文件
    lib/index.js:129
    st = statSync(folder);
  • 读取本地文件
    lib/index.js:134
    for (const file of readdirSync(folder)) {
  • 读取本地文件
    lib/index.js:139
    const { meta, messages, errors } = parseClaudeJsonl(readFileSync(full, "utf8"), { includeThinking: cfg.includeThinking });
  • 写入本地文件
    lib/index.js:180
    mkdirSync(cfg.targetDir, { recursive: true });
  • 写入本地文件
    lib/index.js:245
    writeFileSync(join(cfg.targetDir, INDEX_FILE), JSON.stringify(index, null, 2), "utf8");
  • 发起网络请求
    lib/client.js:65
    const res = await fetch(url, {
  • 读取本地文件
    test-parse.mjs:9
    const claudeText = readFileSync(claudeFile, "utf8");
  • 读取本地文件
    test-parse.mjs:17
    const codexText = readFileSync(codexFile, "utf8");
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 导入Claude会话历史
  • 导入Codex会话历史
  • 迁移对话记录到DSH

迁移claude/codex的对话历史到dsh

README

由 DeepSeek 最新模型翻译生成
dsh-read-history 把 Claude Code 与 Codex CLI 的历史对话导入 DeepSeek Harness (DSH): - 每个历史会话 → 一个原生 DSH 会话:出现在左侧对应工作区的会话列表里(与现有会话并列),点击即可查看完整历史(用户/助手消息、轮次结构、标题),就像它们本来就是 DSH 的会话。 - 入口在「设置」页:新增「对话历史导入」设置区块(settings.section 插槽),提供导入按钮、导入状态与已导入会话列表。 安装 从 npm 安装(发布后) 安装到 web profile(pnpm 通过 corepack 提供) dsh plugin --profile web add dsh-read-history 本地开发 / 从源码安装 本地路径安装(用于开发调试) dsh plugin --profile web add D:\code\dsh-read-history 安装后在 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 注册: cordis.patch.yml: - insert: - id: read-history name: 'dsh-read-history' config:
展开完整文档(README 剩余 1 节)
dsh-read-history

把 Claude Code 与 Codex CLI 的历史对话导入 DeepSeek Harness (DSH):

- 每个历史会话 → 一个原生 DSH 会话:出现在左侧对应工作区的会话列表里(与现有会话并列),点击即可查看完整历史(用户/助手消息、轮次结构、标题),就像它们本来就是 DSH 的会话。
- 入口在「设置」页:新增「对话历史导入」设置区块(settings.section 插槽),提供导入按钮、导入状态与已导入会话列表。

安装

从 npm 安装(发布后)

安装到 web profile(pnpm 通过 corepack 提供)
dsh plugin --profile web add dsh-read-history

本地开发 / 从源码安装

本地路径安装(用于开发调试)
dsh plugin --profile web add D:\code\dsh-read-history

安装后在 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 注册:

cordis.patch.yml:

- insert:
- id: read-history
name: 'dsh-read-history'
config:
claudeRoot: '' # 默认 ~/.claude/projects codexRoot: '' # 默认 ~/.codex/sessions includeThinking: false autoImport: false # 不开启自动导入(幂等)

⚠️ host 端代码(lib/index.js、lib/convert.js)改动需要重启 dsh web; client 端(lib/client.js)no-cache 实时服务,刷新浏览器即可。

使用方法(通过设置页导入)

安装并重启 dsh web 后,按下面的步骤导入历史会话:

1. 打开 DSH Web 界面(默认 http://127.0.0.1:3080)。
2. 点击左侧边栏底部的 「设置」 图标,进入设置页。
3. 在设置页里找到 「对话历史导入」 区块(标题下方有说明文字)。
4. 点击 「导入 Claude」 或 「导入 Codex」 按钮,分别导入对应工具的历史会话:
- 只导 Claude Code 的历史 → 点 「导入 Claude」
- 只导 Codex CLI 的历史 → 点 「导入 Codex」
- 两个按钮各自独立,导入期间按钮会显示「导入中…」并暂时禁用。
5. 等待导入完成,区块里会显示结果:
- 成功卡片:显示本次创建了多少个 DSH 会话(如「导入完成:创建 12 个 DSH 会话」)。
- 统计行:上次导入时间、累计创建/跳过/失败会话数。
- 已创建的会话列表:每个会话显示标题、所属工作区、轮次数与 DSH 会话 id。
6. 回到左侧边栏,在对应的工作区下就能看到导入的会话(与现有会话并列),点击即可查看完整历史(用户/助手消息、轮次结构、标题)。

提示:
- 导入是幂等的——同一个会话重复导入会自动跳过,不会产生重复。
- 导入的会话会出现在与其原始工作目录(cwd)匹配的工作区里,而不是「未分组」。
- 想同时清掉某次的导入?没有内置「撤销」,但可以直接删除对应工作区下的会话。

工作原理

1. 扫描解析:读取 ~/.claude/projects//.jsonl、~/.codex/sessions//.jsonl。
2. 转换为 DSH 会话(lib/convert.js):每个历史会话先 sessions.prepare() 构造、直接写入持久化(sessionPersistence.create + append),不进入实时 store,因此不占内存、重启不会复活;标题以 session/title 事件写进日志;
workspaceRegistry.create(cwd)(按 cwd 复用或新建工作区)+ attachSession() 挂到对应工作区,
因此每个历史会话都会出现在与其 cwd 相同的工作区里,而不是落到「未分组」。
幂等:按派生 id(session-<源会话id>)查重(一次 sessionPersistence.list() 缓存成集合,O(n) 而非逐行 O(n²)),重复导入自动跳过。
3. 内容清洗(lib/parse.js):过滤 Claude/Codex 注入的噪声——斜杠命令(/clear、/compact 等)、 <command-name>/<local-command->/<bash->/<system-reminder>/<environment_context>/<instructions>/ AGENTS.md 与 Codex Desktop 审批脚手架(TRANSCRIPT DELTA、APPROVAL REQUEST 等),只保留真实的人机对话。

API(同源,设置面板调用)

| 方法 | 路径 | 说明 |
| GET | /dsh-history/api/status | 状态(目录、上次导入时间、统计) |
| POST | /dsh-history/api/import | 执行导入(幂等;body 可带 {"tool":"claude"|"codex"} 只导入单一来源) |
| GET | /dsh-history/api/imported | 累积已导入会话清单 |
预览分享卡片长什么样 ↓Slowdownnn/dsh-read-history
分享 · DeepSeek Harness Hub
Slowdownnn/dsh-read-history

把 Claude 与 Codex 的历史会话导入 DSH 查看

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部