Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-chat-import
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Nwflower/dsh-chat-import
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
DSH Chat Import
A session import plugin built on DeepSeek Harness: import conversation history from external agents with one click and continue chatting in DeepSeek Harness.
All sessions, continued in DSH.
Supported Data Sources
Install
Requires dsh ≥ 0.1.5-rc.1
- Install via terminal
dsh plugin --profile web add dsh-chat-import # npm package
- Install via Plugin Marketplace
Usage
- Import conversations via GUI Open the import window from the "Import sessions" button at the bottom of the left sidebar, select the conversations you want to import, and import with one click.
These screenshots also use the author's other theme plugin, DSH Claude Style: it recreates the look and feel of Claude Code Desktop inside DSH. If the default theme is not quite your taste, give it a try.
- Import via Agent tool calls
# Example call formats
import_chat({ format: "claude", path: "~/.claude/projects" })
import_chat({ format: "chatgpt", path: "~/Downloads/chatgpt-export/conversations.json" })
import_chat({ format: "local-jsonl", path: "D:\downloads\session.jsonl" })
Configuration
For TUI compatibility, plugin-provided tools are injected into context by default. You can configure the import tools in Settings to not inject into context or inject partially, which saves a significant amount of tokens.
For full tool / command usage, see docs/USAGE.md.
Features
| Capability | Entry Point | Description |
|---|---|---|
| Import | Sidebar panel "Import" tab | Import conversations from other agents, preserving reasoning, tool call results, and system prompts (optional) |
| Retract Import | Sidebar panel "History" tab | View import history and delete sessions created by this plugin with one click |
| Export | Context tool | Serialize DSH sessions back to external agents |
| Sync | Sidebar panel "Sync" tab | Bidirectional incremental sync between external agents and DSH, off by default |
| Ignore | Automatic + /ignores commands |
Archive / delete / workspace-removal auto-registers the source so rescans and sync skip it; /ignore, /unignore manage the table |
Docs
| Document | Description |
|---|---|
| Usage Reference | Full parameters, examples, and edge cases for every tool / command |
| Interchange Protocol | Interchange v1 protocol and bundle format |
| Settings Migration | DSH 0.1.5 → 0.1.7 plugin settings-page migration (measured errors, compatibility recipe) |
| Changelog | Version history |
| Roadmap | Shipped / planned |
| Contributing | Development setup, commit rules, security & privacy |
Related Links
Only need to migrate configuration (skills, hooks, global settings, etc.) rather than conversation history? Recommended: dsh-movein
Star History
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2092
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
liangmianya/dsh-synapse★ 434
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
ranxianglei/billion-context★ 335
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 119
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Renzic-Stone/DSH-EasyRewrite★ 118
Inline-edit and recall your own user messages in dsh web — lazily and seamlessly, with a version pager and per-session draft persistence.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.