Chang-Tong/dsh-import-agents

Import pi / opencode / codex / claude-code sessions, chat history, and agents into DeepSeek Harness — one-clic

dsh-import-agents imports sessions, chat history, and agents from pi, opencode, codex, and claude-code into DeepSeek Harness: imported sessions appear in the session list and resume with the full conversation history (text, reasoning, tool calls) as context; pi agents / mode prompts and opencode agents become discoverable dsh skills under $DSH_AGENTS_HOME/skills with provenance recorded in frontmatter; a one-click Sync button in the composer tool row runs /import-all; a migration prompt appears on session start while unimported history exists (per-project decisions remembered). Imported sessions attach to a workspace matching their original cwd, ids are stable (pi-<uuid> / oc-<id> / codex-<id> / claude-<id>) so re-imports skip existing entries, and /attach-workspaces retro-fits existing imports.

Agent Capabilities ★ 10 updated 2026-08-29 ⏳ pending
View on GitHub ↗

Install

dsh plugin --profile web add dsh-import-agents

The plugin is published on npm as dsh-import-agents and declares a dsh.bundle, so the official one-command installer activates it automatically — dsh plugin --profile web add dsh-import-agents installs the package and appends it to the profile's bundle list (no manual config), then restart dsh web and refresh the page. Other sources supported: npm exact/range (@0.2.4, @^0.2), GitHub (github:Chang-Tong/dsh-import-agents#<sha>), git+https URL, local checkout (dsh plugin --profile web add .), dev link, or tarball.

Compatibility

DeepSeek Harness (dsh) with the web profile; Node >= 22.19 (same baseline as dsh — uses node:sqlite and zstd via node:zlib). Zero runtime dependencies: Node built-ins plus dsh platform modules. Imports from pi (JSONL), opencode (SQLite), codex (JSONL), and claude-code (JSONL).

Details

Recent updates

The current README documents the four import sources, resumable sessions, agent-to-skill conversion, Sync button, migration prompt, workspace placement, idempotency, architecture (node:zlib zstd, node:sqlite), the FAQ (idempotency, missing tool results, migration nags, refresh after restart, Node version), and the full install-source table.

FAQ

Why does Sync say "new imports 0, skipped N"?
Idempotency working as intended — those sessions were imported before, so they are skipped; nothing is duplicated.
Are tool call results preserved?
The source formats store only the calls, not results; imports keep calls as tool-call blocks with placeholder tool/result events, so trajectory renders cards and resumed requests stay API-legal.
Will it keep asking me to migrate?
Only while unimported sessions exist, and only per project — once you decline or an import completes, the decision is remembered in $DSH_HOME/import-pi-opencode-state.json.

Alternatives

omdsh-dev/dsh-at-file · omdsh-dev/dsh_workflow · w2112515/dsh-plugin-development

More plugins in Agent Capabilities

Browse more in Agent Capabilities

Guides for Agent Capabilities plugins