dsh-recipe:插件环境的配方聚合工具

前言

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

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜