前言¶
DeepSeek Harness (DSH) 的空白会话英雄区域默认只提供基本的品牌标记和工作区选择入口。dsh-workbuddy 为这两个区域注入了 Wordless 风格的视觉样式,同时保持 DSH 原生编辑器和选择器芯片不变。
插件简介¶
这是一个主题类插件,由开发者 ml020 维护,采用 MIT 许可证。它通过重写特定插槽的样式,将默认的空白会话界面替换为更符合 Wordless 设计语言的 Lime 渐变品牌标记和 Wordless 风格菜单。
安装¶
使用以下命令安装插件:
dsh plugin add ml020/dsh-workbuddy
核心功能¶
插件主要对两个 DSH 英雄区域插槽进行重写:
-
品牌标记重写
将conversation.hero.brand.mark插槽替换为一个 Lime(酸橙)渐变的品牌方块,其中包含 “W” 字样。该插槽不支持自定义欢迎标题,因为主机端hero.headline是硬编码的。 -
工作区菜单重写
将conversation.hero.workspace插槽替换为 Wordless 风格的菜单。该菜单是position: fixed的,相对于锚定的触发芯片定位,当下方空间不足时会自动翻转显示在上方。菜单支持完整的键盘导航。 -
原生组件保留
原生的 DSH Web 编辑器(对话框)和原生选择器芯片保持完全 untouched(未被修改)的状态。 -
键盘导航
菜单支持以下键盘操作:↑/↓:在列表中移动光标,支持两端循环。Home/End:跳转至列表首行或末行。Enter/Space:选中当前光标所在的行。Esc:关闭菜单并将焦点交还给主机芯片。Tab/Shift+Tab:关闭菜单并交还焦点。- 可打印字符:支持输入字符进行工作区名称的快速跳转查找。
-
工作区创建流程
插件通过声明conversation.hero.workspace.directoryFlow子插槽,补全了主机端未提供的创建回调。这意味着用户可以通过菜单中的 “Add workspace…” 操作正常创建新工作区,且该操作与原生目录选择器的行为一致。
注意事项¶
- 注入机制:插件使用
ctx.slots.inject来覆盖默认插槽,而不是添加额外的插槽。每个插槽独立注入,因此它们的生命周期不耦合。 - 焦点管理:键盘导航要求菜单打开时,光标所在的行必须已经获得焦点。如果菜单打开时没有光标行,第一次按键会直接跳过第一行。此外,菜单会根据当前选中的 ID 来渲染选中状态,并在刷新时保持光标行可见。
- 创建回调:由于主机端的
renderSlot调用不包含创建回调,插件必须自行处理工作区创建逻辑。如果创建被拒绝,会通过可重试的对话框提示,而不是静默失败。
结语¶
对于希望调整 DSH 界面视觉风格但又不想触碰原生编辑器的用户,dsh-workbuddy 提供了一个轻量级的解决方案。它通过覆盖插槽实现了 Wordless 风格的定制,同时完整保留了工作区管理和创建的交互逻辑。
插件目录:https://www.skillhub.cn/plugins/ml020/dsh-workbuddy
GitHub 仓库:https://github.com/ml020/dsh-workbuddy