DSH plugin config-catalog: DeepSeek Harness plugin settings
The DeepSeek Harness plugin config catalog (config-catalog) is generated from source by script and lists, per loadable harness package, that package's config declaration verbatim; every config: block can be set from a cordis.yml entry, and each entry is tagged with inject, refs, and source (source). This article explains what it is, how to read it, and which fields you can and cannot configure.
What the DeepSeek Harness config catalog is: config declarations by package
config-catalog is a deployment-oriented reference: for every loadable harness package it lists, verbatim, the config declaration accepted by that package's apply function or service constructor (including JSDoc), plus all referenced types (source). Key points:
- It is generated from source — the file comes from
scripts/gen-config-catalog.ts, andpnpm run verify-config-catalogchecks its freshness. Expected: read it only; never edit it by hand. - The single config entry point is
cordis.yml— everyconfig:block can be set from acordis.ymlentry. Expected: find the package name, then write aconfig:block in the corresponding profile's config. - Scope is the harness layer — the catalog is limited to
packages/; the config tree may also load vendored cordis plugins (such as the console logger). Expected: if you cannot find a vendored plugin here, check its upstream docs. - Three references, three jobs — model-facing tool schemas live in the tool catalog, the wiring plugin authors rely on lives in each subsystem page's
cordis-surfacesection, and this catalog only lists config declarations. Expected: do not mix up their purposes.
Reading an entry: inject, refs, and source
Each package entry is tagged with three markers; once you read all three you know who the plugin depends on and where else to look for types (source). One by one:
inject— lists the service keys the plugin injects. Expected: it reminds you that the plugin'scordis.ymltree must also load the providers for those services, or the plugin will not start.refs— lists types the declaration references but does not paste here. Expected: follow it when you need the full definition.source— links to the file that declares this config. Expected: reading the source is the surest way to confirm field semantics or defaults.
Which DSH plugin fields you can and cannot configure
What is pasted is the plugin's full declared config type — fields the runtime schema deliberately excludes are runtime-only seams (their JSDoc says so) and cannot be set through cordis.yml (source). How to tell:
- Check for a runtime seam first — excluded fields carry their own note. Expected: writing such a field into
cordis.ymlhas no effect anyway. - Then land it with real fields — take DeepSeek session logging: you can turn it off with
session-log-deepseek.enabled: falsein a profile patch (source). Expected: the config only takes effect when the field name matches both the catalog and the source. - Verify by profile after editing — confirm you wrote it into the profile actually in use. Expected: trying another profile once rules out "wrote it in the wrong layer".
To find ready-made plugins and see what the community configures, start on DSH Plugin Hub, then check the config fields a plugin exposes here.
Notes and common questions
- Do not hand-edit generated files: config-catalog is a build artifact, and changes are flagged as stale by verification.
- Unsatisfied
injectfails startup: if the service providers are not loaded in the same config tree, the plugin cannot inject. - Schema-excluded fields cannot be set: do not try to bypass a runtime seam through
cordis.yml. - A field-level catalog is not an override rule: to learn how multiple patches merge and which wins, see Change DeepSeek Harness plugin config.
- Want to know where config files live: see Where DeepSeek Harness config files live.
Sources: Plugin config catalog (official docs), Python SDK (official docs)
FAQ
The DeepSeek Harness plugin config catalog (config-catalog) is a deployment-oriented reference generated from source by script. For every loadable harness package it lists the config declaration accepted by that package's apply function or service constructor (including JSDoc), with all referenced types. Every config: block can be set from a cordis.yml entry.
On a DeepSeek Harness config-catalog entry, inject lists the service keys the plugin injects, and its cordis.yml tree must also load the providers for those services. refs lists types the declaration references but does not paste inline. source links to the file that declares the config.
In DeepSeek Harness, what is pasted is the plugin's full declared config type, while the runtime schema deliberately excludes some fields. Those are runtime-only seams (their JSDoc says so) and cannot be set through cordis.yml.
In a DeepSeek Harness profile's cordis.yml or cordis.patch.yml, write a config: block on that plugin's entry and fill values using the field names from config-catalog. For example, DeepSeek session logging is turned off with session-log-deepseek.enabled: false.
In DeepSeek Harness, model-facing tool schemas are in the tool catalog (tool-catalog); the wiring plugin authors rely on is in the generated cordis-surface section of each subsystem page. config-catalog itself only lists config declarations by package.
Related Terms
- config-catalog
- config-catalog is the generated DeepSeek Harness plugin config catalog; it lists the config declaration and referenced types of every loadable harness package, is deployment-oriented, and must not be edited by hand.— DeepSeek Harness Documentation - Plugin config catalog
- cordis.yml
- cordis.yml is the DeepSeek Harness config tree file; it declares in entries which plugins to load and their config: blocks, and every config declaration listed in config-catalog can be set from an entry here.— DeepSeek Harness Documentation - Plugin config catalog
- inject
- inject is one of the config-catalog entry markers; it lists the service keys the plugin injects, and for the plugin to work its cordis.yml tree must also load the providers for those services.— DeepSeek Harness Documentation - Plugin config catalog
- refs
- refs is one of the config-catalog entry markers; it lists the types the config declaration references but does not paste in the entry, so you can follow the link to the full definition.— DeepSeek Harness Documentation - Plugin config catalog
Sources
- DeepSeek Harness Documentation - Plugin config catalog· deepseek-harness
- DeepSeek Harness Documentation - Python SDK· deepseek-harness