前言¶
DSH 生态强调“一切皆插件”。开发者或用户往往需要的是一套完整场景(如“浏览器开发环境”),而非逐个安装插件。dsh-recipe 旨在将 dsh 插件打包成场景配方,通过工具列出、搜索、应用和组合这些环境,实现一键部署。
核心功能¶
- 浏览全部配方:查看社区提供的场景配置。
- 按需求搜索配方:通过自然语言匹配所需环境。
- 展开配方:将配方展开为有序插件清单及安装命令序列。
- 合并配方:将多个配方合并为整套环境,自动去重并保持顺序。
- 本地运行:纯逻辑实现,零网络请求、零依赖、零写入。
安装与启用¶
安装该插件需指定 profile。执行以下命令即可将 dsh-recipe 加入当前环境:
dsh plugin --profile <profile> add dsh-recipe
使用方式¶
安装完成后,使用 recipe 工具进行操作。工具支持以下动作:
| 动作 | 参数 | 行为说明 |
|---|---|---|
list |
— | 列出全部可用配方 |
search |
need |
按自然语言需求匹配配方 |
apply |
recipeId 或 need |
展开配方,生成有序插件清单 + 安装命令序列 |
compose |
recipeId1,recipeId2 |
合并多个配方为整套环境(去重、保序) |
apply 和 compose 命令通常输出为“点菜单”形式,即逐条 dsh plugin add 命令,模型可直接执行或交由用户确认。
内置配方¶
插件内置了 10 个常见场景配方,包含插件数量如下:
| id | 名称 | 插件数 |
|---|---|---|
browser-dev-env |
浏览器开发环境 | 4 |
notification-suite |
通知全家桶 | 6 |
academic-writing |
学术写作套装 | 5 |
mobile-remote |
移动远程控制 | 3 |
security-hardening |
安全加固套装 | 4 |
memory-kit |
记忆持久化套装 | 5 |
fun-break |
娱乐休闲 | 4 |
model-routing |
模型路由优化 | 5 |
workflow-automation |
工作流自动化 | 5 |
market-manager |
插件市场管理 | 5 |
技术实现与依赖¶
- 实现方式:纯逻辑实现(
lib/recipe.js),不依赖外部服务。 - 数据来源:配方数据存储于
lib/recipe-data.json,插件映射存储于lib/plugins.json。 - 配方格式:JSON 格式,包含
id、name、description、tags及plugins数组(数组顺序即安装顺序)。 - 依赖库:作为 DSH 插件,运行时需要以下 peer dependencies:
@deepseek-ai/cordis@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/schemastery- 安全特性:完全本地运行,无网络请求,无文件写入操作,不处理敏感信息。
测试¶
运行以下命令可验证插件功能:
node test/recipe.test.mjs