dsh-chat-tune · 对话区界面设置
DeepSeek Harness Web 插件:在 设置 → 通用设置 里、「外观」正下方增加「对话区界面设置」,调节会话区的字号 / 字体 / 行距 / 段距 / 显示宽度,并可选 滚动时钉住本轮用户消息(类似 Cursor)。不改官方组件——通过覆盖官方 CSS 变量 seam + Client 叠加层生效。
设置 → 通用设置 → 对话区界面设置
安装
前置:本机已能运行 dsh web。
dsh plugin --profile web add github:xingyingyuzhui/dsh-chat-tune
装完重启 dsh web。打开 设置 → 通用设置,在「外观」下面就是本插件的控件。
本地开发:
dsh plugin --profile web add link:/abs/path/to/dsh-chat-tune
能力
| 项 | 说明 |
|---|
| 字号 | 小 13 / 偏小 14 / 标准 16 / 大 18 / 特大 20 / 自定义(8–48px) |
| 字体 | 系统默认 / 无衬线 / 衬线 / 等宽 / 苹方 / 思源黑体 |
| 行间距 | 紧凑 1.4 / 适中 1.6 / 标准 1.75 / 宽松 2.0 / 很松 2.4 / 自定义(1.0–3.0) |
| 段落间距 | 紧凑 8 / 偏紧 12 / 标准 16 / 宽松 24 / 很松 32 / 自定义(0–80px) |
| 显示宽度 | 窄 640 / 标准 748 / 宽 900 / 超宽 1100 / 自定义(480–2000px) |
| 代码块跟随 | 打开时代码块改用所选字体(默认保持等宽) |
| 输入框跟随 | 打开时底部输入框宽度同步内容宽度(默认开启) |
| 输入框边缘调宽 | 开启后,宽度拖拽把手仅在底部输入框两侧生效,消息区中部不再误触(默认开启) |
| 滚动钉住本轮用户消息 | sticky 本轮用户行;通过 shadow conversation.chat.node 把时间/复制放进蓝气泡内(平时 hover 出时间;钉住时常显);超长限高(默认开启) |
原理
- 正文字号/字族/行距覆盖官方 seam:
--dsw-font-markdown-base / -h1..h4(完整 font 简写)
- 段落间距改消息列里
p / 列表 / 标题的 margin-block
- 内容宽度:
composerFollow 开启时写在会话根 [data-phase] 上的 --dsh-chat-content-width 与 --dsh-composer-card-max-width;关闭时只改消息列
- 输入框边缘调宽:
composerWidthOnly 开启时裁剪官方 [data-width-handle] 热区,并用 ResizeObserver 同步 [data-composer-seat] 高度到 --dsh-chat-tune-handle-height
- 钉住本轮用户消息:
priority: -1 shadow 官方 user/steering 节点,时间+复制进气泡 DOM;控制器只给当前轮 flow 行打 sticky-head 并 position:sticky(不再用 CSS grid 硬叠官方 IconActions)
- 代码字体:
--ds-font-family-code
- 选择器挂在
body[data-dsh-chat-tune] 下
- 偏好存
localStorage(dsh-chat-tune:prefs)
卸载
dsh plugin --profile web remove dsh-chat-tune
开发
npm run build # 生成 client.js(改 chat-tune-*.mjs 后)
npm test # build:check + node --test
License
MIT