Skip to content

dsh-custom-workspace

Verified

dsh-custom-workspace · v0.1.2 · MIT · Web UI

DSH web plugin: per-workspace background, chat font size, line height, block spacing, and Retina font rendering.

Install

dsh plugin add dsh-custom-workspace

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

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