前言¶
DSH 的核心理念是“一切皆插件”。在开发插件时,开发者常面临权限边界不清的问题:哪些数据通道是官方支持的,哪些是未文档化的绕行方案,哪些操作在物理上是不可行的。dsh-plugin-boundary 插件通过打包这些边界规则,帮助开发者在编写代码前做出权衡决策。
插件定位¶
这是 DeepSeek Harness (DSH) 的插件开发边界技能插件,由 KoanJan 维护。它将平台的边界能力规范打包成一个可加载的技能,明确回答开发过程中“能做什么”和“不能做什么”的问题。
核心功能¶
插件通过 ctx.skills.registerProvider 注册一个技能:dsh-plugin-boundary。
该技能提供以下边界信息:
- 数据通道格局:客户端与主机之间的数据交互边界。
- 文件系统限制:官方 API 对文件系统的操作范围。
- 生命周期差异:动态插件与 bundle 插件的生命周期区别。
- 硬性规则:关于安装、效果调试的强制性规则。
一个技能由两部分组成:SKILL.md(说明目的、加载时机、使用要点)和 rules/*.md(规则正文)。
安装与启用¶
安装前需确保已安装 pnpm(DSH 插件官方依赖)。
安装步骤¶
1. 从本地目录安装
dsh plugin --profile web add file:/path/to/dsh-plugin-boundary
2. 从 npm 仓库安装
dsh plugin --profile web add @koanjan/dsh-plugin-boundary
3. 启用
安装完成后,重启 DSH。在新的会话中,dsh-plugin-boundary 技能应出现在技能目录中。
开发与配置¶
插件的核心目录结构如下:
dsh-plugin-boundary/
├── package.json # 包清单,dsh.bundle.patch 声明其为 bundle 层
├── cordis.patch.yml # 补丁层:将插件行插入配置
├── lib/index.js # 插件主体:skills.registerProvider 提供技能
└── skills/ # 技能资源(纯 Markdown)
└── dsh-plugin-boundary/
├── SKILL.md
└── rules/
修改技能内容¶
直接编辑 skills/dsh-plugin-boundary/SKILL.md 和 rules/*.md,然后执行重新安装(先 remove 再 add)并重启 DSH。
修改插件逻辑¶
直接编辑 lib/index.js,然后执行重新安装并重启 DSH。
注意事项¶
- 版本验证:边界结论基于 DSH 0.1.0-rc.6 验证。在 DSH 升级后,需重新验证关键规则。
- 运行权限:插件以当前 DSH 进程的权限运行。
- 许可证:使用前请检查源码与许可证(MIT)。