dsh-workbuddy:DeepSeek Harness 的 Wordless 风格主题

前言

DeepSeek Harness (DSH) 的空白会话英雄区域默认只提供基本的品牌标记和工作区选择入口。dsh-workbuddy 为这两个区域注入了 Wordless 风格的视觉样式,同时保持 DSH 原生编辑器和选择器芯片不变。

插件简介

这是一个主题类插件,由开发者 ml020 维护,采用 MIT 许可证。它通过重写特定插槽的样式,将默认的空白会话界面替换为更符合 Wordless 设计语言的 Lime 渐变品牌标记和 Wordless 风格菜单。

安装

使用以下命令安装插件:

dsh plugin add ml020/dsh-workbuddy

核心功能

插件主要对两个 DSH 英雄区域插槽进行重写:

  1. 品牌标记重写
    将 conversation.hero.brand.mark 插槽替换为一个 Lime(酸橙)渐变的品牌方块,其中包含 “W” 字样。该插槽不支持自定义欢迎标题,因为主机端 hero.headline 是硬编码的。

  2. 工作区菜单重写
    将 conversation.hero.workspace 插槽替换为 Wordless 风格的菜单。该菜单是 position: fixed 的,相对于锚定的触发芯片定位,当下方空间不足时会自动翻转显示在上方。菜单支持完整的键盘导航。

  3. 原生组件保留
    原生的 DSH Web 编辑器(对话框)和原生选择器芯片保持完全 untouched(未被修改)的状态。

  4. 键盘导航
    菜单支持以下键盘操作:

    • ↑ / ↓:在列表中移动光标,支持两端循环。
    • Home / End:跳转至列表首行或末行。
    • Enter / Space:选中当前光标所在的行。
    • Esc:关闭菜单并将焦点交还给主机芯片。
    • Tab / Shift + Tab:关闭菜单并交还焦点。
    • 可打印字符:支持输入字符进行工作区名称的快速跳转查找。
  5. 工作区创建流程
    插件通过声明 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜