DeepSeek Harness plugin

dsh-plugin-claude-import

Import Claude Code sessions into DeepSeek Harness: agent tools (claude_session_list / claude_session_import) plus a Web GUI one-click import dock.

Jump to install

Source facts

Repository
changhang155/dsh-plugin-claude-import
Latest update
Aug 15, 2026
Category
Workflow & Automation
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/changhang155/dsh-plugin-claude-import
Plugin: dsh-plugin-claude-import
Author: changhang155

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-plugin-claude-import

Import Claude Code sessions (~/.claude/projects/*.jsonl) into DeepSeek Harness as continuable context — an auto-summary chain, the last task, the file footprint, and the tail state — rather than an event replay.

The plugin is the DSH-native port of claude-code-to-dsh (a zero-dependency Python CLI that produces the same seed / markdown documents).

Features

  • Agent tools (host half):

- claude_session_list — list sessions under ~/.claude/projects (id / project / title / mtime / size / message stats). - claude_session_import — import one session as a seed context block (paste-ready for a new session) or a full markdown continuation document; with createSession=true it creates a new DSH session in the Claude session's project directory and delivers the context as its first message.

  • Web GUI (client half): a "Claude 导入" action in the conversation header — enter a session id (empty = most recent) and the plugin creates a new DSH session, opens it, and seeds the import instruction.

Requirements

  • dsh0.1.0-rc.6 (npm: npx @deepseek-ai/dsh web), Node.js ≥ 18.
  • A local Claude Code installation with sessions under ~/.claude/projects (the plugin reads them from the dsh host process).

Installation

One command (bundle flow, recommended)

dsh plugin --profile web add dsh-plugin-claude-import

The package declares dsh.bundle, so dsh plugin links it, appends it to the profile's bundles, and applies its patch layer (which inserts the plugin row). Restart dsh web and verify:

dsh --profile web --dump-config | grep claude

Manual (into an existing profile)

cd ~/.dsh/profiles/web
pnpm add dsh-plugin-claude-import

Then register the row in ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: claude-import
      name: 'dsh-plugin-claude-import'

Restart dsh web.

From GitHub

No build step is required (plain JS), so a git install works without a prepare script:

dsh plugin --profile web add github:changhang155/dsh-plugin-claude-import#<sha>

If pnpm refuses to run scripts, allow the build in the profile's pnpm-workspace.yaml (allowBuilds: dsh-plugin-claude-import: true) and re-run the add.

Peer dependencies

The plugin uses @deepseek-ai/cordis, @deepseek-ai/dsh-tools, @deepseek-ai/dsh-host-apiproxy, and @deepseek-ai/schemastery as peers, resolved from the dsh installation. When installing into a fresh profile, ensure those are present (the web profile already bundles them; a bare profile may need pnpm add of the peers or symlinks to the dsh install's node_modules/@deepseek-ai).

Usage

From the agent: ask for the list, then import:

请列出 Claude Code 的历史会话。
把会话 <id> 导入为 seed,并在其项目目录下新建一个 DSH 会话。

The tool claude_session_import accepts:

parametermeaning
sessionId8-char prefix, full id, or a full .jsonl path
formatseed (default) or markdown
createSessioncreate a new DSH session in the Claude project dir and deliver the context as its first message

From the Web GUI: click Claude 导入 in the conversation header, optionally type a session id, and press 导入. A new session is created and opened; its agent reports the title, touched files, and open threads.

Compatibility

DeepSeek Harness is in developer preview — compatibility-breaking changes are expected. This plugin targets the 0.1.0-rc.6 npm line (peer ranges use ^0.1.0-rc.6). If a later rc breaks the client contract (window.__ModuleLoader__ / slot injection), update the plugin or pin your dsh version.

The import is heuristic: session titles come from Claude's ai-title / summary rows; the "touched files" list only covers Write/Edit (and Read) tool calls; local-command-mode sessions (mostly command injection) are detected and annotated rather than misread as conversation.

Development

git clone https://github.com/changhang155/dsh-plugin-claude-import
cd dsh-plugin-claude-import
npm test            # node --test tests/ (no dependencies)
node --check lib/index.js lib/client.js lib/parse.js

Layout:

  • lib/index.js — host half: registers the two agent tools (defineTool from @deepseek-ai/dsh-tools).
  • lib/client.js — client half: the Web GUI dock (loaded via the client runner).
  • lib/parse.js — pure-Node Claude Code JSONL parser (no dependencies).
  • cordis.patch.yml — the bundle patch layer that activates the plugin.

License

MIT — see [LICENSE](LICENSE). Mark the repository with the dsh-plugin topic for discoverability.