DeepSeek Harness 插件

dsh-agent-plugin-market

DSH 插件市场:将 git 仓库作为 agent 内容插件市场(兼容 Codex / Claude 技能格式),克隆后原地加载插件技能到 DSH 技能系统,支持添加/更新市场、安装/更新插件、按技能启用禁用,并提供设置页配置 UI。(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Diluka/dsh-agent-plugin-market
最近更新
2026年8月22日
分类
工具与能力
GitHub stars
4
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Diluka/dsh-agent-plugin-market
插件名:dsh-agent-plugin-market
作者:Diluka

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器2 个文件
README.md来源说明 · 只读预览

dsh-agent-plugin-market

DSH(DeepSeek Harness)插件市场:将 git 仓库作为 agent 内容插件市场,安装并原地加载其中的技能到 DSH 技能系统。

  • 兼容格式:Codex / Claude / Awesome Copilot 内容插件(.codex-plugin/plugin.json.claude-plugin/plugin.json.github/plugin/marketplace.jsonSKILL.md + YAML frontmatter)
  • 原地加载:市场仓库 git clone~/.dsh/agent-plugin-market/markets/<id>/,安装插件不复制文件,技能路径原地注册进 DSH(resourceBase 指向克隆目录,技能内 references/scripts/ 相对资源可用)
  • 技能开关:已安装插件的技能默认启用;市场根 skills/ 中的独立技能默认关闭。两者都可单独启用/禁用,关闭后不进入技能目录
  • Codex hooks(可选):发现插件 manifest 的 hooks 配置;用户逐插件显式确认后,以可选的 @deepseek-ai/dsh-hooks-codex bridge 注册受支持的 hook 点
  • 设置页 UI:设置菜单新增「技能与挂钩」区段,管理市场(添加 / 更新 / 移除)与插件(安装 / 卸载 / 技能开关 / hooks 授权)

安装

dsh plugin --profile web add github:Diluka/dsh-agent-plugin-market

安装完成后重启 DeepSeek Harness,设置 → 技能与挂钩 即可使用。DSH 运行时包通过 peer dependencies 由当前 DSH profile 提供;市场与技能功能不依赖 Codex hooks bridge,bridge 缺失时设置页会提示安装命令并禁用 hooks 开关。市场管理仅允许通过本机 loopback 地址访问,以保护本机 Git 操作和 hooks 执行。

启用 Codex hooks(可选)

只有需要执行已明确授权的 Codex hooks 时,才在同一 profile 中安装 bridge 与协议包,然后重启 DSH:

dsh plugin --profile web add @deepseek-ai/dsh-hooks-codex @deepseek-ai/dsh-hook-protocol

手动等效步骤:

# 1. 安装市场插件
dsh plugin --profile web add github:Diluka/dsh-agent-plugin-market

# 2. 确认组合行(插件包自带 cordis.patch.yml,通常已自动应用)
#    ~/.dsh/profiles/web/cordis.patch.yml 中应有:
#    - insert:
#        - id: dsh-agent-plugin-market
#          name: 'dsh-agent-plugin-market'

# 3. 重启 DeepSeek Harness

使用

1. 添加市场:输入任意 git 仓库地址(ssh / https 均可),可选指定分支 / 标签 / commit id(默认使用仓库默认分支);仓库需包含市场清单,或在根 skills/ 中提供可用独立技能。 (市场清单查找顺序:.agents/plugins/marketplace.json.claude-plugin/marketplace.json.cursor-plugin/marketplace.json.github/plugin/marketplace.json → 仓库根 marketplace.json) 2. 安装插件:市场清单中每个插件一行(source 为仓库内路径,或 {"source": "local", "path": "./"} 指向仓库根)。当 {"source": "url", "url": "..."} 指向当前市场仓库时,也会按仓库根插件处理;这兼容同时将自身作为市场与插件发布的仓库。点击「安装」即原地注册其技能 3. 自动更新DSH 每次启动时自动对全部市场执行 git pull --ff-only(失败不影响启动,仅记录日志);分支/默认分支市场随更新,tag/commit 固定引用不自动更新(「更新」按钮会提示无需更新) 4. 技能开关:已安装插件下列出全部技能,默认全开;关闭后技能不再出现在 DSH 技能目录 5. Codex hooks 授权:安装的 Codex 插件检测到 hooks 配置后默认关闭。bridge 缺失时 hooks 配置仍可见,但开关保持禁用;安装 bridge 并重启后,开关需要再次点击确认。可更新市场拉取到任何新提交时,更新前正在运行的 hooks 会按新配置尝试重新激活;未在运行的 hooks 仍需显式确认。

市场仓库格式(Codex 兼容)

<market repo>/
├── .agents/plugins/marketplace.json     # 市场清单
└── plugins/<plugin-name>/
    ├── .codex-plugin/plugin.json        # 插件清单(skills / hooks 字段)
    ├── hooks/
    │   └── hooks.json                   # 未声明 hooks 时的 Codex 默认位置
    └── skills/
        └── <skill-name>/
            └── SKILL.md                 # frontmatter: name / description / when_to_use

SKILL.md 示例:

---
name: my-skill
description: 说明何时应触发该技能。
when_to_use: 可选补充。
---

技能正文(Markdown 指令)。

Codex 插件可在 manifest 中声明一份或多份 hooks 配置,也可省略字段并使用默认的 ./hooks/hooks.json

{
  "skills": "./skills",
  "hooks": "./hooks/hooks.json"
}

市场只接受插件根目录内的 hooks 路径,并在注册前为每个 command hook 注入插件根目录与持久数据目录的环境变量。它复用 DSH 的 Codex bridge,当前映射 SessionStartUserPromptSubmitPreToolUsePostToolUseStop 五个点;同步 command hooks 才会执行。每个市场插件的 hooks 都需要显式授权;市场更新会按新配置尝试重新激活更新前已激活的 hooks,其他配置变更需要再次授权。

配置存储

  • 市场/插件/技能开关/hooks 授权配置:~/.dsh/agent-plugin-market/config.json
  • 市场克隆目录:~/.dsh/agent-plugin-market/markets/<id>/
  • 市场生成的 bridge 配置与插件数据:~/.dsh/agent-plugin-market/generated-hooks/~/.dsh/agent-plugin-market/hook-data/

卸载

dsh plugin --profile web rm dsh-agent-plugin-market

并从 ~/.dsh/profiles/web/cordis.patch.yml 移除对应两行,重启后生效。

开发与验证

pnpm install --frozen-lockfile
pnpm lint
pnpm typecheck
pnpm test
  • pnpm lint 使用根 flat-config ESLint,以 lib/test/ 为目标;配置忽略 test-repos/ fixture。
  • pnpm typecheck 通过 tsconfig.jsonlib/ 及本地客户端 bundle 声明执行 JavaScript + JSDoc 检查,不生成构建产物。
  • pnpm test 使用 Node 原生 node:test;市场扫描测试以 @platformatic/vfs 提供内存文件系统和 symlink 行为。

架构

半端文件职责
Host composition rootlib/index.jsDSH 注入、可选 bridge 加载、技能 provider、自动更新和 loopback RPC 装配
Host runtimelib/market-runtime.js路径、配置、市场清单与 SKILL.md 扫描
Host servicelib/market-service.jsGit 市场操作、持久化编排、hooks 授权与状态视图
Host config modellib/market-config.js纯配置状态转换:市场、安装状态与技能开关
Host Codex adapterlib/codex-hook-manager.jsCodex hooks 发现和 bridge Fiber 生命周期
Host hook planlib/hook-reconcile-plan.js纯 desired/active 差异计划,决定卸载与挂载顺序
Host helperlib/codex-hooks.jsCodex hook source 解析、审批状态、配置指纹和插件环境包装
Clientlib/client.js设置页「技能与挂钩」UI(settings.section slot)与可单测的目录模型,通过 ctx.connection.rpc 调用 Host RPC

Hook 元数据按协议保存为 hookConfigs。当前只挂载 codex 适配器;未来验证 Claude bridge 契约后,可添加并列的协议适配器,而无需重构市场或技能扫描路径。