본문으로 건너뛰기
X

xy-dsh (xy-dsh-lamp)

xinyuan-gao/xy-dsh/xy-dsh-lamp

Always-on-top lamp board for macOS: one lamp per agent, one row per session, collapsing to one lamp per running task; a lamp turns blue and blinks while an approval or a question is waiting on you, and the root agent finishing raises a system notification.

설치

dsh plugin --profile web add github:xinyuan-gao/xy-dsh

이 플러그인은 저장소의 xy-dsh-lamp 하위 디렉터리에 있습니다.

README

xy-dsh

License macOS Node DSH Listed Stars

DeepSeek Harness 插件集合。

Plugins for DeepSeek Harness — an always-on-top agent lamp board for macOS, plus a question navigator.

三个项目并行时的灯板

插件

插件做什么状态
xy-dsh-lampmacOS 置顶灯板,一个 Agent 一盏灯日常在用
xy-dsh-question-nav输入框上方的当前提问,可回退到任意一轮原型

灯板:置顶浮窗(不占 DSH 位置)、一 Agent 一灯、多会话分行、收起成一排小灯、五种背景、中英切换、拖动与位置记忆、审批与提问时蓝灯闪烁、根 Agent 结束发系统通知。

提问导航:输入框上方常驻当前提问,点箭头拉出按时间排列的历次提问,点任意一条把对话视图回退到那一轮;页头另有「问答总览」抽屉。回退只移动对话视口,不回滚任何会话内容。

灯板(macOS):

dsh plugin --profile desktop add "github:Xinyuan-Gao/xy-dsh#path:xy-dsh-lamp"

提问导航:

dsh plugin --profile web add "github:Xinyuan-Gao/xy-dsh#path:xy-dsh-question-nav"

装完重启 DSH Desktop,或重启 dsh web。要更新就重跑同一条命令。

前置条件:Node ≥ 22.19.0。灯板只在 macOS 上有窗口,且第一次加载需要 Xcode Command Line Tools——宿主会用 swiftchud.swift 编到 ~/.dsh/xy-dsh-lamp-hud.app。没有 swiftc 时灯板不出现,通知部分照常工作。

想改代码就 clone 下来、用 link: 装一份可编辑的:

git clone https://github.com/Xinyuan-Gao/xy-dsh.git
cd xy-dsh
dsh plugin --profile desktop add link:"$PWD/xy-dsh-lamp"

dsh plugin add 是把参数原样透传给 profile 目录里的 pnpm add,所以 pnpm 的 #path: 片段可以直接指定仓库里的子目录。

灯板

灯板动画:从待命到收成一行

它浮在所有窗口之上,不占 DSH 的位置。这张是真实桌面截图,底下的 DSH 窗口被盖住了,灯板亮度不变:

DSH 被盖住时灯板仍在最上层

一盏灯一个 Agent,一个会话一行;点 收起成一排小灯(一个任务一盏),点 × 退出,右键出菜单换背景。有审批或提问卡在你这的时候那盏灯转蓝闪烁——这是它最有用的一格。

功能、配置、以及每个实现选择背后的实测依据,都在 xy-dsh-lamp/README.md

兼容性

两个插件都在各自的 package.json 里逐版本声明与 @deepseek-ai/dsh 的兼容性(dsh.compatibility.dshReleases),并配了可复现的证据脚本:每个官方 release 在一次性 DSH_HOME 里跑 install → compose → uninstall。

当前声明与验证结果见 COMPATIBILITY.md

测试

./test/run.sh

六套、共 115 条断言:宿主逻辑(Node,任何平台)、HUD 进程生命周期(macOS)、提问导航的模块注册与挂载(Node)、页面渲染与交互、收起态与背景(后三套要 playwright)。

每套都在自己的临时 HOME 里跑,不会碰你真实的 ~/.dsh。细节和「每条断言对应哪个真实问题」见 test/README.md

License

MIT

README 里的图片是怎么来的

没有一张是手画的,也没有一张是录屏——都是 docs/ 里两个脚本用真实浏览器引擎渲染真实的 overlay.html 生成的,在受控背景前跑,所以不会带上桌面上的任何东西。

  • docs/make-intro.py 把灯板按状态序列逐步驱动,以固定帧率连续录成 GIF(含「等你」态的闪烁、收起态与中英切换)
  • docs/make-assets.py 出那几张静态 PNG(多会话、中英对照、五种背景)

想重新出图就跑对应脚本。

관련 플러그인