OpenClaw → DeepSeek Harness 迁移插件:把人格核心、日记记忆和会话历史导入 DSH
26.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kagura-chen/dsh-migrate-openclaw该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 60 处,展示前 28 条)
- 读取本地文件src/index.js:90
entries = readdirSync(dir, { withFileTypes: true }); - 读取本地文件src/index.js:101
out.push({ path: full, name: entry.name, size: statSync(full).size }); - 读取本地文件src/index.js:152
text = readFileSync(path, "utf8").slice(0, MAX_READ_BYTES); - 读取本地文件src/index.js:547
exists: existsSync(dir) && statSync(dir).isDirectory(), - 读取本地文件src/index.js:547
exists: existsSync(dir) && statSync(dir).isDirectory(), - 读取本地文件src/index.js:572
if (existsSync(candidate) && statSync(candidate).isFile()) { - 写入本地文件src/index.js:1056
copyFileSync(target, backupPath); - 写入本地文件src/index.js:1066
mkdirSync(dirname(target), { recursive: true }); - 写入本地文件src/index.js:1067
writeFileSync(target, assembled); - 发起网络请求src/client.js:221
const res = await fetch(API + path, { - 读取本地文件.selftest-client.mjs:13
const src = readFileSync(new URL("./src/client.js", import.meta.url), "utf8"); - 读取本地文件.selftest-e2e.mjs:14
const src = readFileSync(new URL("./src/index.js", import.meta.url), "utf8"); - 写入本地文件.selftest-e2e.mjs:37
for (const d of [join(srcDir, "memories"), join(srcDir, "sessions"), wsCurrent, wsOldest]) mkdirSync(d, { recursive: true }); - 写入本地文件.selftest-e2e.mjs:39
writeFileSync(join(srcDir, "memories", "约定.md"), "---\ntitle: 约定\ntags: [a]\n---\n# 约定\n\n内容\n"); - 写入本地文件.selftest-e2e.mjs:40
writeFileSync(join(srcDir, "sessions", "alpha.jsonl"), [ - 写入本地文件.selftest-e2e.mjs:45
writeFileSync(join(srcDir, "sessions", "beta.jsonl.gz"), gzipSync([ - 写入本地文件.selftest-e2e.mjs:50
writeFileSync(join(srcDir, "IDENTITY.md"), "# IDENTITY.md - Who Am I?\n\n- **Name:** Kagura\n"); - 写入本地文件.selftest-e2e.mjs:51
writeFileSync(join(srcDir, "SOUL.md"), "# SOUL.md\n\nBe genuinely helpful.\n"); - 读取本地文件.selftest-e2e.mjs:73
if (!existsSync(target)) return []; - 读取本地文件.selftest-e2e.mjs:74
return readdirSync(target, { withFileTypes: true }).map((e) => ({ name: e.name, type: e.isDirectory() ? "dir" : "file" })); - 读取本地文件.selftest-e2e.mjs:154
check(existsSync(join(wsOldest, "memory", "约定.md")), "memory file written under fallback cwd"); - 读取本地文件.selftest-e2e.mjs:155
check(existsSync(join(wsOldest, "memory", "index.md")), "memory index written under fallback cwd"); - 读取本地文件.selftest-e2e.mjs:163
check(existsSync(join(wsCurrent, "memory", "约定.md")), "memory file written under sessionId cwd"); - 删除本地文件递归.selftest-e2e.mjs:236
rmSync(root, { recursive: true, force: true }); - 读取本地文件.selftest.mjs:7
const src = readFileSync(new URL("./src/index.js", import.meta.url), "utf8"); - 写入本地文件.selftest.mjs:90
mkdirSync(memDir, { recursive: true }); - 写入本地文件.selftest.mjs:92
writeFileSync(join(memDir, "README.md"), "# 测试 README\n\n内容"); - 写入本地文件.selftest.mjs:95
writeFileSync(join(memDir, ".memtest.md"), memText);
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 导入人格核心
- 导入日记记忆
- 导入会话历史
README
由 DeepSeek 最新模型翻译生成dsh-migrate-openclaw
OpenClaw → DeepSeek Harness 迁移插件:扫描 OpenClaw 数据目录,把长期记忆和会话历史搬进 DSH。
装在 dsh web profile 上,设置页出现「dsh-migrate-openclaw」卡片,全程浏览器操作,无需命令行。
功能
| 内容 | 迁移后去向 | 保真度 |
| 人格核心(IDENTITY.md/SOUL.md/USER.md/AGENTS.md/MEMORY.md) | ~/.dsh/AGENTS.md(DSH 全局指令层,所有 workspace 的会话自动注入) | 原样合并 + 环境适配头 |
| 记忆(memories/.md 或 memory/.md) | 当前工作区 memory/.md + 自动生成的 memory/index.md 索引 | 无损(本质就是 Markdown) |
| 会话(sessions/.jsonl,OpenClaw 事件格式 或 Claude Code SDK 格式) | DSH 原生会话日志(sessionPersistence 写入),查询引擎可检索 | 文本消息 100%;toolCall→tool-call、thinking→reasoning 尽量映射;token 用量/推理细节不还原 |
展开完整文档(README 剩余 1 节)
dsh-migrate-openclaw
OpenClaw → DeepSeek Harness 迁移插件:扫描 OpenClaw 数据目录,把长期记忆和会话历史搬进 DSH。
装在 dsh web profile 上,设置页出现「dsh-migrate-openclaw」卡片,全程浏览器操作,无需命令行。
功能
| 内容 | 迁移后去向 | 保真度 |
| 人格核心(IDENTITY.md/SOUL.md/USER.md/AGENTS.md/MEMORY.md) | ~/.dsh/AGENTS.md(DSH 全局指令层,所有 workspace 的会话自动注入) | 原样合并 + 环境适配头 |
| 记忆(memories/.md 或 memory/.md) | 当前工作区 memory/.md + 自动生成的 memory/index.md 索引 | 无损(本质就是 Markdown) |
| 会话(sessions/.jsonl,OpenClaw 事件格式 或 Claude Code SDK 格式) | DSH 原生会话日志(sessionPersistence 写入),查询引擎可检索 | 文本消息 100%;toolCall→tool-call、thinking→reasoning 尽量映射;token 用量/推理细节不还原 |
| 会话(可选 Markdown 存档) | 工作区 archive/openclaw/*.md | 人读全文 |
| 配置 / 插件 | 仅扫描报告,不迁移(格式不通用) | — |
会话导入后落在持久化存储(~/.dsh/sessions/…),Web 会话列表只显示当前活跃会话,导入的历史会话不会自动出现(见已知限制)。
为什么分层导入(人格 → 全局层)
OpenClaw 里一个 agent 的"默契"主要由 workspace 的 SOUL.md(人格/语气)、IDENTITY.md(身份)、USER.md(人类模型)、AGENTS.md(操作纪律)、MEMORY.md(长期记忆)承载,它们在每个会话开始注入。DSH 的等价位置是 ~/.dsh/AGENTS.md——DSH 的 dsh-agent-instructions 会在每个 workspace 的会话开始注入它(与 OpenClaw 的 bootstrap 行为一致)。所以人格核心放到全局层,迁移后 kagura 活在所有 workspace;日记类记忆进工作区 memory/ 供按需检索。
安装
dsh plugin --profile web add /path/to/dsh-migrate-openclaw
然后在 $DSH_HOME/profiles/web/cordis.patch.yml 追加:
- insert:
- id: openclaw
name: 'dsh-migrate-openclaw'
config:
默认扫描的源目录(界面可临时改) defaultSourceDir: '~/.openclaw' 单次会话导入上限 maxSessionsPerImport: 200
配置 HMR 实时生效,无需重启。
使用
1. 打开 dsh Web → 设置 → 插件配置 → dsh-migrate-openclaw。
2. 确认源目录(默认 ~/.openclaw;跨机器迁移时指向拷贝过来的导出目录)。
3. 扫描 → 查看发现了多少记忆/会话/人格核心。
4. 导入人格 → ~/.dsh/AGENTS.md → 人格核心写入 DSH 全局指令层,所有 workspace 的新会话自动注入。
5. 导入记忆 → 日记进入工作区 memory/,索引 memory/index.md 生成。
6. 导入会话 → 历史会话写入 DSH 会话库;勾选「同时生成 Markdown 存档」则在 archive/openclaw/ 留一份人读全文。
7. 结果卡片回报成功/跳过/失败明细(失败可定位到具体文件)。
导入后 DSH agent 即可读取 memory/index.md 检索日记记忆;人格与长期记忆已在每个会话开始时自动注入。
跨机器迁移(OpenClaw 与 DSH 不在同一台机器)
OpenClaw 侧无需安装任何东西:
在 OpenClaw 机器上 openclaw memories export # 若有该子命令;或直接:
tar czf openclaw-export.tgz -C ~ .openclaw
把 openclaw-export.tgz(或解压目录)传到 DSH 机器(scp/rsync/U盘/网盘),在卡片把「源目录」指向它,其余流程相同。卡片内置「导出指引」可直接查看。
工作原理
- 人格核心:识别源目录(或其 workspace//core//openclaw-core/ 子目录)下的 IDENTITY.md/SOUL.md/USER.md/AGENTS.md/MEMORY.md,按固定顺序聚合(含环境适配头与生成标记),写入 ~/.dsh/AGENTS.md。目标已存在且不含生成标记(即人工编辑过)时先备份为 .bak-。
- 记忆:解析 Markdown(含 frontmatter 的 title/tags,缺失时回退到首个 H1/文件名),经 dsh fs 服务写入工作区(尊重工作区路径规则)。
- 会话:逐行解析 JSONL——OpenClaw 事件格式({type:"message", message:{role, content}}, toolCall/thinking block、compaction/model_change 事件跳过)或 Claude Code SDK 格式
({type, message} 信封/裸消息;.jsonl.gz 自动解压),
把 tool_use/toolCall 映射为 tool-call 块、thinking 映射为 reasoning、 tool_result/toolResult 映射为 tool-result 块,生成连续的 typed 事件日志(turn/start … turn/end),经 ctx.sessionPersistence.create/append 写入——查询引擎按目录扫描自动发现。
落点工作区按优先级取:卡片所在会话的工作区(浏览器自动携带)→ 原 cwd(本机存在时) → 任意已存会话的工作区 → 当前会话工作区。
已知限制
- .jsonl.zstd 会话不导入(扫描会报告但跳过);.jsonl.gz 支持导入,普通 .jsonl 无需处理。
- 会话导入是有损转换:token 用量、模型推理细节、图片附件不还原;续聊时 DSH 使用当前配置的模型。
- 导入的会话不会自动出现在 Web 会话列表:列表只显示当前活跃会话,导入的会话只进入持久化存储,供查询引擎检索;若部署提供历史/恢复入口可从那里加载。
- 重复导入同一目录是幂等的:已导入过的会话会跳过(后端是 append-only,不支持覆盖)。
- 人格核心重复导入会覆盖 ~/.dsh/AGENTS.md(已含生成标记时不备份;人工编辑过先备份)。
- 单次导入上限:记忆 1000 条、会话 200 个(maxSessionsPerImport 可调)。
开发
node --check src/index.js && node --check src/client.js
node .selftest.mjs # 会话转换(SDK + OpenClaw 格式)/记忆解析自测
node .selftest-e2e.mjs # 路由级集成测试(mock ctx + 真实临时文件系统)
License
MIT © 2026 kagura-agent预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kagura-chen/dsh-migrate-openclaw
OpenClaw → DeepSeek Harness 迁移插件:把人格核心、日记记忆和会话历史导入 DSH
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7