DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Claude2dsh — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

claude2dsh

Claude2dsh

将 Claude Code 会话、技能和插件资源导入 DSH,作为原生可恢复会话,并将 DSH 会话导出或同步回 Claude Code JSONL

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:kirkchinese/claude2dsh#987a53e9fcd4a660b2a1a06d4bc2d3ff2df2c56c
README兼容性版本
Real Claude2DSH first-run migration guide in English, showing language, source directory, subagent option, Preview import, Run import, and Auto mirror defaultsReal Claude2DSH Preview import report in the default Chinese UI, showing one privacy-safe synthetic session ready to importClaude2DSH Settings sections for Auto mirror, Import defaults, and Export or write-back, with safe defaults visibleClaude2DSH Settings sections for the startup hook bridge and session sources, showing one privacy-safe synthetic Claude main session

兼容性与来源证明

Claude2dsh 以 claude2dsh 发布,当前版本为 0.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/17

版本

0.3.0stable
2026/9/17
查看其余 1 个版本收起版本
0.2.0-rc.5prerelease
2026/8/20

相关插件

正在加载相关插件…

最新版
0.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 3
周下载
0
最近提交
2026/9/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

Claude2DSH

Move Claude Code conversations, skills, agents, commands, memory, and MCP servers into DeepSeek Harness as native, resumable sessions — and take DSH turns back to Claude Code JSONL when you need to.

简体中文

Abstract bridge carrying conversation nodes and software assets from an amber source environment into a cyan destination environment

Claude Code is the first source adapter in a multi-tool migration layer. Claude2DSH preserves the useful conversation structure, writes through DSH's native persistence APIs, and keeps the original Claude directory read-only by default.

[!IMPORTANT] 0.3.0 requires DSH >=0.1.5-rc.1 <0.2.0 and no longer starts on 0.1.0-rc.x. DSH 0.1.5 replaced the service-level session API with per-session handles and moved the Session log to format v3; 0.2.x releases predate that change. Upgrade the harness (npm install -g @deepseek-ai/dsh@latest) or stay on claude2dsh@0.2.0-rc.5.

Claude Code assets on the left mapping to DeepSeek Harness surfaces on the right, with the three import types added in 0.3.0 marked

Compatibility table showing DSH 0.1.5-rc.1 and 0.1.6-alpha.1 verified, the rest of 0.1.5 in range, and 0.1.0-rc.x unsupported

Why Claude2DSH

Resume nativelyBring more than chatReturn without risking the source
Claude turns become DSH-native session events that DSH can inspect, replay, and resume.Skills, user-global instructions, project memory, tool-output sidecars, subagent transcripts, and plugin assets have explicit migration paths.Export and sync target a safe copy under $DSH_HOME by default. Concurrent edits pause instead of overwriting either side.

The governing principle is zero-configuration by default: the default path produces a visible result without requiring users to understand profiles or bundles first, while dangerous write-back remains explicitly gated.

flowchart LR
    A["Claude Code JSONL<br/>~/.claude/projects<br/>read-only"] --> B["Claude adapter<br/>discover · parse · normalize"]
    B --> C["Normalized session IR<br/>turns · steps · tools · images"]
    C --> D["DSH event synthesis<br/>native session events"]
    D --> E[("DSH sessions<br/>$DSH_HOME/sessions")]
    E --> F["Export / sync<br/>safe copy"]
    F --> G["Claude Code JSONL<br/>resumable transcript"]
    E --> H["Settings UI + tools<br/>import · export · sync · merge"]

Quickstart

Requirements: Node.js >=22.19.0, pnpm, and the dsh CLI.

# Install the published plugin into DSH's built-in headed profile
dsh plugin --profile web add @claude2dsh/plugin@0.3.0

# Start the browser UI; the terminal prints the local URL
dsh web

Then:

  1. Open the URL printed by dsh web.
  2. On a fresh DSH installation, choose Configure later if the model API-key prompt appears; migration itself does not call a model.
  3. Open Settings → Claude2DSH.
  4. Choose a language, confirm the Claude sessions directory, and optionally include subagent/workflow transcripts.
  5. Click Preview import, inspect the counts and item report, then click Run import.
flowchart LR
    S1["Install plugin<br/>dsh plugin --profile web add ..."] --> S2["Start UI<br/>dsh web"]
    S2 --> S3["Open Settings → Claude2DSH"]
    S3 --> S4["Preview import"]
    S4 --> S5["Run import"]
    S5 --> R["Native DSH sessions<br/>listed in Session sources"]

The first section of Settings → Claude2DSH is the migration guide; Chinese is the default UI language and English is selectable. If port 3080 is already in use, run dsh web --port 0 and open the URL printed by DSH.

Real Claude2DSH first-run migration guide in English, showing language, source directory, subagent option, Preview import, Run import, and Auto mirror defaults

Preview is read-only and returns an itemized plan before any DSH write.

Real Claude2DSH Preview import report in the default Chinese UI, showing one privacy-safe synthetic session ready to import

This is what a successful run looks like. The screenshot comes from a real Claude2DSH UI using a synthetic, privacy-safe Claude transcript.

Real Claude2DSH import result in the default Chinese UI, showing one newly imported synthetic session and zero failures

Repository helper

If you cloned this repository, the helper performs the same install into the main web profile and starts the UI on DSH's default local port (3080):

bash scripts/install-claude2dsh.sh

Set CLAUDE2DSH_PROFILE only when you intentionally want a custom profile. Headless profiles expose the same tools but do not include the browser UI.

Capabilities: when and how to use them

CapabilityUse it whenEntry and visible result
Session importFirst migration, or after the Claude transcript gains turnsSettings → Claude2DSH → First-run migration, or claude2dsh_import; reports previewed/imported/already/appended/skipped/failed
Skill importClaude skills should become DSH-native discoverable assetsclaude2dsh_import_skills; copied skills appear under $DSH_HOME/skills and in DSH skill discovery
Global contextMove user-global ~/.claude/CLAUDE.md into DSH global instructionsclaude2dsh_import_context; previews first and never overwrites a different $DSH_HOME/AGENTS.md
Project memoryMake one project's MEMORY.md and memory/*.md discoverable in DSHclaude2dsh_import_memory; creates one DSH skill bundle per project
Export to ClaudeContinue a DSH session in Claude Codeclaude2dsh_export; writes a validated JSONL copy under $DSH_HOME/claude2dsh/exports
Sync backAppend new DSH turns to an existing exported Claude copyclaude2dsh_sync; reports appended turns, events, and JSONL records
Auto mirrorKeep watching for new Claude turns and mirror DSH turns to the safe copySettings → Auto mirror; claude2dsh_autosync shows status and resumes a paused queue
Conflict mergeBoth sides grew after the watermark and neither version may be lostclaude2dsh_merge; computes or creates a new merged copy rather than changing either original
Tool-output sidecarsA transcript references large persisted tool resultsclaude2dsh_sidecars; lists or resolves copied files and records missing/oversize items
Session sourcesDistinguish Claude main, subagent, and merged sessionsSettings → Session sources, or claude2dsh_session_sources; shows source kind and path
Agent importClaude subagent definitions should keep their instructions in DSHclaude2dsh_import_agents; each becomes the skill with its origin, model, and tool list in frontmatter metadata

A translation is not an equivalence, and the report says so: a Claude subagent becomes a DSH skill rather than a preset, and a Claude slash command becomes a user-invocable skill. The original frontmatter values are preserved in skill metadata so the difference is inspectable.

Session import is idempotent: running it again reports an existing session instead of duplicating it. The default search is recursive and respects CLAUDE_CONFIG_DIR (falling back to ~/.claude/projects), and the first-run guide displays the discovered source root and result counts. Project-level CLAUDE.md is not copied because DSH already reads it natively; only user-global context needs conversion.

Settings tour

The Claude2DSH settings page keeps the first migration and safety-critical defaults in one place:

  • First-run migration — language, source directory, optional subagents, preview, run, and itemized result.
  • Auto mirror — opt-in watcher, debounce, and DSH-to-safe-copy direction.
  • Import defaults — image mode/provider/model, subagent default, and sidecar size cap.
  • Export / write-back — safe-copy target by default; original ~/.claude write-back is a separate dangerous switch.
  • Claude hook bridge — startup-only paths and activation guidance.
  • Session sources — imported session ID, source kind, and source path.

The following real screenshots use the default Chinese UI and synthetic data; labels switch with the language selector.

Claude2DSH Settings sections for Auto mirror, Import defaults, and Export or write-back, with safe defaults visible

Claude2DSH Settings sections for the startup hook bridge and session sources, showing one privacy-safe synthetic Claude main session

Safety model

  • Import treats the Claude source as read-only. Preview performs no DSH write.
  • DSH writes go through host persistence and the DSH-native roots under $DSH_HOME/sessions, $DSH_HOME/skills, and $DSH_HOME/claude2dsh.
  • Export and sync default to $DSH_HOME/claude2dsh/exports; they do not write the original ~/.claude.
  • Writing the original Claude directory requires explicit allowOriginalClaudeDir: true authorization and remains refused by default.
  • Plugin inventory reads assets without executing plugin code.
  • Auto mirror pauses on concurrent growth. The explicit merge tool creates a new safe copy instead of guessing which side wins.

Current limitations

  • Harness range: 0.3.0 supports DSH >=0.1.5-rc.1 <0.2.0 and refuses to load outside it. Interfaces and on-disk formats are still not presented as a stable compatibility promise; a future Session format change will need a matching plugin release.
  • Hook bridge: the upstream bridge supports 7 of Claude Code's 30 hook events, only type: "command" handlers, and partial semantics per supported event. Full hook compatibility is a roadmap goal, not a current claim.
  • Vision acceptance: the native image path is implemented, but it has not been accepted against a real vision-capable DSH model route. The shipped DeepSeek adapter declares text-only input.
  • Auto mirror: it is opt-in and off by default. It writes DSH turns only to the safe Claude export copy; when both sides grow, it pauses and reports a conflict. Automatic merge is not implied.
  • Plugin compatibility: inventory and selected assets can migrate, but arbitrary Claude plugin runtime behavior is not automatically portable to DSH.
  • Source adapters: Claude Code is currently the only adapter. Codex and other tools remain roadmap work.
  • Session-list decoration: DSH has no per-session sidebar-row extension point, so source identity is shown in Settings and through claude2dsh_session_sources instead.

FAQ

I installed the plugin but cannot see a UI.

You probably used a headless profile. Install into the built-in web profile and start dsh web; the page is under Settings → Claude2DSH.

Will it write my real ~/.claude?

Not during migration. Export and sync also target a safe copy under $DSH_HOME by default. Original-directory write-back requires a separate explicit authorization.

Why are Auto mirror and the hook bridge off by default?

Both can execute work after the first import. They stay opt-in so the user sees and accepts their scope first; the hook bridge is also limited to the documented 7/30 command-only subset.

Sibling project

Claude2DSH is part of a small family of DSH plugins by the same author for people who work across several agent tools:

  • CiteCiter — citation and evidence management for DSH sessions. Where Claude2DSH moves a whole conversation between harnesses, CiteCiter keeps the sources behind an answer traceable and quotable. Both plugins follow the same rules: public DSH extension points only, nothing written into a foreign tool's directory without explicit authorization, and a real-profile acceptance run before every release.

If you migrated a Claude Code corpus into DSH, CiteCiter is the natural next install for the sessions that end up citing documents.

License and acknowledgements

MIT. The project was designed independently and benefited from the published work of dsh-chat-import (MIT) and dsh-claude-move (Apache-2.0); thanks to both projects for useful reference points. Hook compatibility delegates to the official DeepSeek Harness Claude Code hook bridge package.

~/.claude/agents/*.md
cc-agent-<name>
Command importClaude slash commands should stay human-invocable in DSHclaude2dsh_import_commands; commands/<ns>/<name>.md becomes cc-cmd-<ns>-<name> with disable-model-invocation: true, so a human prompt never enters the model catalog
MCP server importClaude MCP servers should reach DSH without retyping their configurationclaude2dsh_import_mcp; reads ~/.claude.json and a project .mcp.json, and with apply:true writes a dsh-mcp-client patch layer plus the exact dsh --patch command. SSE servers are reported unsupported
Plugin inventoryInspect Claude plugin assets without running Claude plugin codeclaude2dsh_plugin_inventory; dry-run reports skills, commands, agents, prompts, hooks, and marketplaces; apply:true also translates a plugin's agents/ and commands/
Image policyPreserve transcript images while respecting the selected model's modalitiesimageMode: "auto" follows the current DSH session route; leave the probe provider/model fields empty to follow the live session, or set them to override. The Settings page shows the current probe conclusion, and every import item records the degradation/upgrade reason.
Hook bridgeReuse the supported subset of Claude command hooksSettings → Claude hook bridge scans Claude settings and plugin hooks read-only, previews mappable command hooks, and can save a candidate for the next boot; unsupported types are reported and skipped