dsh-lookout
Verified@cowwo/dsh-lookout · v0.1.2 · MIT · Web UI
瞭望哨:盯着你的每个会话——谁跑完了、谁出错了、谁卡住了、谁在等你审批,用浏览器图标角标、红点/黄点和邮件通知你;顺带显示当前会话 ID。· Lookout: watches every session — who finished, who errored, who is stuck, and who is waiting for your approval — and notifies you through the browser favicon badge, red/yellow dots, an
Install
dsh plugin add @cowwo/dsh-lookout Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Readme
dsh-lookout(瞭望哨)
一个 DSH(DeepSeek Harness)插件。它把原来三个独立插件合并成一份:
- dsh-icon-custom:换浏览器标签页图标 / 系统应用图标角标
- dsh-notify-p:会话有动静时发邮件通知
- dsh-session-info:显示当前会话 ID
一句话:瞭望哨:盯着你的每个会话——谁跑完了、谁出错了、谁卡住了、谁在等你审批,用浏览器图标角标、红点/黄点和邮件通知你;顺带显示当前会话 ID。
功能
1. 换图标与角标
在设置页上传 SVG / PNG / ICO 作为标签页图标,立即生效并持久保存;自动适配安卓 / iOS / 平板的 PWA 图标。未读会话显示红点、正在进行的会话显示黄点,工作区数字、会话行、左上角、标签页图标都会显示;点数字可打开清单,点条目可定位到侧栏对应会话。还可以把未读数投到系统应用图标角标上(Windows 任务栏 / macOS Dock,需要授予通知权限)。
2. 邮件通知
会话跑完 / 出错 / 卡住 / 等你审批时发一封邮件。正文写清是哪个会话,并附一条可点击直达该会话的链接。SMTP 配置、收件人等都在设置页填写。短时间内的多次事件会按队列合并发送,避免轰炸邮箱。
3. 显示当前会话 ID
在会话头部右侧显示当前会话的完整 ID;复制时会净化剪贴板内容,避免选区夹带多余换行。
4. 文件行 ⋯ 菜单
文件面板里每个文件 / 文件夹行的右侧多出一个「⋯」按钮,点开可以:
- 复制路径:把这一行的绝对路径原样放进剪贴板(不是屏幕上显示的短名)。
- 下载:下载单个文件,上限 20 MB;超过会提示「文件超过 20MB,暂不支持下载」。
- 文件夹:菜单仍可打开,但「下载」是灰的,并标注「文件夹暂不支持」。
设置页里有「文件行 ⋯ 菜单」开关,可以整体关掉。这个菜单是贴着宿主文件树画上去的:DSH 升级换了文件面板结构时,它可能不再出现,但文件树本身不受影响;连续 3 次注入失败会自动停止,并且只提示一次(可点「不再提示」)。
怎么用
打开 DSH 设置页(Web GUI 的设置 / Settings),找到 瞭望哨(Lookout) 这一项,里面有:
- 图标上传与 PWA / 角标开关
- 未读规则、进行中规则的阈值
- 邮件通知:SMTP 主机、端口、账号、密码、收件人,以及「发一封测试邮件」按钮
- 会话 ID 显示开关
- 文件行 ⋯ 菜单开关
数据存在哪
| 内容 | 位置 |
|---|---|
| 图标、未读规则 | $DSH_HOME/custom-favicon/ |
| 邮件账本(投递记录) | $DSH_HOME/dsh-notify-p/state.json |
| 邮件配置 | $DSH_HOME/settings.yaml 的 dsh-notify-p 段 |
($DSH_HOME 未设置时回退到 ~/.dsh。)
开发提示
包内 lib/icon/**、lib/notify/**、lib/session/** 是三份原插件代码的逐字节副本,用于保证合并前后行为一致。
要改功能逻辑,请改这三个目录;根部的 lib/index.js 只是把三者组装起来的胶水层。test/fixtures/*.client.js 同样是原插件浏览器半边的逐字节副本,只供测试做包含断言,不要改。
测试
node --test "test/*.test.mjs"