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:

  1. Install the plugin:
dsh plugin --profile <name> add file:/<repo-dir>/dsh-settings-plus
  1. Start the profile to let dsh.bundle.patch take effect.

  2. Browse registered settings namespaces and mounted plugin composition configurations on the settings surface.

  3. When modifications are needed, choose based on capability boundaries:
    - Form-level editing uses settings.section and the schema form renderer.
    - File-level editing uses writable root YAML files at $DSH_HOME and cordis*.yml.

  4. 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 dsh process permissions; source code, license, and installation path should be checked before installation.
  • License is MIT; package.json declares version 0.0.1 and private true.
  • Read-only by default. The crawler does not write; file browsing only enumerates and validates.
  • plain cordis.yml composition rows cannot be written via services; use the file surface or cordis.patch.yml if needed.
  • The plugin does not own a watcher; the host will hot-reload cordis.patch.yml and settings.yaml.
  • Writes are protected by expected-version guard, byte caps, and realpath boundary.
  • 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)