dsh-custom-workspace
English | 中文
这是一个 DeepSeek Harness Web 外部插件,为每个工作区分别保存背景、聊天字体大小、行间距、Markdown 块间距和字体渲染偏好。
功能
- 设置主工作区表面的背景颜色或图片 URL。
- 分别调整 Markdown 正文字号和行间距。
- 调整 Markdown 段落、列表、标题、引用和代码块的块间距。
- 开关适用于 Retina 显示屏的灰度抗锯齿渲染。
- 按工作区持久化到
$DSH_HOME/settings.yaml。
当前外观跟随当前会话所属的工作区;没有当前会话时使用最近选择的工作区。未保存覆盖值的工作区继承当前 DSH 主题。
效果示例
主题默认值(字号和间距继承 DSH):

紧凑阅读:13px 字号、20px 行间距、4px 块间距、#eef4ff 背景:

宽松阅读:20px 字号、38px 行间距、28px 块间距、#fff3e8 背景:

要求
- DeepSeek Harness
0.1.0-rc.6。 - Node.js
^22.19.0或>=24.0.0。 - 通过 loopback 地址访问 DSH Web;设置 RPC 会拒绝非 loopback 浏览器。
安装
把已发布的包安装到 Web profile,然后重启 DSH:
dsh plugin --profile web add dsh-custom-workspace
dsh web打开“设置 → 通用设置 → Workspace 外观”配置当前工作区。每项修改会立即保存。
卸载插件:
dsh plugin --profile web remove dsh-custom-workspace开发
pnpm install
pnpm run verify
dsh plugin --profile web add link:$PWD
pnpm run watch修改 src/index.ts 后需要重启 DSH。src/client/ 下的浏览器代码由 watcher 重建,并通过 DSH client HMR 加载。
安装 Playwright Chromium 后,可以对正在运行的 Web profile 执行浏览器冒烟测试:
pnpm exec playwright install chromium
pnpm run verify:browser -- http://127.0.0.1:3081持久化与安全
Host half 拥有 custom-workspace settings namespace。DSH 的通用 settings API 不暴露第三方 namespace,因此插件注册独立的 /custom-workspace Connection RPC channel。该 channel 只接受 loopback 请求,也不会暴露其他 settings namespace。
Browser half 会验证每个响应,再把值交给 presenter。写入失败时会重新加载 Host 值;断开连接或通过非 loopback 地址访问时,设置 scope 会标记为不可用。
Model Experience
无。工作区外观只影响浏览器显示,不会进入模型请求或会话日志。
已知限制
- 即使 DSH Web server 信任某个局域网 hostname,通过该 hostname 访问的浏览器也不能读写本插件设置。
- 背景图片直接使用配置的 URL,是否加载成功取决于浏览器网络和内容安全策略。
- 当前版本面向 DSH
0.1.0-rc.6;DSH 预发布 API 变化时不提供兼容 shim。
许可证
[MIT](LICENSE)