Skip to main content

dsh-ui-web/packages/dsh-web-ui-settings

34Stars2Forks0Issues0Watchers

Adds aggregated Web UI suite cards to the DSH settings page, editable persistent personality with a Mimi catgirl preset, and an About page. The DSH skill system automatically hot-reloads after saving a personality.

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

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

Language
TypeScript
License
Apache-2.0
Branch
main
dsh-plugindsh-plugin-marketdsh-plugins

Install

cmdweb profile
$ dsh plugin --profile web add @captain1275/dsh-client-ui-web-ui-settings

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 CAPTAIN1275/dsh-ui-web/packages/dsh-web-ui-settings for me: review the repository at https://github.com/CAPTAIN1275/dsh-ui-web 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-Sentence Positioning

DSH settings page's "Web UI Suite" container plugin: folds the entire dsh-web-ui family of feature plugins into a single aggregated card in the settings page, comes with an editable "persistent persona" editor (default provides catgirl Mimi) and a copyright notice page.

Core Capabilities

  • Insert a "Web UI Plugins" group card in the settings page "Plugin Configuration" area, containing enable toggles and configuration forms for all family feature plugins
  • Provides a "Persona Settings" section in the settings page: toggle, name, description, Markdown body - a four-piece set, one-click fill "Mimi" catgirl preset, save takes effect immediately
  • Provides an "About" section in the settings page: displays current plugin version, upstream project it's based on, third-party resource copyright and trademark notices
  • Background HTTP routing: read/write persona configuration, list built-in persona presets, query aggregated package version (for "Check for Updates")
  • When enabling a persona, automatically generate corresponding SKILL.md in user-level skills directory, DSH skill system hot-reloads, no restart needed

Technical Implementation

  • Language: TypeScript (ESM, target web)
  • Key Dependencies: @deepseek-ai/cordis, @deepseek-ai/dsh-host-webserver, @deepseek-ai/dsh-client-runtime, @deepseek-ai/dsh-client-ui-settings
  • Architecture Pattern: Dual-end plugin — host side (Node) registers /api/persona/* and /api/web-ui/version routes, client side (browser React) registers settings.plugin.item group card and two sections in settings.section
  • Entry Files: src/index.ts (host apply) + src/client/index.ts (client apply)

Use Cases

For users using the dsh-web-ui suite (including dashboard, skins, SSH, mascot, etc.) but don't want their settings page cluttered with a dozen independent cards. It organizes family plugins into one collapsible "Web UI Plugins" card and provides a persistent persona editor (catgirl, virtual companion, assistant tone customization can all be written).

Prerequisites & Compatibility

DependencyMinimum VersionNotes
DSH (host + client)0.1.0-rc.6+All official packages locked in peerDependencies are ^0.1.0-rc.6
Node.jsNot declaredNot declared in engines, follows host requirements
PlatformWeb onlypackage.json#dsh.client.platform = web
Native modulesNoneNo node-gyp modules introduced

Installation

dsh plugin --profile web add github:CAPTAIN1275/dsh-ui-web/packages/dsh-web-ui-settings

Configuration Options

This plugin requires no additional configuration. It's a container for the settings page and doesn't expose ctx.config.* fields. User-editable content is the form in the "Persona Settings" section (toggle, skill name, description, body), which saves to ~/.dsh/persona.json and ~/.dsh/skills/catgirl-rp/SKILL.md after saving, independent of plugin settings.

ConfigurationTypeDescriptionDefault Value
Enable PersonaToggleWhether it persists (when disabled SKILL.md is renamed for temporary storage)On
Skill NameTextMust be "lowercase letters/numbers/hyphens", used as SKILL.md directory namecatgirl-rp
DescriptionMulti-line TextWritten to SKILL.md frontmatter description, recommend including "Use when"Built-in catgirl description
Persona BodyMarkdownWritten to SKILL.md body, used as reply basis for each conversationBuilt-in catgirl body

FAQ

Q: No visible effect after installation, is it not working?

A: This plugin is a "settings page container" type plugin: after installation it won't change the conversation experience. It only adds "Web UI Plugins", "Persona Settings", and "About" three sections to the DSH settings page. To see other plugins it hosts (like dashboard, skins), you need to install the dsh-web-ui-all aggregated package or other family packages at the same time.

Q: Is the persona enabled after installation? How to turn it off or modify?

A: The "Mimi" catgirl persona is enabled by default (every conversation responds as Mimi). Go to DSH settings page "Persona Settings" section, turn off the top toggle to disable, or edit the body and click "Save" to overwrite immediately, no restart needed.

Q: Where is the persona saved after saving? Why does it take effect immediately in conversation?

A: When saving, it writes to ~/.dsh/persona.json, and simultaneously generates a skill file at ~/.dsh/skills/catgirl-rp/SKILL.md. The DSH skill system (dsh-skill-filesystem) hot-reloads that skill, all new conversations automatically apply it. When disabled, SKILL.md is renamed to SKILL.md.disabled instead of being deleted, and re-enabling restores it.

Q: Where does the version number shown in "About" come from? Why does it sometimes show "Unknown"?

A: On plugin startup, it reads its own package.json to get the current version, and on each request goes to npm registry to fetch the latest version of @captain1275/dsh-web-ui-all for comparison. If not retrieved within 8 seconds, it's considered not found (latest is null), and the frontend displays "Unknown". This doesn't affect usage, only affects update notifications.

Q: Can this plugin be used in desktop/CLI version?

A: No. It declares platform: web in package.json#dsh.client.platform, and only injects into Web settings page. DSH desktop client uses a different UI set, need to install the corresponding branch's dsh-web-ui-settings package.

Q: I want to completely uninstall, including removing the catgirl persona, how to do it?

A: First, in settings page "Persona Settings" section, turn off the toggle (or click save to overwrite with empty content), so ~/.dsh/skills/catgirl-rp/ gets renamed for temporary storage; then use dsh plugin --profile web remove to uninstall the plugin package; finally manually delete ~/.dsh/persona.json and residual ~/.dsh/skills/catgirl-rp/ directory to completely clean up.

Difficulty Level

Beginner — takes effect immediately after installation; no coding required, regular users can edit personas, check versions, and organize family plugin cards with just a few clicks in the settings page.

Known Issues & Limitations

  • "Check for Updates" feature strongly depends on npm registry accessibility; when offline or network restricted, it always shows "Unknown", no retry or fallback prompt
  • Default behavior is aggressive: after installation, the persona is in "persistently enabled" state and the content is a catgirl persona, unfamiliar users might be startled by the catgirl tone in their first conversation, need to actively turn it off in settings page
  • The directory name written to ~/.dsh/skills/catgirl-rp/SKILL.md is hardcoded as "catgirl-rp", strongly bound to "Mimi" persona content; after changing to a serious persona, the directory name is still catgirl-rp, need to also change the skill name
  • The plugin itself has no engines.node declaration, Node version compatibility is entirely determined by the host DSH

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/CAPTAIN1275/dsh-ui-web/packages/dsh-web-ui-settings)

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