前言¶
DSH(DeepSeek Harness)的设计理念是“一切皆插件”。现有的 Claude 插件生态中,许多开发者维护了包含 skills/、commands/ 和 hooks/ 的插件结构。dsh-claude-plugin-loader 是一个兼容层插件,由 patrick1099 维护,旨在让 DSH 直接发现并加载 Claude 式插件,从而复用现有的 Claude 插件能力。
核心能力¶
该插件实现了 Claude 插件与 DSH 之间的核心桥接功能:
-
插件扫描与去重
默认扫描~/.claude/plugins/cache目录。如果该目录下存在多个同名插件,插件会按版本去重,优先加载最新的活源,保留缓存中的最高版本。 -
Skills 通道
插件目录中的skills/文件夹会被注册为 DSH 的 skill provider。模型可以使用 DSH 原生的skill或skill_search命令按名称发现并加载插件内的 SKILL.md 文件。 -
Commands 通道
插件中的commands/*.md文件会被注册为 DSH 的斜杠命令。支持命令的注册、程序化执行以及热更新。插件目录变更后,命令会自动更新或注销。 -
状态工具
提供只读工具claude_plugin_status,用于列出当前已发现的插件及其支持的通道类型(skills/hooks/mcp/commands/agents)。 -
SessionStart Hook 桥
这是一个最小化的桥接实现,默认关闭。它解析hooks.json中的SessionStart命令 hook,在agent/session-start阶段执行并将 stdout 注入会话上下文。开启此功能需要在配置中显式设置sessionStartHooks: true。 -
配置管理
通过enabledPlugins配置项,可以控制只暴露本机[plugins.dsh].enabled中列出的插件,并要求插件 manifest 声明其为dsh插件 skill。
安装与启用¶
安装该插件需要使用 DSH 的插件管理命令。
# 装进 web 界面 profile
dsh plugin --profile web add dsh-claude-plugin-loader
# 装进 CLI/TUI profile
dsh plugin --profile cc-tui add dsh-claude-plugin-loader
# 装进一次性 headless profile
dsh plugin --profile headless add dsh-claude-plugin-loader
安装完成后,重启对应的 DSH 进程即可生效。
配置与验证¶
安装后,可以在 profile 的 cordis.patch.yml 中进行配置,以指定扫描目录、启用特定插件或调整热更新间隔。
- id: claude-plugin-loader
name: dsh-claude-plugin-loader
config:
pluginRoots:
- "C:/path/to/shared/plugins"
- "C:/Users/<you>/.claude/plugins/cache"
enabledPlugins:
- "cjt"
- "note-workflow"
sessionStartHooks: true
reloadIntervalMs: 1500
配置验证:
# 查看配置是否注入
dsh --profile headless --dump-config
# 查看已加载插件状态
dsh --profile headless "Call claude_plugin_status and repeat its output."
# 测试加载技能
dsh --profile headless "Load the cjt skill."
注意事项¶
- SessionStart 默认关闭:出于安全考虑,SessionStart hook 桥默认是关闭的,必须显式在配置中开启
sessionStartHooks: true。 - TUI 自动化限制:交互式 TUI 斜杠命令的自动化 PTY 输入目前尚未稳定复现,建议在
dsh --profile cc-tui中人工敲击/hello Alice进行最终确认。 - 未实现功能:目前尚未实现 MCP 配置生成、agents 通道、PreToolUse 拒绝/重写等其它 hook 意图,以及外部脚本协议桥的完整形态。
生态与源码¶
该插件遵循 MIT 许可证。更多详细文档、使用指南及源码,可参考 GitHub 仓库。