dsh-preset-inspector
Manifest validRead-only inventory of every agent preset for the Web GUI, with a matrix of which preset holds which tools, MCP servers and skills, plus CLIs that move a plugin between presets.
dsh-preset-inspector
A read-only panel in the DeepSeek Harness Web GUI that answers "what is actually inside preset X?" — and a pair of CLIs that answer the same question from a terminal, plus one that moves a plugin between presets.

Why
A DSH profile runs several agent presets (Standard, Web, Media, Creative, …). Each preset declares a complete child plugin list, and those rows decide the tools, skills and MCP servers a session gets. Three things make that hard to see:
- The GUI picker shows preset names, not contents.
- A request header lists tool names, not which preset granted them.
- A plugin installed as a bundle mounts at host level, so its tools appear in every preset — silently, and at token cost in every session.
This plugin makes all of it visible, and gives you one command to change it.
What it shows
- Matrix — every capability (tool, conditional tool, MCP server, skill) against every preset.
- Per preset — tools grouped by the plugin that registers them, conditional tools with the reason each is not guaranteed, MCP servers and their endpoints, skill roots with counts and names, and every composition row with its state.
- Live — the data comes from the running preset registry, so a preset that failed to mount shows up with its diagnostic instead of hiding.
How it works
The host half reads ctx.agentPresets — the same registry the GUI picker uses —
flattens each preset's config.plugins, resolves every module to its package
directory and attributes the tool names that package registers. Host rows that
register tools are added to every preset, because ToolRuntime.view(scope)
inherits ancestor layers.
The browser half is a client module (exports["./client"]): the host ships the
snapshot as globalThis.__dshPresets through a global index-injection row, and
the client module renders it. No bundler, no route, no auth work.
Install
dsh plugin --profile web add github:anonamerjaxon-dev/dsh-preset-inspector
Or from a checkout:
dsh plugin --profile web add /path/to/dsh-preset-inspector
Then add dsh-preset-inspector to dsh.profile.bundles in
~/.dsh/profiles/web/package.json and restart dsh web. A ▦ Presets button
appears at the bottom-right of the GUI.
It registers no tools of its own, so it costs a session nothing in tool schemas.
CLIs (optional, no install required)
bin/ carries the terminal side of the same idea. node bin/dsh-presets and
node bin/dsh-preset-plugin, or symlink them onto your PATH.
dsh-presets list # presets with tool / skill / MCP counts
dsh-presets show creative # everything in one preset
dsh-presets matrix # capability × preset grid
dsh-presets diff standard web # what differs between two presets
dsh-presets json # machine-readable snapshot
dsh-preset-plugin list # every plugin and where it is mounted
dsh-preset-plugin where <plugin> # one plugin, with its row ids
dsh-preset-plugin move <plugin> creative,web # these presets only
dsh-preset-plugin everywhere <plugin> # back to every session (default)
dsh-preset-plugin off <plugin> # mounted in no preset
Both read dsh --profile <name> --dump-config, which composes the profile and
exits without binding a port — so they work while a server is running, and they
never touch one.
dsh-preset-plugin writes with a backup, recomposes to verify, and rolls back if
the composition fails. A move followed by everywhere leaves the file
byte-identical.
Requirements
- DeepSeek Harness
0.2.1-rc.2(the preset registry API it reads). - Node
>= 22.
No runtime dependencies.
Licence
MIT.
Comments
Loading…
Similar plugins
by pure-craft
DeepSeek Harness plugin: see what your agent can actually reach — skills, MCP servers, system tools with true in-context state, and per-session / per-preset switches
★ 10
↓ 505/wk
MIT
TypeScript
Oct 19, 2026
dsh plugin --profile web add dsh-capability-panelby null119
DSH(DeepSeek Harness)Web GUI 插件:在设置页管理 MCP 服务器——列出已安装工具,添加/编辑/删除、启用/停用;组合配置提供的 MCP 同样可在运行时直接编辑、停用、移除并恢复,无需重启宿主。
★ 20
↓ 83/wk
MIT
TypeScript
Aug 30, 2026
dsh plugin --profile web add dsh-mcp-manageby xiamubumu
Composes tools, skills and MCP servers into switchable per-session sets, shrinking the resident tool surface and the system prompt on demand.
★ 0
MIT
JavaScript
Oct 15, 2026
dsh plugin --profile web add dsh-capability-composerby penglai-doll
Plugin management tab for the Web Plugins settings: manage agent presets (list/read/validate/copy/remove, per-row enable/disable) and the dynamic Cordis plugin inventory, through a same-origin /plugin
★ 0
MIT
JavaScript
Aug 17, 2026
dsh plugin --profile web add dsh-plugin-managerby functy23
DeepSeek Harness 的 MCP 服务与 Skills 管理器:面板里增删改 MCP 行、扫描导入其他 Agent 配置、管理 Skills(DSH Web 插件)
★ 30
↓ 338/wk
MIT
TypeScript
Oct 6, 2026
dsh plugin --profile web add dsh-mcp-studioby JohnXu22786
Code knowledge graph plugin for agent harnesses (dsh): indexes symbols, call sites and imports into SQLite, answers call/dependency questions via CLI or stdio MCP tool server
★ 3
↓ 26/wk
MIT
Python
Oct 23, 2026
dsh plugin --profile web add dsh-codegraph