PerryLink/dsh-claude-move

DeepSeek Harness (dsh) plugin: migrate Claude Code sessions, memory, skills and CLAUDE.md into DSH with seamle

dsh-claude-move migrates Claude Code, Codex, OpenCode, and Hermes history into DeepSeek Harness: copy sessions, memories, skills, instructions, and slash commands as resumable DSH sessions, copy-only and approval-gated. claude_scan auto-discovers the Claude data root ($CLAUDE_CONFIG_DIR, fallback ~/.claude) and indexes every project/session, memory, skill, global CLAUDE.md, and settings.json with incremental caching and parallel scanning; import_claude turns transcripts into balanced, resumable DSH sessions (turn/start → step/start → user/message → assistant/message → tool/call → tool/result → step/end → turn/end), repairs interrupted tool calls, and stream-imports transcripts larger than maxTranscriptBytes in chunks. Every imported session lands in a dedicated claudecode workspace ($DSH_HOME/claudecode by default, or per-project grouping). Memories are injected as a live prompt section, Claude skills register as real DSH skills (global + project-level), and global + project CLAUDE.md are injected early. A four-source migration wizard (/move plus move_detect/move_preview/move_run) migrates all four sources, approval-gated and idempotent via move.json.

Skill Packs ★ 6 updated 2026-09-21 ✅ runtime-tested
View on GitHub ↗

Install

dsh plugin --profile web add dsh-claude-move

npm package dsh-claude-move 0.2.7 (registry-verified 2026-08-24). Install: dsh plugin --profile web add dsh-claude-move (or from GitHub: dsh plugin --profile web add github:PerryLink/dsh-claude-move#master). Targets dsh 0.1.1-rc.2 (web profile); peer dependencies require >=0.1.0-rc.8 <0.2.0. Node ^22.19 || >=24. Apache-2.0. README available in English, 简体中文, Español, Português, हिन्दी.

Compatibility

DeepSeek Harness 0.1.1-rc.2 (web profile); peer deps >=0.1.0-rc.8 <0.2.0; Node ^22.19 || >=24. Feature-detected surfaces: sessionPersistence.listSnapshots/readFrom, streamText-capable fs, ctx.jobs, ctx.agents.resume (fallbacks: list(), whole-file read with loud rejection, own job map, handoff inject); client shell services (sessions.refresh/open, workspaces.refresh) feature-detected at panel apply with full-page reload fallback. Newer platform capabilities are never hard requirements — the plugin stays bootable on rc.8. Copy-only: nothing on either side is moved, rewritten, or deleted; re-running appends only new turns (force: true saves an extra full copy under a new id).

Details

Recent updates

The current English README documents: compatibility (target dsh 0.1.1-rc.2, public-seams matrix with fallbacks), what you get (auto-discovery, full-fidelity import, claudecode workspace, copy-only & incremental, personal context, four-source wizard, web panel & commands), the /move wizard flow, and the copy-only/approval-gated migration model.

FAQ

Does migration move or delete anything on the source side?
No — it is copy-only and incremental: nothing on either side is moved, rewritten, or deleted; re-running appends only the new turns.
Where do imported sessions go?
Every imported session lands in a dedicated claudecode workspace (default $DSH_HOME/claudecode); workspaceMode: 'per-project' restores one-workspace-per-project grouping.
Which sources can be migrated?
Four sources — Claude Code, Codex, OpenCode, and Hermes — via the /move wizard (move_detect → move_preview → move_run), approval-gated and idempotent.

Alternatives

somnusovis/dsh-multi-workspace · YYTbit/dsh-plugin-claude-bridge · suntianc/dsh-codex-auth

More plugins in Skill Packs

Browse more in Skill Packs

Guides for Skill Packs plugins