Skip to content
dsh.fish
Bundle

dsh-tab-status

DSH plugin: mirror all-session status onto the browser tab (Firefox / Chrome / Edge). Leave long-running tasks and still see yellow / green / blue on the tab.

Source
cmhaoren-sudo
License
MIT
Updated
Updated 8 days ago

Readme

# dsh-tab-status

DSH plugin / DSH 插件:把全部对话的状态点打到浏览器标签上。

长程任务可以切出去看别的网页,不用一直盯着 DSH;标签图标和标题会跟着变。  
For long-running tasks, switch to another site and still see status on the DSH tab.

**Supported browsers / 支持的浏览器:** Firefox、Chrome、Edge

---

## 中文

把侧边栏同一套会话状态点同步到 **浏览器标签**。扫 **全部 DSH 对话**(不是当前这一条)。多对话同时有状态时,标签只显示最高优先级:

**黄(提问 / 审批) > 绿(完成提醒) > 蓝(进行中)**

| 侧边栏 | 标签 |
|---|---|
| 黄色提问 / 审批 / 计划待审 | 黄点 + 标题前缀 `🟡` |
| 绿色完成提醒(后台跑完、还没点开) | 绿点 + `🟢` |
| 正在工作(本会话或子代理) | 蓝点 + `🔵` |
| 都空闲 | 恢复原来的鱼标和标题 |

适合丢着跑的长任务:切去看 X、查资料、开别的页,扫一眼 DSH 标签就知道有没有人在问你、有没有跑完、是不是还在干活。

### 浏览器

- **Firefox / Chrome / Edge**:改 favicon(标签图标叠色点)+ 标题前缀。三个浏览器都走这条主路径。
- Firefox 桌面没有网页用的标签角标 API(`navigator.setAppBadge` 基本不可用)。Chrome / Edge 的 Badging API 主要给已安装 PWA,普通标签通常也没有系统角标。
- 插件会尝试调用 `setAppBadge`,有就用,没有就忽略。
- 各浏览器标签各自更新,不会跨浏览器同步。Chrome / Edge 偶尔缓存 favicon,图标可能慢半拍,标题一般准时。

### 安装

```sh
dsh plugin --profile web add github:cmhaoren-sudo/dsh-tab-status
```

然后 **重启 dsh**,刷新 Web UI。

### 行为

- 范围:侧边栏里所有对话 + 子代理行
- 优先级:黄 > 绿 > 蓝
- 完成绿沿用官方语义:只有当时没选中的对话跑完才会点亮;点开后侧边栏清掉,标签一起灭
- 停用或热卸载时还原 favicon 和标题
- 不写盘、不长库

---

## English

Mirror the same sidebar status dots onto the **browser tab**. This watches **every DSH conversation**, not just the open one. When several sessions have status, the tab shows only the highest priority:

**yellow (question / approval) > green (done reminder) > blue (running)**

| Sidebar | Tab |
|---|---|
| Yellow question / approval / plan review | Yellow dot + title prefix `🟡` |
| Green done reminder (finished in the background, not opened yet) | Green + `🟢` |
| Running (this session or a subagent) | Blue + `🔵` |
| All idle | Restore the original favicon and title |

Built for long-running work: leave DSH open in a background tab, go read something else, and still see whether anyone is waiting on you, a job finished, or work is still in progress.

### Browsers

- **Firefox / Chrome / Edge:** favicon overlay (colored dot on the tab icon) + title prefix. This is the main path on all three.
- Firefox desktop has no page-facing tab-badge API (`navigator.setAppBadge` is effectively unavailable). Chrome / Edge Badging API is mainly for installed PWAs; a normal tab usually has no OS badge.
- The plugin calls `setAppBadge` when it exists and ignores it otherwise.
- Each browser updates its own tab. Chrome / Edge may cache the favicon briefly; the title prefix is usually immediate.

### Install

```sh
dsh plugin --profile web add github:cmhaoren-sudo/dsh-tab-status
```

Then **restart dsh** and refresh the Web UI.

### Behavior

- Scope: every sidebar session plus child/subagent rows
- Priority: yellow > green > blue
- Green uses the official reminder: only a session that finished while not selected lights up; opening it clears the sidebar dot and the tab mark
- Unload restores the favicon and title
- No disk growth, no cleanup hook

Install

dsh plugin --profile web add github:cmhaoren-sudo/dsh-tab-status

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source