前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在此基础上,构建能够“自组装”的工具链是下一步方向。dsh-plugin-dynamic-assembler 插件允许代理在运行时根据自然语言需求发现并加载插件,同时通过静态审计和用户确认机制管控风险。
下面介绍该插件的核心能力、安装配置及典型用法。
核心能力¶
该插件提供了一套完整的动态组装工具链,主要包含以下特性:
- 运行时发现:通过
ctx.registry在运行时扫描已加载的插件,不依赖硬编码列表。 - 官方优先策略:优先匹配
@deepseek-ai/*官方插件;仅在官方插件无法满足需求时,才考虑第三方插件。 - 第三方管控策略:通过配置
unofficialPolicy(默认为ask)来决定第三方插件的处理方式,支持ask(询问)、allow(允许)或deny(拒绝)。 - 内置静态安全审计:在插件加载前进行静态扫描,生成评分和等级(绿色/黄色/红色),为安全决策提供依据。
安装与启用¶
安装插件后,需要在配置文件中启用。
- 安装:
npm i dsh-plugin-dynamic-assembler
- 配置:
在 profile 的cordis.patch.yml中添加以下配置。新条目需用- insert:包裹:
- insert:
- id: dynamic-assembler
name: dsh-plugin-dynamic-assembler
config:
denyList: [] # 不允许组装的能力名称关键词
unofficialPolicy: ask # ask | allow | deny
pluginSources: [] # 第三方插件源(npm 名称或本地路径)
如果需要使用本地未在 npm 上的插件,需在 `pluginSources` 中列出其路径或 npm 包名。
工具与用法¶
该插件提供了 8 个核心工具,用于发现、规划、执行和卸载插件。
1. assemble_inspect(审计)¶
对插件进行静态安全审计。会扫描危险模式(如 eval、child_process)并检查元数据(许可证、仓库等)。
* 参数:plugin(插件名称或包名)、github_repo(可选,用于 GitHub Releases 审计)。
2. assemble_plan(规划)¶
分析自然语言需求,在 ctx.registry 中发现匹配的插件能力,生成组装计划(不实际加载)。
* 参数:requirement(自然语言需求描述)。
3. assemble_execute(执行)¶
根据规划加载插件。如果涉及敏感操作或第三方插件,会要求用户确认。
* 参数:names(插件名称列表)、confirm(是否确认)、allow_unofficial(是否允许第三方)、force(强制加载红色审计插件)。
4. assemble_unload(卸载)¶
卸载所有由该插件动态加载的插件,用于回滚或清理。
典型对话流程¶
- 需求规划:
模型调用assemble_plan,传入需求。系统在已加载插件中匹配能力,返回组装方案。 - 用户确认:
模型调用assemble_execute,传入确定的插件名称列表、确认标志和允许第三方插件标志。 - 回滚:
需要中断当前流程时,调用assemble_unload即可释放所有动态加载的资源。
适用场景与注意¶
该插件适合需要构建“自进化”智能体的开发者。使用时需注意以下几点:
- 权限风险:静态审计是风险信号,而非安全保证。插件一旦加载,即拥有完整的 Node 进程权限,恶意代码可能规避扫描。请务必安装可信来源的插件。
- 环境要求:需要 Node.js 版本 >= 22。
- 敏感操作:涉及网络、文件系统、Shell、子代理、MCP、代码执行或凭证的操作,必须显式调用
confirm_sensitive参数进行确认。
总结¶
dsh-plugin-dynamic-assembler 为 DeepSeek Harness 提供了从自然语言到动态插件加载的闭环能力。通过官方优先策略和可配置的第三方管控机制,它在实现智能体自组装的同时,保留了必要的安全管控手段。