Skip to content

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"