dsh-claude-plugin-loader:让 DSH 直接加载 Claude 式插件

前言

DSH(DeepSeek Harness)的设计理念是“一切皆插件”。现有的 Claude 插件生态中,许多开发者维护了包含 skills/、commands/ 和 hooks/ 的插件结构。dsh-claude-plugin-loader 是一个兼容层插件,由 patrick1099 维护,旨在让 DSH 直接发现并加载 Claude 式插件,从而复用现有的 Claude 插件能力。

核心能力

该插件实现了 Claude 插件与 DSH 之间的核心桥接功能:

  1. 插件扫描与去重
    默认扫描 ~/.claude/plugins/cache 目录。如果该目录下存在多个同名插件,插件会按版本去重,优先加载最新的活源,保留缓存中的最高版本。

  2. Skills 通道
    插件目录中的 skills/ 文件夹会被注册为 DSH 的 skill provider。模型可以使用 DSH 原生的 skill 或 skill_search 命令按名称发现并加载插件内的 SKILL.md 文件。

  3. Commands 通道
    插件中的 commands/*.md 文件会被注册为 DSH 的斜杠命令。支持命令的注册、程序化执行以及热更新。插件目录变更后,命令会自动更新或注销。

  4. 状态工具
    提供只读工具 claude_plugin_status,用于列出当前已发现的插件及其支持的通道类型(skills/hooks/mcp/commands/agents)。

  5. SessionStart Hook 桥
    这是一个最小化的桥接实现,默认关闭。它解析 hooks.json 中的 SessionStart 命令 hook,在 agent/session-start 阶段执行并将 stdout 注入会话上下文。开启此功能需要在配置中显式设置 sessionStartHooks: true。

  6. 配置管理
    通过 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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜