dsh-agents-notch

notifytested: passnpmMIT

Always-on-top notch for Windows that shows which sessions are working, which need you, and which are done or failed: one bot per session, never takes focus, hides under full-screen apps, with its own settings page.

下载量 / Downloads
1,471
依赖体积 / node_modules
3.25 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-agents-notch

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<div align="center">

<br>

**An always-on-top notch for DeepSeek Harness

that answers one question: which of my sessions needs me right now?**

![npm](https://www.npmjs.com/package/dsh-agents-notch)

![DSH plugin](https://github.com/topics/dsh-plugin)

![Windows 10/11](#requirements)

![license MIT](LICENSE)

[Install](#install) · [What it shows](#what-it-shows) · [Configure](#configure) · [Limits](#limits-stated-plainly) · [Develop](#develop) · [中文](#中文)

<br>

<sub>Recorded from the window itself (<code>--record</code>), frame by frame — not a mock-up.</sub>

</div>

<br>

Why

If you run more than a couple of sessions, finding out whether anything is waiting on you costs a

context switch every time:

what you do today · what it costs

alt-tab between windows and read each sidebar · the thing you were doing, every time

wait for a desktop notification · one per session, and none of them say which one is blocked

leave the sidebar visible · it is only visible when the app is in front — which is when you do not need it

The notch is a small always-on-top tab that never takes focus, hides under a full-screen app, and

shows the one thing the sidebar cannot while you are in another window: a session stuck on you. When

one gets stuck, the tab grows into an alert that says why, with an Open button that switches the app

to that session — from wherever it is, minimized or in the tray. And it never gets in the way:

pass over it and it fades and lets your click through; rest on it and the board unfolds.

What it shows

<div align="center">

</div>

That strip is the whole visual language. Working wears a slow blue arc and nothing else, because

working is the quiet default — and while any session is running a tool, light runs along the tab's lower

edge. Needs you wears amber, done green, failed red. Every session keeps its own colour on the

bot's rim, so three sessions read as three sessions rather than three copies of one.

It never gets in the way

<div align="center">

</div>

The tab sits where you reach for tabs and title bars, so it steps aside. A pointer passing over it

turns it into a faint ghost that clicks go straight through — to the browser tab or the menu under it.

Only a pointer that rests there for 1.6 s unfolds the board, and pushing it against the top edge of

the screen opens it at once. All three are settings (hoverMode, holdMs, topEdgeOpens); open

brings back unfold-on-hover.

The tab speaks up

<div align="center">

</div>

When something new happens — a session asks for you, fails, or finishes — the tab grows into an

alert for a few seconds and then folds back. Open takes you straight to that session. Only fresh

events are announced: a question that has been waiting for an hour is on the board, not in your face.

The board

<div align="center">

</div>

Rest the pointer on the tab, or push it against the top of the screen, and the board unfolds. At the top is the session that changed most recently, so a

finish or a question is what you see first: its title, its project and age, how full its context is, and

one line of what it is doing — the tool it is running and the step, the question it is asking in full,

or how it ended. Below it, every other session in one list: what it is doing in a word and how long ago.

More sessions than fit? The list scrolls.

Click a row to put that session on the big bot. Double-click a row, or press Open ↗, and the

app switches to it. A finished or failed row has a ✕ that closes it out — the same as ticking it in

the app.

Sixteen faces

<div align="center">

</div>

The bot's face is the state, read closer. A working bot is focused in a tool and thinking between

tools, determined on a long busy turn and tired aft

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::9,最后更新 2026-10-30

Links

GitHub · Homepage · npm

Same category