Introduction

The DSH ecosystem emphasizes “everything is a plugin.” Developers or users often need a complete scenario (such as a “browser development environment”), rather than installing plugins one by one. dsh-recipe aims to package dsh plugins into scenario recipes, using tools to list, search, apply, and compose these environments for one-click deployment.

Core Features

  • Browse all recipes: View scenario configurations provided by the community.
  • Search recipes by need: Match the required environment using natural language.
  • Expand a recipe: Expand a recipe into an ordered plugin list and a sequence of installation commands.
  • Merge recipes: Combine multiple recipes into a complete environment, automatically deduplicating and preserving order.
  • Local execution: Implemented with pure logic, with zero network requests, zero dependencies, and zero file writes.

Installation and Enablement

Installing this plugin requires specifying a profile. Run the following command to add dsh-recipe to the current environment:

dsh plugin --profile <profile> add dsh-recipe

Usage

After installation, use the recipe tool to perform operations. The tool supports the following actions:

Action Parameters Behavior Description
list — List all available recipes
search need Match recipes by natural-language requirement
apply recipeId or need Expand the recipe to generate an ordered plugin list and a sequence of installation commands
compose recipeId1,recipeId2 Merge multiple recipes into a complete environment (deduplicate and preserve order)

The apply and compose commands usually output a menu-style list, meaning one dsh plugin add command per line. A model can execute them directly or ask the user for confirmation.

Built-in Recipes

The plugin includes 10 common scenario recipes, with the following plugin counts:

id Name Plugin Count
browser-dev-env Browser development environment 4
notification-suite Notification suite 6
academic-writing Academic writing kit 5
mobile-remote Mobile remote control 3
security-hardening Security hardening suite 4
memory-kit Memory persistence kit 5
fun-break Fun break 4
model-routing Model routing optimization 5
workflow-automation Workflow automation 5
market-manager Plugin market management 5

Technical Implementation and Dependencies

  • Implementation: Pure logic implementation (lib/recipe.js), with no dependency on external services.
  • Data sources: Recipe data is stored in lib/recipe-data.json, and plugin mappings are stored in lib/plugins.json.
  • Recipe format: JSON format, including id, name, description, tags, and a plugins array (the array order is the installation order).
  • Dependency libraries: As a DSH plugin, it requires the following peer dependencies at runtime:
  • @deepseek-ai/cordis
  • @deepseek-ai/dsh-system-prompt
  • @deepseek-ai/dsh-tools
  • @deepseek-ai/schemastery
  • Security features: Fully local execution, no network requests, no file write operations, and no processing of sensitive information.

Testing

Run the following command to verify the plugin functionality:

node test/recipe.test.mjs