dsh-caps-beacon:用 Caps Lock LED 状态指示 DeepSeek Harness

前言

在 DeepSeek Harness (DSH) 中运行智能体时,通常需要在后台进行。如果代理在后台遇到需要批准的请求或错误,如果不主动查看终端,容易错过。dsh-caps-beacon 插件利用 MacBook 内置键盘的 Caps Lock 指示灯提供视觉反馈,让你在离开终端时也能通过键盘状态掌握代理的运行情况。

这是什么

dsh-caps-beacon 是 DeepSeek Harness 的一个客户端插件,由用户 xinyang920 维护。它将 Caps Lock LED 转换为状态信标,通过 LED 的亮灭和闪烁频率来指示 DSH 内部代理的状态。

核心功能

插件主要提供以下状态指示:

  • 常亮:根代理正在运行(执行工具、调用模型、重试等)。
  • 闪烁:需要用户关注。包括等待批准、等待回答(ask_user_question)、计划审查,或上一轮结束时处于错误/阻塞状态。
  • 关闭:空闲状态。

插件运行机制上是一个“纯观察者”,它监听 DSH 的公共主机事件(如 approval/request、tools/execute),通过写入一个 C 语言辅助程序来控制 LED,不进行按键注入,也不会修改键盘映射。

安装与启用

安装需要执行三个步骤。假设你使用的是 web 配置文件,其他配置文件操作类似。

  1. 添加插件到配置文件:
    dsh plugin --profile web add github:xinyang920/dsh-caps-beacon
  1. 构建 LED 辅助程序:
    进入插件目录并执行 make 编译:
    cd ~/.dsh/profiles/web/node_modules/dsh-caps-beacon && make
这一步会生成 `build/beacon-led` 二进制文件。
  1. 重启 DSH Web:
    Restart dsh web
插件在启动时加载。

如果系统提示权限不足,需要手动在 System Settings → Privacy & Security → Input Monitoring 中添加 dsh-caps-beacon/build/beacon-led 的访问权限。

配置

插件支持通过 cordis.patch.yml 进行配置。在配置文件中添加 dsh-caps-beacon 行:

- id: dsh-caps-beacon
  config:
    enabled: true
    ledPath: ""            # 默认使用内置的 build/beacon-led
    blinkIntervalMs: 250
    rootsOnly: true        # 默认只响应根代理,忽略子代理
    verbose: false         # 是否记录每次模式变更的日志
    triggers:
      approval: true       # 开启批准请求检测
      question: true       # 开启 ask_user_question 检测
      error: true          # 开启错误/阻塞检测

典型用法

安装并启动后,你可以通过键盘上的 Caps Lock 灯来掌握全局:

  • 观察工作状态:将任务交给代理后,LED 常亮,表示代理正在后台工作。
  • 测试闪烁:在对话中让代理调用 ask_user_question 函数,LED 会开始闪烁,提示你需要输入答案。

注意事项

  • 硬件要求:需要配备内置 Apple 键盘的 MacBook(Magic Keyboards 等外接键盘不支持)。
  • 依赖环境:需要 macOS 环境下的 Xcode Command Line Tools(用于 make 编译)。
  • 权限:可能需要授予 Input Monitoring 权限。
  • 许可证:插件遵循 MIT 许可证。

结尾

如果你习惯通过键盘状态判断代理运行情况,这个插件可以减少频繁切换窗口的打扰。你可以通过目录页查看更多插件信息,或在 GitHub 上查看源码。

  • 插件目录:https://www.skillhub.cn/plugins/xinyang920/dsh-caps-beacon
  • GitHub 仓库:https://github.com/xinyang920/dsh-caps-beacon
羽毛球分组比赛记分
小程序二维码

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

小夜