Files
deepseek-harness/packages/settings
Yichen Jiang 1570eeeaee feat(web): manage plugins and per-preset settings from the browser
Add the Manage plugins tab (ui-settings-plugin-manager): package cards
with enable/disable switches, retry and uninstall, an install dialog
streaming pnpm output, and the selected preset's composition with per-row
switches and removal; the read-only list gains provenance facts.

Settings cards edit one scope at a time: ui-settings keeps one describe
mirror per settings scope (SettingsMirrorRegistry) and binds
{ namespace, scope }; ui-settings-plugins stages forms per scope, marks
inherited fields, and adds the skill-filesystem roots card.

Fixes surfaced by driving the browser end to end: the client gateway now
lets a call omit trailing parameters that accept undefined (PR3's
optional scope arguments failed the strict arity check), the plugins
install verb is `add` because the client namespace service reserves
`install`/`remove` (guarded by remote-method-names.host.spec), a plugin
module offers its main export as an addable `.`, and describing a settings
scope no owner registered resolves over the global instance's base and
never throws.

The web e2e scaffold can mount a profile runtime over fixture packages;
plugin-manager.e2e drives the tab and writes one field under a preset
scope; plugin-config and settings-chrome goldens are refreshed.
2026-09-04 04:32:31 +08:00
..
…

description, kind
description kind
Package map for the user-settings capability family: the ctx.settings service that resolves per-namespace configuration, and the YAML/JSON file provider that stores it. package-group

settings/ — user-editable configuration

English | 中文

Summary

The settings/ group makes plugin configuration user-editable: a plugin registers a named namespace with a schema, and users override values in one document without touching cordis.yml. User overrides win over the deployment's own configuration and schema defaults, and changes apply live. Two packages cover the capability: settings/ provides the settings service, and settings-file/ stores every namespace in one YAML or JSON document users can edit. Settings are optional: without a provider mounted, configuration stays exactly as composed.

Table of Contents


Packages

Two packages cover the capability; each child README owns the full contract, and the subsystem reference owns the exhaustive service surface.

Package Role ctx key
settings/ Settings service: register namespaces and read or change their values ctx.settings
settings-file/ Stores settings in one local YAML/JSON file and hot-publishes external edits registers ctx.settings

Start with the subsystem reference for the shared vocabulary, then the capability-seam split this family follows.

  • Settings subsystem reference — namespaces, layered resolution, descriptors, change commits, and the generated cordis surface.
  • Capability seams — the Service Definition / Service Provider / Consumer split this family follows.

Dev Note

Working context for maintainers — click to expand

None.