Перейти к основному содержимому
A

dsh-chat-ux

alm-allen/dsh-chat-ux

Плагин UX области чата для веб-интерфейса DeepSeek Harness (dsh).

Установка

dsh plugin --profile web add github:alm-allen/dsh-chat-ux

README

dsh-chat-ux

English | 中文

面向 DeepSeek Harness(dsh) Web GUI 聊天区的 UX 优化插件。

装好之后,聊天区里模型吐字不再是整段闪现、思考行不会一直杵在那儿、过程组该开的时候开该收的时候收——而读者自己滚到哪里,都不会被动画抢回去。

它做了什么

  • token 淡入:模型的输出按 token 淡入,思考与正文都覆盖。开销只落在正在流式的那条消息里,不叠到别的插件的样式重算与 DOM 操作上;主线程已经忙不过来时它自己让路。
  • 思考行自动开合:思考时自动展开,这段思考结束就收起;读者自己动过手,就不再打扰。
  • 过程组自动开合:工具调用开始自动展开,这一段跑完再收起,展开收起都走一道卷帘门过渡。展开体里有好几张卡片的行(run_code 的代码加输出)也是一整扇门,不会一张一张地开合。
  • 增强跟随:思考结束、工具调用出现这些"内容要跳"的时刻,把贴底的读者交还给 dsh 的跟随;读者自己滚动离开底部时一概不插手。
  • 组体跟随:标准/简洁档里被限高的过程组,思考与工具输出照样不掉队,组体只滚纵向。
  • 文件变更行:run_code 里 write / edit 的改动,diff 行直接显示在聊天区。
  • 自带字体:正文 HarmonyOS Sans SC、等宽 Maple Mono NF CN,随插件一起发出,装插件的人不必自己装字体,两端看到的也是同一套字。
  • 插入符动效:输入框的光标会滑过去,打字、方向键、点击都算,80 ms。主输入框、提问卡片的作答框、排队消息的编辑框(给跑着的子智能体追加消息时用的那个)都算。
  • 聊天气泡动效(默认开):提交那一下输入框原样浮起来一份——工具栏收进两边的角里淡掉,外形收成气泡,字跟着形状重新排版——一路飞进消息列,整段固定 300 ms。位移与形状同一条曲线、都在合成器上(同一个 FLIGHT_MS 的时间轴),dsh 发消息那一刻主线程再忙,两条也一起走,右边缘不越界。
  • 工作步骤默认标准:网页端把 dsh 的「工作步骤展示」默认补成「标准」(dsh 自己的网页端默认是「详细」)。你之后在 设置 → 通用 → 工作步骤展示 里改过,就以你的选择为准,插件不再动它。

安装

在 dsh Web GUI 里打开插件页 →添加插件→ 输入包名:

@alm-allen/dsh-chat-ux

或者直接走命令行(等价于在 profile 目录里执行 pnpm):

dsh plugin --profile web add @alm-allen/dsh-chat-ux

装完重启 dsh、刷新页面即可。卸载用插件页的开关,或:

dsh plugin --profile web remove @alm-allen/dsh-chat-ux

从 GitHub 仓库安装

也可以直接从仓库装 —— 仓库里带了构建产物,所以不需要任何构建授权:

dsh plugin --profile web add github:Alm-Allen/dsh-chat-ux

想锁死到某个 commit(后续推送就改不了你装到的东西):

dsh plugin --profile web add github:Alm-Allen/dsh-chat-ux#<commit-sha>

配置

插件装好后,在插件页的这一行上可以直接改:

项默认说明
增强跟随开关掉后,思考结束与工具调用出现时不再把读者交还给 dsh 的跟随。
自动开合开关掉后,思考行与过程组都不再自己展开收起,读者自己点开收起照常。
组体跟随随「增强跟随」不是单独一项:卡片上只有「增强跟随」那个开关,它同时控制限高过程组里思考与工具输出是否掉队。
插入符动效无论何时三档:关/移动时/无论何时。
聊天气泡动效开关掉后,提交时不再有那段起飞,消息照常出现。
自带字体开关掉后走系统字体栈。
自定义正文字体空填自己的字体栈,覆盖自带的正文字体。
自定义等宽字体空同上,覆盖等宽的编码字体。

「工作步骤展示」不在插件卡片上:它在 dsh 自己的 设置 → 通用 里,插件只在你没选过时把它补成「标准」。

兼容性

  • 在 dsh 0.1.7-rc.2 上开发与验证。
  • Node ^22.19.0 || >=24.0.0。

关于本仓库

这里是插件的源码与发行说明。构建脚本、内部设计文档不在本仓库内,因此 clone 之后不能直接 npm run build;需要用插件请直接安装 npm 上的包。

许可

MIT

Похожие плагины