Introduction¶
The entry point for DSH settings is usually a form; in pluginized extension scenarios, developers also need to browse registered settings namespaces, view mounted plugin composition configurations, and perform controlled editing on some configuration files. dsh-settings-plus targets this gap: it provides form-level and file-level settings management capabilities for DeepSeek Harness and a set of SDKs for other plugins to register settings namespaces.
What is this¶
dsh-settings-plus is an MIT-licensed DSH plugin. There is an inconsistency in the name casing in the documentation: clues from GitHub/catalog point to oneinitAI, while the package scope is @oneinitai.
It is an independent plugin package, installed via a file: bundle into a DSH profile, not the host source code or build input.
Core Capabilities¶
Host Scanning¶
The plugin enumerates registered settings namespaces and mounted plugin composition configurations from the live cordis registry.
Read-only by default: the crawler does not write; file browsing only enumerates and validates.
Form-level Editing¶
Form-level editing is provided by the plugin through settings.section contributions and the schema form renderer.
Secrets are retained in the host seam; placeholders do not propagate with the data, and redaction occurs during the schema walk.
File-level Editing¶
The plugin can edit writable root YAML files at $DSH_HOME and per-profile cordis*.yml files.
The write path uses atomic writes and is protected by an expected-version guard, byte caps, and realpath boundaries.
Open Registration SDK¶
Other plugins can register their own settings namespaces. Entry points include:
registerUserSettings
defineSettingsSection
settingsNamespace
These interfaces are used to mount plugin settings to the host settings surface; secrets do not enter the plugin local context and are still handled by the host seam.
Installation and Activation¶
First, perform the installation. Use the file: method to load the repository directory into the specified DSH profile:
dsh plugin --profile <name> add file:/<repo-dir>/dsh-settings-plus
This command installs the current repository as a file: bundle, not incorporating the source code into the DSH build.
Next, perform activation. Start the profile after installation. The package manifest declares dsh.bundle.patch (cordis.patch.yml), which is used to combine plugin-related configurations into the current profile runtime.
Typical Usage¶
The following is the sequence of operations confirmed in verified documentation:
- Install the plugin:
dsh plugin --profile <name> add file:/<repo-dir>/dsh-settings-plus
-
Start the profile to let
dsh.bundle.patchtake effect. -
Browse registered settings namespaces and mounted plugin composition configurations on the settings surface.
-
When modifications are needed, choose based on capability boundaries:
- Form-level editing usessettings.sectionand the schema form renderer.
- File-level editing uses writable root YAML files at$DSH_HOMEandcordis*.yml. -
If other plugins want to expose their own settings, use:
registerUserSettings
defineSettingsSection
settingsNamespace
Applicable Scenarios and Notes¶
Suitable for scenarios where multiple plugins are already maintained within a DSH profile, needing a unified view and edit of settings and composition configurations, or where third-party plugins are expected to register settings namespaces.
Notes:
- The plugin runs with the current
dshprocess permissions; source code, license, and installation path should be checked before installation. - License is MIT;
package.jsondeclaresversion 0.0.1andprivate true. - Read-only by default. The crawler does not write; file browsing only enumerates and validates.
plain cordis.ymlcomposition rows cannot be written via services; use the file surface orcordis.patch.ymlif needed.- The plugin does not own a watcher; the host will hot-reload
cordis.patch.ymlandsettings.yaml. - Writes are protected by
expected-versionguard, byte caps, andrealpathboundary. - Inconsistency in name casing in documentation: clues from GitHub/catalog are
oneinitAI, package scope is@oneinitai. This text follows the installation commands and GitHub address provided.
Links¶
- GitHub: https://github.com/oneinitAI/dsh-settings-plus
- Directory page clue: https://www.skillhub.cn/plugins/oneinitAI/dsh-settings-plus (This address is from plugin clues and has not been confirmed in verified documentation)