DeepSeek Harness 插件

dsh-capability-discovery

A DSH Bundle that registers a multi-source capability discovery and risk inspection Skill.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
444136347/dsh-capability-discovery
最近更新
2026年8月20日
分类
工具与能力
GitHub stars
2
载体类型
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/444136347/dsh-capability-discovery
插件名:dsh-capability-discovery
作者:444136347

检查来源文件

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

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

dsh-capability-discovery

面向 DeepSeek Harness 的多源能力发现、排序与启发式风险检查工具。

dsh-capability-discovery 是负责安装和加载的 DSH Bundle,它向 Harness 注册用户实际调用的 capability-discovery Skill。该 Skill 从多个公开来源寻找 DSH Plugin、Agent Skill、MCP Server、Profile、Agent 等能力,统一去重和排序,然后对准备采用的仓库做基础风险检查。

> 独立社区项目,与 DeepSeek 无官方隶属或背书关系。

English · [架构](./docs/architecture.zh-CN.md) · [数据源](./docs/sources.zh-CN.md) · [发布指南](./docs/publishing.zh-CN.md) · [贡献指南](./CONTRIBUTING.zh-CN.md) · [安全策略](./SECURITY.zh-CN.md) · [变更记录](./CHANGELOG.zh-CN.md)

为什么做这个

DSH 生态的能力分散在 GitHub Topic、Awesome List 和社区 Registry 中。人可以一个个逛,但 Agent 更需要一条稳定链路:

用户需求
  ↓
多源发现
  ↓
Normalize
  ↓
Deduplicate
  ↓
Rerank
  ↓
Top Candidates
  ↓
Heuristic Risk Inspection
  ↓
用户决定是否采用/安装

核心原则是:发现和安装分离。搜索结果只能作为候选,不能因为排第一就自动获得执行权限。

第一版数据源

  • GitHub dsh-plugin Topic
  • kejixiaoliang/awesome-dsh-plugins 的结构化插件数据
  • Dominic789654/awesome-deepseek-harness 的生态目录
  • awesome-dsh-plugin.com 的公开 Registry

某个数据源失效时不会让整次查询失败,返回结果里会保留 sourceErrors

快速开始

需要 Node.js 20+。

git clone https://github.com/444136347/dsh-capability-discovery.git
cd dsh-capability-discovery
npm test

node cli/dsh-capability.mjs sources
node cli/dsh-capability.mjs search ppt slides --limit 5
node cli/dsh-capability.mjs search memory --type skill --json
node cli/dsh-capability.mjs inspect owner/repo

在 DeepSeek Harness 中使用

先区分两个名称:

名称作用
dsh-capability-discovery安装进 profile 的 DSH Bundle 包
capability-discovery在会话中调用的 Skill

官方命令使用 dsh plugin 作为 profile 的外部包管理入口,因此安装 Bundle 也通过该子命令完成;这不表示最终能力是一个 Web UI 插件。相关机制可参考 DSH 官方的 Bundle 发布与安装教程参考文档

1. 安装 Bundle

安装 GitHub 已发布版本时,建议固定 tag 或 commit。当前公开版本为 v0.1.2

npx -y @deepseek-ai/dsh plugin --profile web add \
  'github:444136347/dsh-capability-discovery#v0.1.2'

当前版本 DSH 会同时把包加入 dependencies,并自动维护 dsh.profile.bundles。启动前先验证最终组合配置:

npx -y @deepseek-ai/dsh --profile web --dump-config \
  | grep -n -C 4 -E 'dsh-capability-discovery|capability-discovery'

输出中应能看到 # == dsh-capability-discovery Bundle 层和 dsh-capability-discovery Loader 条目。

DSH 的 profile 相互独立:安装到 web 不会自动安装到 headless 或其他 profile。

2. 重启 DSH

如果 DSH 已经在运行,安装或升级 Bundle 后必须停止并重新启动同一个 profile:

npx -y @deepseek-ai/dsh web

刷新浏览器或新建会话不会让正在运行的旧进程重新加载 Bundle。运行时 DSH 只监听 profile 级的 ${DSH_HOME:-$HOME/.dsh}/profiles/<profile>/cordis.patch.yml 和 home 级的 ${DSH_HOME:-$HOME/.dsh}/cordis.patch.yml 两个用户 patch;已安装包、dsh.profile.bundles 和 Bundle 自身 patch 的变化要到下次进程启动时才生效。

3. 调用 Skill

在新的 Web 会话输入框中键入 /cap,从 / Skill 菜单选择 capability-discovery;也可以直接发送:

/capability-discovery 帮我找适合制作 PPT 的 DSH 插件或 Skill,只推荐 3 个,不要安装

/capability-discovery 是确定性调用:DSH 会先加载该 Skill 的完整指令,再处理后面的任务。也可以只用自然语言让模型自行选择 Skill,但显式 / 调用更适合安装后的首次验证。

默认回答使用紧凑 Markdown:先给结论,再用表格列出最多 3 个候选,最后显示来源覆盖和“未安装”状态。Skill 会把相关英文关键词合并为一次搜索;只有首次没有相关候选时才允许更换关键词重试一次。完整来源表、命令和诊断信息只在明确要求时展开,聊天中不会默认生成 HTML。

更多示例:

/capability-discovery 帮我找 MCP 管理相关能力,披露失败的数据源,不要安装

/capability-discovery 只搜索 Skill 类型的 Office 文件处理能力,比较前三名

/capability-discovery 检查 STARDUSTLC666/dsh-ppt 的风险,不要安装

它不会新增独立插件页面、设置卡片或侧边栏入口,但会出现在 Web 输入框的 / Skill 菜单中。

4. 在 headless profile 中使用

headless 需要单独安装,然后可以直接在一次性任务中调用:

npx -y @deepseek-ai/dsh plugin --profile headless add \
  'github:444136347/dsh-capability-discovery#v0.1.2'

npx -y @deepseek-ai/dsh --profile headless \
  '/capability-discovery 帮我找适合制作 PPT 的 DSH 能力,不要安装'

5. 找不到 Skill 时排查

1. 确认安装和启动使用的是同一个 profile,例如都为 web。 2. 运行上面的 --dump-config,确认 Bundle 层和 Loader 条目存在。 3. 停止旧 DSH 进程并重新启动;只刷新浏览器不够。 4. 新建会话,在输入框键入 /cap,确认菜单出现 capability-discovery。 5. 绕过 Skill 直接测试同一份 CLI:

cd "${DSH_HOME:-$HOME/.dsh}/profiles/web"
pnpm exec dsh-capability search ppt --json

CLI 能搜索但 / 菜单没有 Skill,通常是 profile、Bundle 加载或进程重启问题;CLI 本身也失败,则查看输出中的 sourceErrors 和网络代理诊断。

如果是历史遗留 profile,已经写入 dependency 但缺少 Bundle 条目,才需要执行修复命令:

cd "${DSH_HOME:-$HOME/.dsh}/profiles/web"
pnpm exec dsh-capability setup --profile web

CLI

搜索

dsh-capability search <关键词...> [--limit 10] [--type plugin|skill|mcp|profile|agent|orchestrator|ui|runtime|workflow] [--json]

--type mcp 是严格的 MCP Server 筛选,只保留名称或描述明确声明为服务端的候选。MCP 管理面板、客户端、桥接器和其他集成仍按实际能力类型展示;宽泛搜索会通过 mcpRole 区分 serverclientmanagerbridgeunknown

排序主要考虑:

1. 当前任务的关键词相关性; 2. 是否被多个独立来源同时收录; 3. 最近维护时间; 4. GitHub Stars(只作为弱信号); 5. 是否进入人工整理的社区目录。

风险检查

dsh-capability inspect owner/repo [--json]

第一版会检查这些启发式信号:

  • preinstall/install/postinstall/prepare 等生命周期脚本;
  • subprocess / command execution;
  • 环境变量、凭据相关访问;
  • 网络访问;
  • 文件系统修改;
  • Skill/Agent 指令中的 prompt injection / 数据外传可疑表达;
  • 依赖面。

这不是安全认证。 没发现已知模式,不代表仓库安全。它只能降低“完全不看就装”的风险。

设置 GITHUB_TOKENGH_TOKEN 后,GitHub API 会自动使用该 Token。它可以提高 API 限额,并检查 Token 有权访问的仓库;不要把 Token 写进命令参数或提交到仓库。

旧 Profile 修复

dsh-capability setup [--profile web] [--json]

这个命令只用于修复“包已经安装,但旧 profile 的 dsh.profile.bundles 里缺少本 Bundle”的历史状态。当前 DSH 的 plugin 命令会自动维护该列表。修复命令不会安装依赖,也不会启动 DSH。

网络可靠性

  • 网络异常以及 HTTP 429502503504 会自动重试 2 次,并采用递增等待时间。
  • 服务端返回有效 Retry-After 时,优先按该时间等待。
  • 400401403404 等确定性错误不会重试,避免无意义等待。
  • 三个静态 Awesome List/Registry 来源使用 5 分钟临时磁盘缓存;GitHub 关键词搜索保持实时,不做缓存。
  • 重试后仍失败的来源会写入 sourceErrors,其他成功来源仍然正常参与结果合并。

缓存默认写入操作系统临时目录。如需指定目录,可设置 CAPABILITY_DISCOVERY_CACHE_DIR。该变量特意不使用 DSH 保留的 DSH_* 前缀,因此能传递给 Skill 启动的 CLI 子进程。

如果 DSH 需要通过 HTTP 代理访问网络,请先确认 HTTP_PROXY/HTTPS_PROXY 是合法 URL。使用支持该能力的 Node.js 版本时,需要以 NODE_USE_ENV_PROXY=1 启动 DSH,Node.js 的 fetch 才会读取这些代理变量。日志和 Issue 中不要暴露代理账号或密码。

第一版边界

能力类型v0.1
DSH Plugin支持
Agent Skill支持
MCP Server使用 --type mcp 按严格元数据证据分类
Profile / Patch实验性分类
Agent / Orchestrator / Runtime / UI实验性分类

暂时不做:托管后端、账户系统、商业市场、一键自动安装、自动付费、全量代码安全审计。

项目状态

当前公开版本为 v0.1.2。项目保持小而可审计的核心,不包含数据库、托管后端、账户系统、市场 UI 或自动安装流程。

开源与第三方关系

本项目是独立实现,不继承其他插件发现工具的代码。

项目包内不打包上述数据源的第三方仓库内容,而是在运行时读取公开元数据;静态目录可能按上面的规则保留 5 分钟临时缓存。第三方项目和数据仍遵循各自的许可证与使用条款。

开发

npm test
npm run check
npm pack --dry-run

运行时代码不依赖第三方 npm 包,测试使用 Node 内置 test runner。

License

Apache License 2.0,见 [LICENSE](./LICENSE)。