插件目录 / UI & Skins / dsh-output-setting
dsh-output-setting
已验证 · 实测可装 yijiezhong
功能简介
把「过程节点怎么展开、代码块多大、模型用什么语言回答」集中到一个配置页:自动展开思考与工具调用节点、实时调整代码块字号与行距、指定模型输出语言(自动跟随界面 / 中文 / English),全部改动实时生效、无需重启。
可用 — 实测通过,早期项目
把「过程节点怎么展开、代码块多大、模型用什么语言回答」集中到一个配置页:自动展开思考与工具调用节点、实时调整代码块字号与行距、指定模型输出语言(自动跟随界面 / 中文 / English),全部改动实时生效、无需重启。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-output-setting
English | 简体中文
An output-presentation settings plugin for DSH (DeepSeek Harness). It gathers "how process nodes expand", "how large code blocks are" and "which language the model answers in" into a single settings page — all applied live, no restart needed.
Where to configure: Plugins → dsh-output-setting (the plugin's own detail page, not a separate group inside Settings).

Settings
| Group | Setting | Type | Default | Description |
|---|---|---|---|---|
| Process nodes | Auto-expand reasoning | switch | on | New reasoning blocks show their full content |
| Process nodes | Auto-expand tool calls | switch | on | Command and other tool cards show input and output |
| Code blocks | Code font size | slider 1–3 | 1.4× | Font scale for code blocks and inline code (1 = DSH default, 11px) |
| Code blocks | Code line height | slider 1–2.5 | 1.6× | Line height = font size × this ratio |
| Output language | Model output language | select | Automatic | Automatic (follow UI language) / 简体中文 / English |
"Model output language" is written into the system prompt (not AGENTS.md), so it also constrains the hidden reasoning/thinking channel — AGENTS.md arrives as a user message and cannot reach that channel.
Install
Published on npm as dsh-output-setting.
Use the plugin manager; three sources work:
# 1. From GitHub (no npm publish needed)
plugin_manager(install_bundle, "github:yijiezhong/dsh-output-setting")
# 2. From npm (published)
plugin_manager(install_bundle, "dsh-output-setting")
# 3. Local development: link the source directory
plugin_manager(install_bundle, "link:/path/to/dsh-output-setting")
Make sure dsh-output-setting ends up in the profile's dsh.profile.bundles
(the plugin manager does this for you; see below for the manual route).
Manual install
cd ~/.dsh/profiles/desktop
pnpm add github:yijiezhong/dsh-output-setting
node -e "const f='package.json',j=require('./'+f);j.dsh.profile.bundles.push('dsh-output-setting');require('fs').writeFileSync(f,JSON.stringify(j,null,2)+'\n')"
Dependencies
npm install # installs the @deepseek-ai/schemastery declared in package.json
package.json declares exactly one dependency:
"dependencies": { "@deepseek-ai/schemastery": "~3.18.4" }
Why pinned to 3.18.x: on this machine the profile shared layer
(~/.dsh/profiles/node_modules) holds the old 3.18.1, which has no .volatile().
Desktop does not pass bareModuleBaseUrl, so bare specifiers resolve through plain Node
resolution — without a local copy the plugin hits the old version →z.number().volatile is not a function → module load fails → Config is missing → the
settings page never appears (listConfigs reports status: "absent", yet fiberPhase
still says active, which makes it very easy to misdiagnose). So it must ship its own 3.18.4.
⚠️ Do not move it into peerDependencies — as a peer it gets intercepted back to the
shared old 3.18.1 and the failure above returns. (This does not contradict official plugins:
they also keep schemastery in dependencies and only put @deepseek-ai/cordis in peer.)
react and cordis are not declared — the DSH runtime provides them (official client
plugins likewise only require("react") without listing it; official plugins were measured at
0 import cordis sites). peerDependencies.cordis was tried once and made npm pull a redundant
308K cordis copy into the plugin, so it was removed.
Development notes
- Changing the host half (
host.js) requires an app restart.disable → enable, renaming the
file, andremove + installall fail to reload the module (Node caches ESM by URL;dsh-hmr
only watches patch files). Verify a reload by writing a marker file as a side effect —
do not trustfiberPhase. - Changing the client half (
client.js) only needs a page refresh (Cmd+R). Note thatCmd+R
resets the whole DSH UI language to the browser language; switch languages from the settings panel
when testing localization. - The settings UI registers into
plugins.bundle.config(a keyed slot, key = this package name)
and renders between the plugin page's description and its component rows.
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-output-setting」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-output-setting Headless(CLI)profile:
dsh plugin --profile headless add dsh-output-setting 包信息
npm:dsh-output-setting · 版本 1.0.0 · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。