dsh-claude-compat
Bridge Claude Code's .claude/ directories into DSH with zero migration: project and user-level skills, commands, rules (one system-reminder envelope), agent files, hooks (PreToolUse/PostToolUse/UserPromptSubmit/ SessionStart/SessionEnd) and .mcp.json servers, plus Claude Code plugin marketplaces. Sh
Install
dsh plugin --profile web add dsh-claude-compat
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
<p align="center">
<img src="https://img.shields.io/badge/dsh-插件-blue?style=for-the-badge" alt="DSH 插件">
</p>
<h1 align="center">dsh-claude-compat</h1>
<p align="center">
<a href="README.md"><img src="https://img.shields.io/badge/🌐_English-Click_me-red?style=for-the-badge" alt="English"></a>
<img src="https://img.shields.io/npm/dm/dsh-claude-compat?style=flat-square&label=downloads/month&color=brightgreen" alt="npm downloads/month">
<img src="https://img.shields.io/npm/dt/dsh-claude-compat?style=flat-square&label=total%20downloads&color=blue" alt="npm total downloads">
<img src="https://img.shields.io/npm/v/dsh-claude-compat?style=flat-square&label=version&color=blue" alt="npm version">
<img src="https://img.shields.io/badge/license-MIT-orange?style=flat-square" alt="License">
</p>
在 DSH 中复用 Claude Code 配置。
桥接 skills、命令、规则、agents、hooks 与 MCP,并明确说明运行时限制和升级步骤。
10 秒速览
你已经在 Claude Code 里攒了一整套趁手的 .claude/——skills、斜杠命令、rules、agents、hooks、MCP servers。换到 DSH (DeepSeek Harness) 时,你不想把这些全部重新搭一遍。
dsh-claude-compat 就是那座桥。 它读取项目与用户级 Claude 配置,通过 DSH 原生服务暴露支持的内容。技能可在当前会话中重新加载;MCP 与 hook 配置变化需要重启 DSH。
dsh plugin --profile web add dsh-claude-compat@latest dsh web
你的 skills 出现在 / 菜单里,规则注入新会话;/agent-name 通过 DSH 原生 skill 接口加载委派指令。
或用 DSH 自己装(推荐):复制下面这句给 DSH,它会读 skill、自动安装并验证:
请阅读 https://github.com/biedongbin/dsh-claude-compat/blob/main/.claude/skills/install-dsh-compat/SKILL.md 并按步骤安装 dsh-claude-compat 插件。
⭐ 觉得好用?点这里给个 star——它让我们持续改进,也帮更多人找到这个插件。
1.2.0:原生管理与会话接续
侧栏「插件」中的 Claude Code 标签页提供已安装插件、发现插件、插件市场三个管理页,以及历史会话和桥接状态。1.2.0 支持 DSH >=0.2.2-rc.1 且 <0.3.0,推荐使用已验证的 Node.js 24。
- 管理插件与市场:可安装新插件、添加市场、搜索目录,以及启用、禁用、更新或卸载条目。列表默认每页 10 条,可选 10/20/50/100 条。
- 逐项提交操作:每项独立显示排队、执行、结果和取消,其他条目仍可操作;写入同一份 Claude 配置和缓存的任务依次执行。变更通过 Claude CLI 的用户作用域完成,失败原因会显示,成功后刷新技能目录。种子和内联来源只读。
- 空白会话直接使用命令:
/cc-plugin、/cc-resume无参数打开交互管理界面,不经过模型。首条输入就是管理命令时,结果显示在输入框上方;开始正常对话后由聊天视图接管。 - 交给 DSH 阅读历史:会话可搜索和预览,一键恢复仅发送所选源文件路径和简短阅读指令。DSH 按需读取并简述背景、当前任务状态和下一步计划,不内联历史正文。管理页操作会在源项目工作区新建普通 DSH 会话;对话内的
/cc-resume卡片使用当前会话,保留已有对话、目录和模型。 - 导出与刷新:
/cc-export使用会话的有效工作目录,并在桌面版中解析真正的 Node 解释器;两个刷新命令都会等待目录刷新完成,并显示失败原因。
管理页、命令和 claude_compat 工具共用操作服务。界面操作要求已认证的所有者;工具访问用户级 Claude 配置和历史需要完整权限或当次批准。版本变更统一记录在 [1.2.0 更新日志](CHANGELOG.zh-CN.md#120--2026-11-06)。
现有配置升级
1. HTTP MCP 条目显式写 "type": "http"(或 "streamable-http")。只有 URL、SSE 或 WebSocket 的条目会告警并跳过。
2. 除非信任项目,否则保持 mcpTrustProjectConfig: false。默认不运行项目 helper,凭据变量保持字面文本;详见 [MCP 服务器](#mcp-服务器)。
3. 启用前检查项目 hooks:插件没有工作区信任提示。更新后重启 DSH,从启动工作区重新加载 MCP 与 hooks。
更早的配置与旧式归档迁移说明见 [1.1.0 更新日志](CHANGELOG.zh-CN.md#110--2026-11-05)。
一键带过来的东西
Claude Code 里的东西 · 在 DSH 里变成 · 怎么用
skills/**/SKILL.md · DSH skill(目录可加载) · /skill-name、skill 工具、模型目录都能看到
commands/*.md · DSH skill(用户可调) · /command-name 出现在斜杠菜单
rules/*.md · 消息流注入(同 Claude 的 prependUserContext 通道) · 每个新会话自动生效
agents/*.md · 委派 shim skill · /agent-name 按角色调起
.mcp.json、.claude.json、managed-mcp.json · dsh-mcp-client 实例 · stdio / streamable-http 自动翻译
.claude/settings.json hooks · 33 个事件中的 26 个,command、http、mcp_tool、prompt、agent 处理器 · 命令、权限、拦截照旧
~/.claude/plugins · DSH skill(/cc-plugin 管理) · 安装的插件技能一并可用
同一套目录,项目 .claude/ 和用户级 ~/.claude/ 都会读。同名项按固定优先级去重:项目 .claude > DSH 原生 > ~/.claude——项目技能永远覆盖其他副本,用户技能永远不覆盖 DSH 原生。CLAUDE.md / AGENTS.md 由 DSH 内置的 dsh-agent-instructions 处理,本插件不碰。
功能(实现细节)
.claude/ 路径 · 机制 · 行为
skills/**/SKILL.md · DSH skill provider · 仅 name + description 进模型可见目录;正文按需加载(skill 工具)。新增 skill 下次 catalog 刷新即出现,无需重启。
commands/*.md · DSH skill provider · 同上,且用户可直接调用:斜杠菜单里 /command-name 可用。
rules/*.md · 消息流注入 · rules 全文拼接,包 <system-reminder> 信封,每会话一次以 user-role 消息插在消息数组最前 —— 与 Claude Code 同通道(prependUserContext),模型可靠遵循。
agents/*.md · DSH skill provider(委派 shim) · DSH 没有 markdown 子代理格式,因此每个 agent 文件变成 skill,正文开头带显式"以此人设委派子代理"指令。模型与用户均可调用,/agent-name 可用。同名 agent 与 skill 一样按 rank 去重。
managed-mcp.json、managedMcpServers、.claude.json、<projectRoot>/.mcp.json · MCP 服务器 · Claude Code 格式的 MCP 服务器定义按 Claude Code 的优先级读取,并在 DSH 启动时(启动工区)挂载为 dsh-mcp-client 插件实例:command → stdio,type: http → streamable-http。畸形条目或缺少 @deepseek-ai/dsh-mcp-client 时降级为告警,绝不崩溃。见 [MCP 服务器](#mcp-服务器)。
.claude/settings.json → hooks · Hooks · Claude Code hooks,桥接到 DSH 扩展点。见 [Hooks](#hooks)。
~/.claude/plugins(已安装插件) · DSH skill provider · 已安装的 Claude Code 插件市场插件贡献其 skills/commands/agents(读取每个安装的 .claude-plugin/plugin.json 清单,无清单时回退目录扫描),rank 750 —— 长尾:project .claude、DSH 原生、~/.claude 在同名冲突时全部优先。插件的 MCP 服务器(清单 mcpServers)仅在显式开启 enablePluginMcp 后挂载 —— 挂载第三方 MCP 比列出 skills 信任门槛更高。
同类目录同样读取用户级 ~/.claude/(skills、commands、rules、agents 与 ~/.claude/settings.json hooks)。同名 skill/command/rule/agent 去重,优先级固定:
项目 .claude > DSH 原生(.dsh)> ~/.claude
- 项目
.claude条目 rank=50;DSH 自身 skills —— 项目.dsh根、.agents根与 bundled skills(rank=100–600,BUNDLED_SKILL_RANK)—— 位于两者之间;~/.claude条目 rank=700。项目 skill 永远压过 DSH 原生与用户副本;用户 skill 永远压不过 DSH 原生。 ~/.claude/rules中与项目同 basename 的 rule 文件被跳过(项目优先)。
CLAUDE.md / AGENTS.md 不碰 —— DSH 内置 dsh-agent-instructions 已处理。
内置命令
安装本插件后可使用五个原生管理命令:
命令 · 作用
/cc-plugin · 打开插件管理界面,或使用 list、install <名>[@市场]、uninstall、enable、disable、update [名]、search <词>、marketplace list\ · add\ · remove\ · update。/cc-plugin <名>@<市场> 可直接安装。变更要求 claude CLI,并使用用户作用域;CLI 缺失、认证或网络错误会明确报告,不会降级为直接写 JSON 或 git 文件。Claude Code 与 DSH 读取同一份配置的插件注册表和设置。
/reload-cc-plugins · 刷新当前会话的技能目录,等待刷新完成并报告失败。新增或移除的技能无需新建会话即可出现;MCP 与 hook 变更仍需重启 DSH。
/reload-skills · /reload-cc-plugins 的别名。
/cc-export · 列出或导出 DSH 原生 skill(.dsh/skills)到 Claude Code .claude/skills/<name>/SKILL.md,保留 frontmatter。使用会话的有效工作目录,桌面版通过真正的 Node
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::16,最后更新 2026-11-06