Preface

DeepSeek Harness (dsh) packages model adaptation, tools, sessions, sandboxes and UIs as plugins, with the official repository slogan “Everything is a plugin”. It is often difficult to quickly tell which built-in capabilities are actually running in the web interface, which ones are overridden by profiles, and which are just agent presets for the current session. Several “plugin toggle boards” have appeared in the community, but they only manage the lifecycle of third-party plugins installed by users, and do not review official built-in items based on evidence.

dsh-builtin-toggles takes a different approach: it first builds an inspector, then provides extremely narrow, fail-closed toggles for 9 reviewed UI controls. This article cross-checks and organizes information from the community directory page, GitHub repository README, Inspection API documentation and npm page: what it is, what it can inspect, how to install and use it, and what it explicitly cannot do.

Two things need to be clarified first. First, DeepSeek Harness is currently in developer preview, and the official README notes that there will be breaking changes. Second, deepseek-harness-plugin.com is an independent community directory and has no official affiliation with DeepSeek / Fangdian, so it should not be treated as an official app store.

What is it

dsh-builtin-toggles is a UI enhancement plugin for DeepSeek Harness Web, with the product name Evidence-backed Built-in Capability Inspector. The GitHub repository is maintained by Starfie1d1272, and the npm package name is also dsh-builtin-toggles, with the current version 0.3.2 and MIT license. The repository README clearly states that this is an unofficial community plugin and is not affiliated with or supported by the official DeepSeek Harness team.

The problem it solves can be summed up in one sentence: it exposes the built-in capabilities in the current Web Loader to you, and only allows modifying the 9 reviewed pure UI toggles.

The community directory categorizes it under “UI Enhancements”, and the catalog page introduction reads “Evidence-based DeepSeek Harness Web Built-in Capability Inspector”. As of August 17, 2026, the GitHub API shows the repository has 7 stars; the catalog page still showed 5 stars at the time, so star counts should be based on the GitHub primary data. The main language is TypeScript, and it only hooks into the web profile.

It is not a general-purpose plugin manager, nor does it provide a marketplace, and it will not install, update, or delete third-party plugins. The similarly named dsh-plugin-toggle manages the start/stop of loaded plugins, which is a different tool from this inspector.

Core Features

Capability Inspector

After installation, the entry is at Settings → Plugins → Built-in Plugins (current copy from the repository README; the community directory intro still writes “Built-in Toggles”, refer to the repository for the actual UI).

The page displays capability inspection generated by the Host, not the state guessed by the browser itself. Each entry shows:
- Running status
- Profile override tri-state (inherit / force-enable / force-disable)
- Agent preset attribution
- Composition scope (Host composition, or Agent preset composition mounted per session)
- Audit trace and supporting evidence
- Compatibility
- Server-calculated mutation eligibility (whether configuration changes are allowed)

The inspection scope includes external, un-reviewed, and abnormal entries. Filtering can be done by ID/package name, category, management plane, composition scope, policy, validation, running status, and exceptions. When you need to share logs externally, the page provides a de-identified diagnostic report that does not include local paths or configuration content; a success or failure prompt will appear next to the copy button.

In version 0.3.2, the Chinese copy has been aligned: when there is no structural drift, the Doctor summary will read “No structural drift detected” instead of using “Runtime identity unavailable” as the default health status. The Host currently does not expose a stable runtime release identity, so Compatibility will truthfully show unverified, and the plugin will not guess the version from module paths or private fields.

Composition Scope: Host and Agent Presets Are Counted Separately

In the same Loader, Host/profile combinations and Agent preset combinations mounted per session can share a bare ID, such as tool-bash. The inspector distinguishes scopes by the Loader’s exposed Entry.id (including the tree-owner chain), and will not misjudge this legitimate coexistence as duplicate_runtime_id. Only when IDs collide within the same scope will it be marked as drifted and fail-closed.

Entries assembled by Agent presets per session, such as tool-* and plan-mode, will be labeled separately. The server locks them directly: policy=locked (reason agent-preset), mutationEligibility=ineligible. They will not borrow the manageability of identically named Host entries, nor will they become configurable items in the Web profile.

9 Reviewed UI Toggles

The toggles only cover the following 9 IDs, all of which are pure UI leaf nodes acting on the web profile, affecting all Web sessions, but will not modify Agent presets:
- ui-deliverables
- ui-jobs
- ui-goal
- ui-message-feedback
- ui-model-selection
- ui-agent-preset
- ui-skill
- ui-subagent
- ui-trajectory

The manageable list is stored in MANAGEABLE_IDS in src/policy.ts. Forcing enable/disable will update the Host and persist changes; “Restore inheritance” only deletes the top-level literal disabled override written by this plugin, and lower-level values are handled by DSH’s profile/HMR recomposition.

Core services, Agent capabilities, third-party and unknown entries are all locked. There is no generic plugin manager, nor installation/update lifecycle.

Inspection API v1

The machine interface is read-only:

GET /api/builtin-toggles/v1/inspection

The response uses schemaVersion: "builtin-toggles.inspection/v1", does not include localized copy, and provides inventory, audit baseline, configuration tri-state, compatibility and eligibility. Loopback and explicit trusted hosts can read the data; POST requests to modify configuration additionally require loopback same-origin. trustedHosts is only used to prevent DNS rebinding, not for authentication. The Inspector is read-only when accessed remotely.

Installation and Activation

Prerequisite: The DSH web profile has been initialized. The currently reviewed baseline for the plugin is published @deepseek-ai/dsh-base@0.1.0-rc.6 and @deepseek-ai/dsh-web-app@0.1.0-rc.6, not a version range promise like >= rc.6. Future public versions may still install and run, but will not automatically become a supported baseline without explicit review. The package.json requires Node.js ^22.19.0 || >=24.0.0.

The installation command given on the community directory page is:

dsh plugin add github:Starfie1d1272/dsh-builtin-toggles

The directory page also reminds users that for reproducible installations, the commit hash should be pinned, written as github:Starfie1d1272/dsh-builtin-toggles#<commit>. Do not paste the #commit text literally, replace <commit> with the actual hash from the repository.

The repository README shows installing via npm package name into the web profile, which is two separate public paths from the GitHub source on the directory page:

dsh plugin --profile web add dsh-builtin-toggles
dsh web

If there is no global dsh CLI, you can use:

npx @deepseek-ai/dsh plugin --profile web add dsh-builtin-toggles
npx @deepseek-ai/dsh web

After installation, you need to restart DSH web / gateway so that the startup process can read the bundle layer. The publisher recommends pinning the version and not automatically drifting with upstream.

Both the directory page and the repository include the same security warning: The plugin runs with the permissions of the current dsh process, and may execute code during installation. You should check the source code repository and license before installing.

To uninstall:

dsh plugin --profile web remove dsh-builtin-toggles

Or:

npx @deepseek-ai/dsh plugin --profile web remove dsh-builtin-toggles

Then restart. The plugin will not automatically delete user profile content. If you have previously forced enable/disable for the 9 controls, you should perform “Restore Inheritance” before uninstalling to only clear the top-level disabled override written by this plugin.

Typical Usage

The steps below are sourced from the repository README and Inspection API documentation, and can be followed exactly:
1. Confirm that the web profile has been initialized, install the plugin according to the previous section, and restart DSH.
2. Open DeepSeek Harness Web and go to Settings → Plugins → Built-in Plugins.
3. First check the Doctor / Inspector overview: check for structural drift, abnormal items, and non-writable profiles. On a clean rc.6 + built-in standard Agent preset, the repository screenshot shows “Only abnormal items” as 0; Compatibility will still be unverified when the runtime identity is missing, which is expected behavior and not a failed installation.
4. Use filters to narrow down the scope. Host entries and Agent preset entries will be displayed separately even if they have the same ID, do not treat the locked status on preset entries as a fault.
5. Only toggle the 9 UI controls listed above. The actions accepted by the API are force-enable, force-disable, and restore-inheritance. After success, the runtimeEffect for force actions will be applied; for restore inheritance it will be recomposing, indicating that the profile has been submitted, and the runtime will wait for DSH’s watcher to recompose, and there is no guarantee that already open pages will sync immediately. The page will re-pull the inspection data afterwards.
6. When you need to share the current status with others, use the de-identified diagnostic copy on the page, do not directly paste local paths or raw profile content.

To read this list programmatically, request it under loopback:

curl -sS http://127.0.0.1:3080/api/builtin-toggles/v1/inspection

3080 is the default port for the official dsh web command; replace it with your actual origin if you have modified the binding address. Remote trusted hosts can read the data, but cannot send POST requests to modify configuration.

Applicable Scenarios and Notes

It is suitable for the following groups of people:
- Developers troubleshooting on DSH Web who want to confirm “whether this built-in control is actually enabled, whether it is overridden by a profile or an Agent preset”
- Distributors or integrators who need a machine-readable capability inventory by connecting to the Inspection API v1
- Users who only want to turn off a small number of reviewed UI modules without touching core services and tools

Things it is not suitable for, and should not be expected to do:
- Manage installation, updates, or deletion of third-party plugins
- Edit Agent presets, or treat tool-* entries in presets as Web profile toggles
- Interpret Compatibility unverified as “the current environment has been officially certified”
- Treat the 9 toggles as a stable supported surface on non-web profiles or unreviewed upstream versions

Once again, emphasize the security boundary: manageability only comes from the server allowlist, the browser is not an authorization boundary; each POST request will re-verify the list, package identity, self-protection, eligibility, and profile writer permissions. The plugin runs with the permissions of the current dsh process, please review the source code and MIT license before installing.

Summary

dsh-builtin-toggles turns the built-in capabilities of DeepSeek Harness Web into an evidence-based checklist, with only 9 reviewed UI toggles that can actually be toggled. It deliberately narrows its scope and adopts a fail-closed design, so it will not become another plugin marketplace.

Community Directory: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-builtin-toggles/

GitHub: https://github.com/Starfie1d1272/dsh-builtin-toggles

npm: https://www.npmjs.com/package/dsh-builtin-toggles