返回目录
开发工具 插件

dsh-cc-ecosystem

Bcy2020/dsh-cc-ecosystem

让 DeepSeek Harness 用上 Claude Code 全家桶:技能、命令、规则、权限、子代理、hooks—— .claude/ 资产原样加载

Stars
5
Forks
1
Issues
1
更新
2 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:Bcy2020/dsh-cc-ecosystem

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

dsh-cc-ecosystem

Listed in dsh-market (via awesome-dsh-plugin)

把你 Claude Code 的 .claude/ 资产原样搬进 DeepSeek Harness —— 技能、斜杠命令、规则、权限、子代理、hooks、MCP 全部照常工作,不需要改写任何配置。

Load your Claude Code .claude/ assets (skills, commands, rules, permissions, agents, hooks, MCP) into DeepSeek Harness as-is — no config rewriting.

你的 .claude 永远是唯一事实来源。 插件只读它、从不写回:改配置就是改 .claude,与 Claude Code 天然同步,两边不会各有一套。

装什么给你什么

能力 说明
技能 / 斜杠命令 / 规则 .claude/skills、.claude/commands 与 rules 直接可用,支持项目级与全局 ~/.claude
权限规则 CC settings.json 的 allow / deny / ask 在 DSH 上照常强制,求值顺序与 Claude Code 一致
子代理 .claude/agents/*.md 变成 DSH 可派发的 agent(正文即系统提示词,tools / model / skills 等 frontmatter 生效)
Hooks 项目 / 全局 / 插件里的 hooks.json 原样运行,command、http、mcp_tool、prompt、agent 五类处理器都支持
MCP 服务器 项目根 .mcp.json 与插件内联的 mcpServers 自动注册为 DSH 工具,并附带 /mcp 管理面板(状态、重连、工具列表、按工作区启停)
Claude Code 插件 plugin.json 与 marketplace 也能读:插件的技能 / 命令 / agent / hooks / MCP 以 plugin-<插件名>-<组件> 命名空间并入

安装

务必带上版本号。不带版本号会被解析到一个更旧的版本,而且安装过程照样报成功 —— 原因见 为什么要带版本号。

一条命令装齐(推荐):

dsh plugin --profile <name> add dsh-cc-ecosystem@0.3.4

Web GUI 里把上面那段的 包名@版本号 原样填进输入框即可。

也可以只装其中几个:从各包一览挑包名,照同样的 包名@版本号 写。dsh-cc-loader 是下面几个包共用的解析层,会作为依赖自动装上,通常不必单独安装。

为什么要带版本号

pnpm 11 起默认开启 minimumReleaseAge(1440 分钟 = 1 天,见 pnpm 官方文档):发布不满 24 小时的版本,解析器不选它,而是安静地留在或退到一个更旧的、已经"成熟"的版本上,退出码依旧是 0。所以"安装成功"并不等于装上了最新版 —— 装完请用 GUI 徽章或 pnpm list 核对实际版本。

实测(《dsh-cc-ecosystem` 刚发布几小时时,同一个包、同一时刻):

输入 实际装到 为什么
dsh-cc-ecosystem / dsh-cc-ecosystem@latest 上一个版本 dist-tag 不豁免,新版本被挡
dsh-cc-ecosystem@^<新版> 新版本 该范围内只剩它一个候选时才被自动豁免 —— 下一版即失效
dsh-cc-ecosystem@<精确版本> 新版本 只有这种写法是稳的

升级同理,而且 DSH 目前没有"更新"按钮 —— 升级就是在 GUI 里按新版本号再装一次。不带版本号再点一次安装不会升级。装完要重启 DSH 才会重新加载插件。

若不想受这条策略约束,可在 profile 的 pnpm-workspace.yaml 里设 minimumReleaseAge: 0(全局关闭,慎用),或用 minimumReleaseAgeExclude 逐版本豁免 —— 后者按版本钉死,每发一版都要补一次,容易腐烂。

各包一览

包 作用
dsh-cc-ecosystem 全家桶:一条命令装齐下面全部
dsh-cc-skills 技能、斜杠命令、rules
dsh-cc-permissions CC 权限规则强制
dsh-cc-agents 子代理目录 + cc_agent 派发
dsh-cc-hooks Claude Code hooks
dsh-cc-mcp MCP 服务器 + /mcp 管理面板
dsh-cc-loader 共享解析层(自动安装,非插件)

从本地 checkout 热挂载(不发布到 npm 的开发流程)见 DSHCCECO-INSTALL-SKILL.md。

DSH 版本要求

你的 DSH 版本 用哪个
0.1.5-rc.2 或 0.2.0-rc.2 v0.3.4(当前) —— 一条版本线同时兼容这两代
0.1.0-rc.7 ~ 0.1.1-rc.2 v0.1.x(已停止维护)

用 0.2.0 就必须是 v0.3.1 或更新:更早的版本会被 DSH 的插件安装检查直接拒绝。 v0.3.4 让 .claude/rules 的子目录真正被读到、把 .claude 当作项目根标记(没有 git 仓库的项目也能定位),并修掉 Windows 上 command hook 的三处失效 —— 详见 CHANGELOG。 v0.3.3 让 Claude Code 读得了、但 YAML 不严格的 frontmatter 不再被静默丢弃 —— 此前这类 agent / 技能 / 斜杠命令会整个消失。 v0.3.2 修掉了 0.2.0 上的四处静默失效(括号规则、SessionStart、消息 source、session 读取)。

支持的权限语义

与 Claude Code 一致,包括容易做错的那几处:

  • 规则语法 Tool / Tool(spec):Bash、PowerShell 命令 glob(*、:* 后缀、词边界)、Read/Edit 的 gitignore 路径锚定(// 绝对、~/ 家目录、/ 相对)、WebFetch(domain:…)、mcp__server__tool、Agent(name)、Skill(name)
  • 求值顺序 deny → ask → allow;裸工具名的 deny 会直接把该工具从上下文移除
  • Bash 复合命令会拆分(&& || ; | &),wrapper 与前置 env 会剥离(timeout / nice / nohup …);PowerShell 别名会规范化(del / rm → Remove-Item)
  • Read 的 deny 同时拦住 Edit/Write 与 Bash 文件命令(cat / head / sed …)
  • Windows 路径 POSIX 化(C:\Users\alice → /c/Users/alice,规则写 //c/**)
  • Bash 与 PowerShell 是独立工具,Bash(rm -rf *) 不会覆盖 PowerShell,两者规则各自生效

已知限制

  • Hooks 事件未全覆盖:Claude Code 的 31 个 hook 事件中,11 个有对应扩展点会真正触发;其余 20 个会被解析但不会运行(DSH 侧还没有对应的挂载点)。
  • 子代理的部分字段不生效:isolation: worktree 的子代理不会出现在目录里;hooks、mcpServers、permissionMode 会被忽略并给出提示(Claude Code 对插件里的 agent 也是同样处理)。
  • LSP 桥接(mcpls)尚未实现,还在调研阶段。

License

MIT

dsh-cc-skills 派生自 dsh-claude-compat(MIT,© biedongbin),dsh-cc-loader 的发现逻辑亦源自该基座;hooks 语义基于官方 @deepseek-ai/dsh-hook-protocol。

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类开发工具
规则置信度中

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: claude-code。