前言¶
DeepSeek Harness (DSH) 在运行任务时,Web GUI 的状态栏会显示“Deep diving…”。这个提示信息在长时间运行的任务中显得单调。DSH 采用插件化架构,插件 vincent-guo/dsh-loading-phrases 的作用是在不改变原有 UI 布局的前提下,将这段文本替换为交替出现的机智短语和实用提示。
插件简介¶
这是一个由 vincent-guo 维护的插件,属于“趣味换装”类别。它的核心功能是在 DSH Web GUI 中,用随机的“机智短语”和“实用技巧”替换“Deep diving…”状态,同时保留原有的流光动画效果和运行时间计时器。
核心功能¶
该插件在任务运行期间(即原状态线出现时)介入,具体行为如下:
- 位置与样式保留:文本替换发生在与原状态线相同的位置,渲染效果(如流光渐变)和 15 秒后出现的计时器完全保持原样。
- 严格的交替逻辑:采用严格的 5 秒机智短语 / 10 秒实用技巧的交替模式,且每次任务开始都从机智短语开始。
- 不重复洗牌:使用 Fisher-Yates 洗牌算法实现不重复的随机轮播,同一轮次内不会出现重复条目。
- 语言适配:根据 GUI 的语言环境(
zh为中文,其他为英文)自动选择对应的短语库。 - 无障碍支持:将文本同步到状态行的
aria-label,确保屏幕阅读器能读出实际内容。 - 宽屏截断:在窄窗口下,超长短语会自动截断并显示省略号。
- 失效回退:如果插件脚本失效或 DOM 结构发生变化,插件会记录控制台诊断信息,并自动回退到 DSH 原生的“Deep diving…”文本,不会导致界面崩溃。
安装与启用¶
通过 CLI 安装该插件:
dsh plugin --profile <profile> add @vincent-guo/dsh-loading-phrases
该插件声明了 dsh.bundle.patch,因此 dsh plugin add 会自动协调 dsh.profile.bundles。安装后,重启 DSH 进程并刷新 Web GUI 页面(⌘/Ctrl+Shift+R)即可生效。
如果安装时未使用 bundle 协调机制,需要在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中手动添加 load row:
- insert:
- id: loading-phrases
name: '@vincent-guo/dsh-loading-phrases'
配置与自定义¶
插件提供了一个图形化设置面板来管理配置。
GUI 设置面板¶
在 Web GUI 的侧边栏底部,进入 Settings -> Loading Phrases 页面。你可以在此进行以下操作:
- 模式选择:支持
all(交替)、witty(仅机智短语)、tips(仅实用技巧)、off(关闭,恢复原生文本)。 - 时长设置:调整机智短语和实用技巧的停留时间(单位:秒,存储为毫秒)。
- 洗牌开关:控制是否启用不重复随机轮播。
- 语言策略:选择
auto(跟随 GUI)或强制指定en/zh。 - 内容编辑:通过 English / 中文 标签页编辑对应的短语和技巧列表。
- 保存策略:点击保存会即时应用更改。Save phrases 按钮仅写入修改过的部分,未修改的列表将保持为空(继承内置内容)。
- 打开配置文件:点击“Open phrase config”按钮,会使用默认编辑器打开配置文件进行批量编辑。
配置文件¶
配置文件位于 ~/.dsh/dsh-loading-phrases.json。这是机器本地的配置,所有配置文件都共用此一份。插件以 MIT 许可证发布。
默认配置结构如下:
{
"loadingPhrases": {
"mode": "all",
"wittyIntervalMs": 5000,
"tipsIntervalMs": 10000,
"shuffle": true,
"language": "auto",
"phrases": { "en": [], "zh": [] },
"tips": { "en": [], "zh": [] }
}
}
内容来源¶
- 机智短语:数量为英文 49 条、中文 24 条,来源为 Qwen Code 的 web-shell 列表(Apache-2.0 许可证)。
- 实用技巧:数量为英文 40 条、中文 40 条,针对 DSH UI 的实际行为编写。
开发与扩展¶
如果你想修改源内容,可以编辑 src/data/witty.json 和 src/data/tips.json(注意:这两个文件中的 en 和 zh 是独立的内容,并非翻译关系)。修改后,运行 node scripts/sync-data.js 重新生成 lib/client.js 中的数据块。
适用场景与注意¶
该插件适合希望在长时间运行的任务中获得更丰富视觉反馈的 DSH 用户。
注意事项:
* 插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
* 修改代码文件(如 lib/*.js)需要重启 DSH 进程,单纯修改配置文件刷新页面即可生效。
* 插件不保证在 DSH 未来版本 UI 结构剧烈变更时的兼容性,但内置了失效回退机制。
总结¶
DSH Loading Phrases 通过简单的配置和自定义,将枯燥的运行状态转化为动态的交互体验。它遵循 DSH 插件化的设计理念,提供了完善的 GUI 管理面板和配置文件编辑能力。
- GitHub 仓库:https://github.com/vincent-guo/dsh-loading-phrases
- 插件目录:https://www.skillhub.cn/plugins/vincent-guo/dsh-loading-phrases