# Awesome DSH Plugins

[ dshfind.com](https://dshfind.com) · [GitHub](https://github.com/hikariming/dshfind)
## 社区讨论群
DSH 插件社区讨论群(微信群):插件作者、维护者与使用者都在这里,讨论插件开发、兼容性问题与新插件发布。
> 二维码 7 天内有效(2026-08-26 前)。
## 给插件使用者
### 1. 找到候选插件
- 优先浏览[分类目录](#分类目录)与逐插件明细 [PLUGINS-ALL.md](PLUGINS-ALL.md):自动发现并经运行级实测的全量清单,每条带判定、定位与星标。
- [PLUGINS.md](PLUGINS.md) 是经 PR 登记的社区登记清单(人工说明 + 运行级结果),适合核对作者已登记申报的插件,与自动发现互补。
- 若以上都没有,再从[当前生态快照](#当前生态快照)进入当日索引,搜索仓库名或关键词。
- 仓库无法公开访问、没有 README、没有许可证或长期无维护时,把它视为高风险候选,而不是“已验证插件”。
### 2. 看懂状态(统一四档口径)
全部条目使用**单一运行级口径**(k8s 容器实测,测试版本见下),四档互斥:
| 状态 | 它说明什么 | 它不说明什么 |
|---|---|---|
| 运行级可用 | 在记录的测试版本下真实加载并完成验证任务 | 不是完整功能测试、性能测试或安全审计 |
| 运行级不兼容 | 依赖装不上、只读沙箱、缺内部包等硬失败(3 次重试全败) | 不代表永远不可用;作者可能已在新版本修复 |
| 待定 | 测试环境故障,未完成判定 | **不是部分兼容**,待重测 |
| · 未测 | 尚未派发运行级测试 | 不应推断为兼容或不兼容 |
> [!NOTE]
> **测试版本**:dsh(容器内 agent)+ Qwen3.6-35B 驱动(经 de-stream 代理)· k8s 5 分片 · 以快照 `run_id` 锚定具体轮次(当前 `20260828T033001Z`)。DSH 的 npm 版本号未随快照记录,以 run_id 与 `reports/agent-test/` 日期交叉核对。
> **口径提示**:徽章与统计中的「已测 N」是单轮运行口径;分类目录与全量清单是跨轮累积口径,两者数字不同属正常。
每个结论都应同时看四项:**插件 commit、mainline commit、测试日期、测试层级**。缺少其中任一项时,降低对结果的信任等级。
### 3. 安装、验证和回滚
本目录不是包管理器,也没有被本仓库验证过的统一安装命令。请以插件自身 README 的安装方式为准,并建议按以下顺序操作:
1. 阅读插件的安装、配置、权限和卸载说明。
2. 固定插件版本或 commit,不直接依赖会漂移的默认分支。
3. 先在隔离 profile 或测试环境加载,不提供生产密钥和敏感数据。
4. 执行一个最小功能任务,记录 DSH 版本、插件版本和日志。
5. 保留原配置与锁文件;失败时能移除插件并恢复环境。
若插件安装或功能本身出错,请优先在插件仓库反馈;若目录链接、分类或状态证据有误,请在本仓库提交 issue 或 PR。
## 给插件开发者
### 最低收录条件
公开目录建议只列出普通访问者能够打开的仓库。自动发现候选至少应满足:
- 仓库公开可访问,并添加 `dsh-plugin` topic;
- 根目录存在合法的 `package.json` 和非空 `name`;
- 提供 `main`、`exports` 或明确的 `dsh` 集成入口;
- README 说明插件做什么、如何安装、如何卸载以及最小使用示例;
- 所有运行时依赖在 `dependencies` / `peerDependencies` 中显式声明;
- 声明支持的 DSH 版本、快照或已验证 commit;
- 提供许可证,并避免把密钥、个人信息或私有仓库内容提交到公开目录。
包名应使用你有权控制的命名空间。只有获得 `dsh-external` 维护权限的项目才应使用 `@dsh-external/*`;不要占用不属于你的组织或官方保留命名空间。
### 一个合格的插件 README 至少包含
| 章节 | 应回答的问题 |
|---|---|
| Overview | 插件解决什么问题?适合谁? |
| Compatibility | 支持哪些 DSH 版本或 mainline commit?最后验证日期是什么? |
| Install / Uninstall | 如何安装、升级、禁用和彻底移除? |
| Quick start | 最小配置和一个可复现示例是什么? |
| Configuration | 配置项、默认值、环境变量和敏感项有哪些? |
| Permissions & data | 会访问哪些文件、网络、凭据或用户数据? |
| Troubleshooting | 常见错误、日志位置和回滚方式是什么? |
| Development | 如何构建、测试和贡献? |
| License & security | 使用什么许可证?安全问题如何私下报告? |
### 提交插件
1. 给插件仓库添加 `dsh-plugin` topic,等待下一次扫描。
2. 在 [PLUGINS.md](PLUGINS.md) 的合适分类追加插件名、仓库链接和一句话说明。
3. 对照上面的最低条件完成自检。
4. 使用 [PR 模板](.github/PULL_REQUEST_TEMPLATE.md) 提交变更,并附上测试环境与结果。
仅修正链接、分类、描述或状态证据时,也欢迎直接提交小型 PR。请不要在目录 PR 中复制私有 issue、密钥、成员信息或大段第三方内容。
## 本仓库如何判定
| 层级 | 当前检查 | 合理结论 |
|---|---|---|
| L0 发现 | topic、仓库可见性、基本元数据 | 这是一个候选仓库 |
| L1 清单 | `package.json`、名称、入口字段 | 它“看起来可安装”,但还未证明能加载 |
| L2 静态兼容 | 补丁、扩展点(seam)、依赖版本范围 | 发现已知漂移信号,或暂未发现阻断信号 |
| L3 编译实验 | 在指定 workspace 中执行类型或语法检查 | 仅对该构建环境有效;缺依赖和环境问题需与真实 API 漂移分开 |
| L4 运行实测 | 安装、加载、最小任务或工具调用 | 在记录的环境和 commit 上观察到成功或失败 |
> [!NOTE]
> 首页不把以上层级合并成一个模糊的“兼容率”。静态通过、编译通过和运行通过使用不同字段与分母;完整证据保留在日期化报告中。
### 已知边界
- mainline 和插件都在快速变化,旧结论可能很快失效。
- 静态未发现问题不代表真实运行一定成功。
- 编译失败可能来自测试环境、缺失依赖或配置错误,不应自动等同于 API 不兼容。
- 运行成功只覆盖报告中的最小任务,不代表全部功能、平台和配置。
- 自动生成的 LLM 摘要只用于导航,不能替代原始矩阵和日志。
## 仓库结构
| 路径 | 内容 |
|---|---|
| `PLUGINS.md` | 人工分类和登记的精选入口 |
| `reports/