Repository navigation
DSH | ai-terminal-pet | Windows 置顶状态带:一眼看出哪个 DSH 会话在等审批 #13001
jjjjjjjjnnjnn
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
项目地址:
https://github.com/jjjjjjjjnnjnn/ai-terminal-pet
下载(Windows x64):
https://github.com/jjjjjjjjnnjnn/ai-terminal-pet/releases/tag/pet-v1.0.0
项目介绍:
专为 DeepSeek Harness 做的 Windows 原生屏幕边缘状态带。它是一条
56×156逻辑像素、始终置顶的窄带,贴在屏幕边缘:Harness 的后台回合开始跑时显示working,调用工具时显示tool_use,弹出审批时立刻换成呼吸脉冲并写明是哪个项目在等、等了多久;点某一行就把对应的终端窗口(Windows Terminal 能落到对应标签页)带到前台,不用再去猜是哪个窗口卡住了。它解决的问题很具体:Harness 的回合在后台跑,人在浏览器或编辑器里,审批请求不抢焦点也不会弹出系统通知,于是「十几分钟前就在等你点确认」这件事,只有当你切回去时才会发现。
如果同一台机器上还开着 OpenCode、Claude Code 或 Antigravity,也可以给那些终端各装一个上报端,把它们的会话聚合进同一块面板——这是可选能力,不是这个项目对 Harness 的前提。
与 DSH 的集成方式:
只挂载、不接管:这是一个 host-only 的 Cordis bundle,通过
dsh.bundle+cordis.patch.yml(insert:一行)由官方插件管理器加载。它不注册 Agent 工具、不加侧栏、不注入任何客户端 UI。只读状态,并且必须透传审批:
approval/request是 waterfall 监听器,插件在里面只做一件事——记下waiting_permission与工具名,然后无条件调用next();DSH 自己的审批流程完全不受影响。面板不能替你点 Allow,DSH 会话的授权始终在 DSH 里完成。事件到状态的映射(
session/event与少量服务事件):turn/start、agent/inbox/claimed、agent/status(run/busy)workingtool/calltool_use(带工具名)approval/request(waterfall)waiting_permissiontool/result带error、agent/error、command/done(kind=error)errorturn/end、agent/status(idle)idleclosed(HMR 的dispose不算退出,不会清面板)项目路径与会话血缘取自
session.header:桌面版 Harness 从自己的安装目录启动,process.cwd()一定不对,所以cwd、parentSession、createdAt都从会话头读——面板上的项目名才是你真正的项目。不需要 Go 工具链:包里带了预编译的浮窗二进制与协议模块,首次加载时只在文件缺失时拷进
%LOCALAPPDATA%\AI-Terminal-Pet\,绝不覆盖已有安装。安装只要一条命令:dsh plugin add dsh-ai-terminal-pet(当前 1.2.6),也可以装 Release 里的.tgz、钉 tag 的 git 源,或用github:jjjjjjjjnnjnn/ai-terminal-pet(仓库根有一份不含代码的清单 shim 负责解析)。会话存活不靠心跳:浮窗判定会话是否存在,靠观测系统进程表与窗口标题;上报端沉默不算会话结束,连续 2 分钟不可观测才会移除。
截图:
真实交互(等待呼吸 → 悬停展开 → 点击等待行):
展开态:每行是项目名、状态、来源与相对时间:
放在两个终端旁边是什么样子(面板是真实渲染器输出,两个终端是画的):
已知限制:
SHA256SUMS.txt可以逐文件核对,也可以用go build从源码构建——源码构建与 zip 里的字节是同一套脚本产出的。%LOCALAPPDATA%。已经跑过什么:
201 个 Go 单测(其中 11 个属于安装器本身)、162 项全新机器端到端套件(在自带
LOCALAPPDATA、USERPROFILE与命名管道的一次性沙箱里装一遍、跑三个二进制)、以及插件包自带的verify.mjs。go test -race、govulncheck、gosec没有跑过——本机缺 gcc 工具链——所以这里不声称做过安全扫描。要看细节或提问题,欢迎在仓库里开 issue。All reactions