前言¶
在 DeepSeek Harness(DSH)里做多轮对话时,提问和模型回答往往挤在同一条时间线里,轮次之间只有几像素间距,回头找「这一轮从哪开始」并不直观。社区里常见做法是改主题或自己写样式,但要么动面太大,要么和宿主 DOM 结构绑死。dsh-codex-chat 是 Song2012 维护的 DSH Web 侧纯样式插件(社区分类:趣味换装),只做会话区的视觉分层:轮次分隔线、右侧用户输入卡片,AI 回答保持左对齐纯文本,不改行为、不碰会话数据。
这是什么¶
dsh-codex-chat 给 DSH Desktop 的 Web 聊天界面注入 CSS,实现类似 Codex 风格的会话排版。仓库:GitHub - Song2012/dsh-codex-chat;社区目录页:skillhub.cn 插件页。当前 package 版本为 0.1.0,MIT 许可证。
它解决什么问题¶
多轮长会话里,原生布局轮次间距大约 6–12px,视觉上容易糊成一段。插件做三件事:
- 轮次分隔 —— 每轮开头 1px 细线 + 36px 留白,让每一轮重新起段;
- 用户输入卡片 —— 用户消息贴右:约 16% 品牌蓝底、40% 蓝边、3px 实心右缘条、14px 圆角;
- AI 回答保持纯文本 —— 左对齐、无容器,与右侧卡片形成对比。
间距与卡片配色通过 color-mix() 从主题 token 派生,深浅色主题均可使用(README 注明浅色主题未逐项校对观感)。
安装与启用¶
本地目录安装(开发期常用方式):
dsh plugin --profile desktop add link:/absolute/path/to/dsh-codex-chat
将 /absolute/path/to/dsh-codex-chat 换成你本机克隆或解压后的插件目录绝对路径。装完后重启 DSH Desktop:宿主在启动时读取 profile,不会热加载新 bundle。
卸载:
dsh plugin --profile desktop remove dsh-codex-chat
同样需重启 Desktop。
README 未提供 github:owner/repo 一类远程一键安装命令,请以仓库说明为准。
典型用法¶
安装并重启后无需额外配置:插件在浏览器侧 immediately: true 注入样式,打开已有会话即可看到轮次线与右侧用户卡片。它不修改发送、流式输出或历史加载逻辑,用法与未装插件时一致,只是界面排版不同。
实现要点(便于判断是否适合你的环境)¶
- 纯浏览器侧:宿主侧
apply()几乎为空;浏览器半在apply里插入<style>,由ctx.effect的清理函数移除。 - 选择器契约:依赖
data-chat-flow-kind="user",以及_userRow、_userStack、_bubble等 CSS Module 类名后缀,不依赖构建 hash。 - 品牌色:不用
--dsw-alias-brand-primary(默认深色主题下接近白);插件使用--dsw-alias-brand-primary-new-color,fallback 为#4176e6。
适用场景与注意¶
适合:长期在 DSH Desktop 里调试智能体、需要快速扫清「哪一轮是我问的」的开发者;希望零行为改动、只换会话区观感的人。
注意:
- 插件以当前 dsh 进程权限运行,安装前请自行阅读源码与 MIT 许可证,确认可接受注入的样式范围。
- 依赖宿主类名后缀;上游若重命名 CSS Module,卡片样式会失效并退回原生气泡(不报错、不影响功能)。
- README 实测环境:DSH Desktop 2.0.18、dsh 0.2.1-rc.2、Windows;其他版本需自行验证。
- 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件属于其中的界面换装类扩展。
结尾¶
dsh-codex-chat 用最小改动把多轮会话拆成「有分隔的轮次 + 右侧用户卡片 + 左侧纯文本回答」,适合不想改宿主源码、又希望会话区更易扫读的场景。详情与 issue 见 GitHub 仓库,浏览与发现同类插件见 SkillHub 目录页。