sky-unicorn/dsh-enhanced-plugins ↗★ 1
dsh-enhanced-plugins
Enhanced DeepSeek Harness bundle: MCP management, pi-ai request types, plugin market, workspace file references, and product subagent toggles
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:sky-unicorn/dsh-enhanced-plugins说明文档
阅读完整 README ↗Configuration
Plugin market
The plugin-market row in cordis.patch.yml defines:
- profile: target profile for install/remove, default web.
- topic: GitHub discovery topic, default dsh-plugin.
- pageSize: catalog page size, default 12.
- operationTimeoutMs: install/remove timeout, default 120000.
- githubTokenEnv: credential reference, default GITHUB_TOKEN.
- cliPath: optional absolute dsh executable; empty reuses the current Node launcher.
The built-in assets/plugins-cache.json is read-only. A verified synchronized cache and install records live below the DSH home plugin-market data directory. Token values are handled only through ctx.credentials and are never returned to the browser.
MCP servers
The mcp-manager registers the mcp namespace. Its Web card supports add/remove, import, format auditing, and masked env/header values. The Host owns validation and reconciles each configured server as an independent child fiber. Existing secret-bearing definitions are never rebuilt from a redacted browser snapshot.
pi-ai model request types
The pi-ai model request types card appears only while the official llm-pi-ai settings namespace is served. It lists model overrides already configured under providers..models and maps its choices as follows:
| Choice | Stored model field |
|---|---|
| Provider default | input is unset, preserving the installed catalog entry and then the route default |
| Text only | input: [text] |
| Text and images | input: [text, image] |
Each change uses the public settings.mutate API with the descriptor revision and writes only the selected route's complete models array, which is the adapter's array-replace field. Every unedited model object and its fields are retained. A conflict or failed write is followed by a fresh describe before another edit is allowed.
The card deliberately lives under Settings → Plugins because the shipped Models editor exposes no public child slot and Client bundle purity forbids importing its private React form. Add or remove model overrides on the Models page (or in settings.yaml), then set their request type in this card. Capability declarations are not endpoint probes: claiming image support allows durable image admission and read_image, but an endpoint that does not actually accept images can still reject the later provider request.
Referenced files
The referenced-file Host schema defaults are:
| Field | Default |
|---|---|
| maxCandidates | 20 |
| maxScannedEntries | 5000 |
| maxDepth | 12 |
| maxReferences | 8 |
| maxFileBytes | 131072 |
| maxTotalBytes | 524288 |
| indexTtlMs | 30000 |
| maxCachedWorkspaces | 8 |
Candidate traversal excludes common generated directories. Every selected path is resolved and containment-checked again at submission. Binary, invalid UTF-8, oversized, non-regular, and outside-workspace files are rejected.
Product subagents
Both claudeCode and codex default to false in the subagent-products namespace. Toggling a product path-writes only that boolean under revision fencing. The Consumer then mounts or disposes the corresponding official dsh-tool-subagent plugin without restarting the profile.
To scope these tools to selected Agent presets, disable/remove the root subagent-product-toggle-tools row and mount dsh-enhanced-plugins/sub-agent/preset only in those preset compositions. Do not mount both layouts in the same scope.