dsh-granular-settings
Run the following command in DeepSeek Harness:
dsh plugin install joao-paulo-santos/dsh-granular-settings
Paste the following prompt into your AI chat to install this plugin:
Install the plugin by running dsh plugin install joao-paulo-santos/dsh-granular-settings in your DeepSeek Harness checkout; the full source code is available at https://github.com/joao-paulo-santos/dsh-granular-settings
About this plugin
Across the DSH ecosystem, plugins need user-facing knobs at different granularities: a model choice for one session, a build flag for a workspace, an accent color for the entire install. Before dsh-granular-settings, every plugin had to build its own settings plumbing from scratch. This plugin is the shared platform that eliminates that duplication: one registration API namespaced by the owning package name so dsh-foo and dsh-bar can never collide, eight control types, and three scopes, all rendered into a single Granular Settings page inside the settings dialog, grouped one box per owning plugin.
The eight controls—toggle, text, color, number, slider, enum, multiselect, and path—cover most real-world configuration needs. Enum and multiselect accept a zero-argument provider function in place of a static option list, evaluated at describe time, so an option list can track a live library without re-registration. Session, workspace, and global values live in their own JSON stores. On the browser side a single useSetting hook handles context derivation, doorbell subscriptions, reconnect, window-focus refresh, and optimistic writes through the host; when no session is open, session and workspace values read as undefined while global values keep working. When rows are not enough for a plugin, an entire custom tab component can be contributed into the page scroll area, receiving the same props the built-in tabs get.
This plugin is for DSH plugin authors who want their users to tune behaviour without hand-rolling settings UI. Register your controls, declare scopes and defaults, and the page appears automatically. The companion dsh-bouncing-squares-example ships three bouncing squares bound one-per-scope and exercising seven control types—fork it and you have a working starting point in minutes.
Screenshots
Use Cases
- A plugin author needs per-session, per-workspace, and global user configuration without hand-rolling a settings UI every time.
- Multiple DSH plugins coexist in the same settings dialog and need namespaced isolation so keys never collide.
- A plugin exposes enum or multiselect controls whose option lists must track a live library at describe time rather than being hardcoded.
Best For
- DSH plugin developers who need to expose configurable behaviour to end users.
- Teams maintaining multiple DSH plugins that share a single settings page.
- Small-plugin authors who want to skip hand-rolled settings forms and ship configuration quickly.
Related Plugins
Adds an Auto approval mode on the official workspace-write sandbox, classifying semantic risks, asking when ambiguous, and denying destructive operations.
Undo/rollback system for DSH: config & plugin snapshots, one-click undo/redo/restore, message-level revert, secret masking, safe mode, and offline WebUI/GUI/CLI rescue tools for when DSH won't start.
Packages all 87 SKILL.md files from upstream reverse-skill as a DeepSeek Harness plugin that auto-registers them for authorized reverse engineering, penetration testing, and security research.
Dockyard DSH is a native DeepSeek Harness plugin that unifies official OAuth/client sessions for Codex, Antigravity, Grok, Claude, and Cursor, providing account pool, model catalog, and quota status.