Skip to main content

dsh-suite/packages/preset-center

43Stars8Forks27Issues0Watchers

DSH Chinese Agent Preset Package: Adds a "Preset Package" entry in Settings for one-click installation of 6 Chinese writing/learning/translation presets. They immediately appear in the Agent presets selector without requiring a restart.

Evidence4/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki

ⓘ This plugin is a sub-package of the whyihaveyou/dsh-suite monorepo — stars and activity count the whole repository.

Language
HTML
License
MIT
Branch
main
agent-frameworkawesome-listcordisdeepseekdeepseek-harnessdeveloper-toolsdshdsh-plugin

Install

cmdweb profile
$ dsh plugin --profile web add @dsh-suite/preset-center

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin whyihaveyou/dsh-suite/packages/preset-center for me: review the repository at https://github.com/whyihaveyou/dsh-suite first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

Mount a "Preset Packs" section in the DSH Web Settings page, displaying 6 Chinese writing/learning agent presets as cards, supporting one-click application to the official Agent presets selector; does not contain business logic, only handles preset file搬运 (moving) and UI injection.

Core Capabilities

  • Add a "Preset Packs" section in Settings, listing all 6 preset cards with three buttons: "Preview / One-Click Apply / Remove" (packages/preset-center/lib/client.js:82-122, 131-137).
  • "One-Click Apply" writes the corresponding preset's agent.cordis.yml and preset.yml to the official user preset root (~/.agent-presets/<id>/), making it immediately detectable by the official agent-presets plugin without restarting DSH (packages/preset-center/lib/index.js:47-56 / README.md:23-29).
  • Provides 6 Chinese presets: Little Red Book Note Assistant / Chinese Copy Editing / Daily/Weekly Report Generator / Study Reading Notes Assistant / Translation & Bilingual Editing / Brainstorming & Topic Planning. Each disables shell, keeps fs / skill / ask-user / todo, some have web search enabled/disabled per scenario (packages/preset-center/presets/*/preset.yml).
  • Provides a "Preview" panel to see which files will be written, persona summary, and tool switches before applying, avoiding blind installation (packages/preset-center/lib/client.js:103-108).
  • Client has built-in bilingual Chinese/English text, switching with DSH's locale system (packages/preset-center/lib/client.js:13-30, 129).
  • "Remove" calls /preset-center/remove to delete the corresponding subdirectory under user root, allowing independent removal of each preset without affecting others (packages/preset-center/lib/index.js:58-62, 88-96).

Technical Implementation

  • Language: JavaScript (ESM, "type": "module")
  • Key Dependencies: @deepseek-ai/dsh-client-runtime / @deepseek-ai/dsh-client-ui-slots / @deepseek-ai/dsh-client-ui-settings / @deepseek-ai/dsh-client-locale (frontend injection only, see packages/preset-center/package.json:17-22); host side has no third-party dependencies, only uses Node built-ins node:fs / node:zlib / node:url / node:os / node:path (packages/preset-center/lib/index.js:5-9)
  • Architecture Pattern: cordis bundle dual-end injection — host side uses insert declaration in cordis.patch.yml to mount the preset-center module into the loader; at runtime, host side registers 3 HTTP routes /preset-center/list|apply|remove via inject: ['webServer']; client side injects into Settings page via __ModuleLoader__.load (packages/preset-center/cordis.patch.yml / packages/preset-center/lib/index.js:11-12, 64-99 / packages/preset-center/lib/client.js:5-7, 126-142)
  • Entry Files: host packages/preset-center/lib/index.js (route registration) / client packages/preset-center/lib/client.js (rendering Settings section)

Use Cases

Ordinary users who just installed DSH Web and want to get usable Chinese writing assistants (Little Red Book, copy editing, daily/weekly reports, translation, reading notes, brainstorming) without writing persona prompts themselves; especially Chinese writing, operations, self-media and other high-frequency scenarios, wanting a package that provides "select and start chatting" experience.

Prerequisites & Compatibility

DependencyMinimum VersionDescription
DSHNot Declaredpackage.json only declares dsh.bundle.patch and dsh.client (platform: web), no dsh.engines field; DSH version compatibility is not declared by the plugin (packages/preset-center/package.json:12-25)
Node^22.19 or >=24packages/preset-center/package.json:32-34 engines.node
PlatformCross-platformNo os / cpu restrictions, only depends on Node built-in modules
Native ModulesNoneHost side only uses node:fs / node:zlib etc. built-in APIs, no native binding

Installation

dsh plugin --profile web add github:whyihaveyou/dsh-suite/packages/preset-center

Configuration

ConfigTypeDescriptionDefault
DSH_HOMEEnvironment VariableDetermines which root directory preset files are written to; final preset location is ${DSH_HOME}/.agent-presets/<id>/~/.dsh (i.e., $HOME/.dsh)

This plugin has no DSH Schema / ctx configuration items; the 6 presets work with hardcoded switches in their respective agent.cordis.yml, cannot be toggled individually in Settings.

FAQ

Q: What needs to be done after installation to make presets take effect?

A: No DSH restart needed. This plugin writes preset files directly to the official user preset root (~/.agent-presets/<id>/), the official agent-presets plugin rescans this directory on every call. After installation, go to Settings → Agent presets and select the corresponding preset to start chatting.

Q: What is the relationship with official standard agent presets? Is it override or add?

A: It's add. After presets are written to the official user preset root, they appear as independent IDs in the Agent presets selector, coexisting with official standards; they will not replace or affect standard presets.

Q: Which presets are installed? Why does README only list 3 but I see 6 in the interface?

A: Actually 6 presets are bundled: Little Red Book Note Assistant / Chinese Copy Editing / Daily/Weekly Report Generator / Study Reading Notes Assistant / Translation & Bilingual Editing / Brainstorming & Topic Planning. The README table only lists the first 3, which is documentation not synced with the directory; the presets/ directory and interface both have 6 presets.

Q: Do these presets execute shell commands? Is it safe?

A: No. All 6 presets explicitly set tool-bash and tool-pwsh to disabled in agent.cordis.yml, disabling shell execution; available tools are fs / fs-search / skill / ask-user / todo, some presets (Little Red Book, Reading Notes, Brainstorming) additionally enable web search.

Q: How to uninstall a preset?

A: Click "Remove" on the card in Settings → Preset Packs. This plugin will call /preset-center/remove to delete the corresponding subdirectory under user root; preset-center itself is not uninstalled, the 6 presets can be removed independently.

Q: Where are presets installed? Do I need to reinstall if I switch computers?

A: Installed in <DSH_HOME>/.agent-presets/<id>/ (DSH_HOME defaults to ~/.dsh, can be overridden via environment variable); this directory follows the user's home, not the plugin, so after switching computers or reinstalling DSH, you need to re-apply with one click.

Q: Where is the "Preset Packs" entry in the UI? How to open it?

A: After restarting dsh web, the browser Settings page will have an additional section named "Preset Packs" (label injected by client, order: 70); expanding shows 6 preset cards, each supporting "Preview / One-Click Apply / Remove".

Difficulty

Beginner — Install + one restart of dsh web to see "Preset Packs" section in Settings, click card to apply with one click; no source code reading or configuration writing needed.

Known Issues & Limitations

  • Documentation out of sync with implementation: README table only lists 3 presets (Little Red Book Note Assistant / Chinese Copy Editing / Daily/Weekly Report Generator), but the presets/ directory and Settings UI actually contain 6 presets (additionally including Study Reading Notes Assistant / Translation & Bilingual Editing / Brainstorming & Topic Planning), the three are sorted by the order field in preset.yml (packages/preset-center/README.md:17-22 / packages/preset-center/presets/*/preset.yml / packages/preset-center/lib/index.js:30, 42).
  • Preset file write location is controlled by environment variable DSH_HOME, defaulting to ~/.dsh; but whether DSH's own home matches what this plugin reads as DSH_HOME is not validated in the source code, writing to mismatched directories will result in "presets not taking effect" (packages/preset-center/lib/index.js:17-19, 47-56).
  • Tool switches inside presets (web search toggle, shell disable) are all hardcoded in each preset's agent.cordis.yml, the plugin does not provide an entry in Settings page to modify these switches; adjustment requires editing ~/.agent-presets/<id>/agent.cordis.yml (packages/preset-center/lib/client.js:97-102 / packages/preset-center/presets/*/agent.cordis.yml).
  • All 6 presets disable shell and subagent-codex / subagent-claude-code two production providers, cannot have agents run commands or delegate to Codex / Claude Code sub-agents within these presets (packages/preset-center/presets/*/agent.cordis.yml).

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/whyihaveyou/dsh-suite/packages/preset-center)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory