PerryLink/dsh-claude-move
dsh-claude-move
Four-source migration wizard for DeepSeek Harness: move Claude Code, Codex, OpenCode and Hermes sessions, memories, skills, instructions and slash commands into DSH (/move wizard + resumable sessions, approval-gated, idempotent).
Install
npx @deepseek-ai/dsh plugin --profile web add "github:PerryLink/dsh-claude-move#master"Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-claude-move)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from PerryLink/dsh-claude-move, cleaned of badges and images.
🚚 dsh-claude-move
- 1024 store channel:
npm i -g dsh1024once, thendsh1024 plugin --profile web add dsh-claude-move(counts toward the deepseek1024.com install ranking).
Migrate Claude Code, Codex, OpenCode and Hermes into DeepSeek Harness — copy sessions, memories, skills, instructions and slash commands as resumable DSH sessions, copy-only and approval-gated.
Keep your Claude Code history when you move: one install, resumable sessions, live sync with a running Claude Code, and a four-source migration wizard.
English · 简体中文 · Español · Português · हिन्दी
⭐ 如果它帮到了你
这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.
Compatibility
- Targets
dsh 0.1.7-rc.2(web profile, session format V4 on the current line); peer dependencies require>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0. Verified 2026-09-24 (checkJs type gate + 291 assertions, 38 suites). Imported logs satisfy the current restore boundary again:tool/resultis written as the V4 first-class tool-role message, and the resume handoff carries a producer-owned message source kind (dsh-claude-move) because 0.1.7-alpha.1 retired the catch-all{ kind: 'plugin', plugin }source in both the type layer and durable-row admission. The panel's "open session" button renders disabled with an explanatory title when the host exposes nosessions.open(). Node^22.19 || >=24.0.1.2-rc.1(adapted 2026-09-04): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. - 0.4.0 ships a dual-baseline
sessionPersistenceruntime shim, feature-detected by API shape (never by version): the legacy API (create/append/readFrom,list()returning headers) and the handle seam (createreturning aSessionHandle,list()/stat()returning snapshots) both work. The handle seam is published on the alpha line (@deepseek-ai/dsh-session-persistence/-jsonl0.1.5-rc.2), so the compat workflow covers it. On the handle path every append is followed byflush()(durability barrier) and a pairedclose()(single-writer ownership); headers are stamped with the backend's current format version plus an explicitisSeeded; missing assistant model sources fall back to the provider. Both write paths are shaped by the format version the backend itself reports: synthesizedassistant/messageevents carrystream: []from format 2 up (the restore boundary assertsArray.isArray(data.stream), so without it a log was written and readable but could not be resumed), andtool/resultis a V4 first-class tool-role message from format 4 up but the v3tool-resultwrapper below it — a log is never written in a shape its own backend would refuse. Import-scan cleanup refuses to run when a listed element'sheader.idcannot be resolved, soimports.jsonis never silently cleared. - Last verified against a fresh tarball install: real scan, real batch import (idempotent re-import), workspace attach and persistence artifacts confirmed; macOS/Linux covered by the CI matrix. Imported logs use the backend's cu
…

