DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Favicon Status — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-favicon-status

Favicon Status

浏览器标签页状态指示器:根据 ui-session 状态快照绘制文档 favicon(蓝色表示运行中 / 琥珀色表示等待中 / 绿色表示已完成,执行任务时旋转),使后台运行的 dsh Web 标签页仍能显示任务状态

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-favicon-status@0.1.0-rc.8
README兼容性版本

兼容性与来源证明

Favicon Status 以 dsh-favicon-status 发布,当前版本为 0.1.0-rc.8。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/18

版本

0.1.0-rc.8prerelease
2026/9/18
查看其余 3 个版本收起版本
0.1.0-rc.7prerelease
2026/9/18
0.1.0-rc.6prerelease
2026/9/10
0.1.0-rc.5prerelease
2026/8/24

相关插件

正在加载相关插件…

最新版
0.1.0-rc.8
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
72.5 kB
文件数
12
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/9/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

dsh-favicon-status

English | 中文

Summary

The favicon of a backgrounded dsh web tab reports what the workspace is doing: a segmented ring drawn in the GUI's state colors — blue for sessions executing, amber for sessions waiting on the user, green for sessions that finished in the background. The ring spins while any session runs and splits proportionally when states mix; the document's own icon stays in the middle. Every state comes from the kernel's ui-session status snapshot. Install it as a dsh web profile plugin: there is no host half and no model-facing surface.

Install

dsh plugin --profile web add dsh-favicon-status

Restart dsh web afterwards: adding the plugin changes the profile's bundle roster, which the running server only picks up on restart. The plugin is browser-only; the node half exists solely so the plugin appears in the Loader tree. Requires the DSH web client at 0.1.6-alpha.2 or later — the client half subscribes to the kernel's per-session status snapshot (ctx.uiSession.sessionStatus), which carries running, the effective pendingInteraction, and the completionUnread reminder in one map. Earlier kernels split those facts across the sessions list and a separate pending-interaction snapshot (0.1.5-alpha), or shipped them under the retired @deepseek-ai/dsh-client-runtime package, and need an earlier plugin release.

Behavior

Running (spinning)Waiting on the userFinished
runningpendingdone

The favicon becomes a segmented ring whose wedges are proportional to the session counts per state, using the GUI's canonical state semantics (the sidebar StateDot palette): blue for sessions actively executing, amber for sessions waiting on the user (approval / plan review / question), green for sessions that finished. The document's original favicon graphic (the whale) is drawn inside the ring hole once it loads, so the tab keeps its identity while indicating. While any session runs, the ring rotates clockwise around a fixed trailing gap of at least 30°, so even a single-color ring shows an anchor that makes the spin visible at 16 px in a backgrounded tab; when nothing runs the ring is a complete circle — the gap exists to show rotation, and a static done or waiting ring needs no anchor. With mixed states the ring splits proportionally — a running session beside one waiting on the user reads as part blue, part amber — and the wedge order is fixed (running, pending, done) so the mix is legible rather than shuffled. Green never mixes into a ring that has a running wedge: a background completion reminder is dropped from the counts while any session executes, so a running task cannot read as partly finished. When no session is in any of the three states, the original favicon is restored.

State precedence per session matches the sidebar: a pending interaction outranks live activity, which outranks the done states. Green covers the kernel's "finished in the background" reminder (completionUnread: a session that stopped while the user was looking elsewhere in the UI) and any session whose running-to-idle transition the monitor just observed: even when the kernel never armed the reminder because the user was watching, the tab shows green for the configured doneVisibleMs window (default 30 s) before falling back. Both kinds of green are dropped while any session runs, so live activity owns the tab (blue, spinning) and a running task never paints partly green; the window also does not survive the tab becoming visible, which clears it immediately. Subagent sessions reach the status snapshot with their own running bit, so delegated work colors the tab too.

The animation is time-based (Date.now() modulo the spin period): each timer tick repaints at the rotation the wall clock says, so a throttled background tab still advances the spin on every allowed tick. The timer runs while at least one session runs or a done window is still open, and stops when neither remains; fiber teardown restores the original favicon (HMR safety). The ring is painted on a 64 px canvas, so the browser's downscale to the 16 px tab bar keeps the gap and the color boundaries crisp.

Colors, the spin period, and the done-visibility window are validated Config fields, overridable from the deployment's cordis.yml.

Development

This is an independent community plugin: it is developed and published from this repository and is not part of the official deepseek-harness monorepo. Its UI language follows the dsh web GUI's canonical state semantics (the sidebar StateDot palette), which is a deliberate reference to the official look — not official code. lib/ contains the build artifacts and the browser bundle; pnpm install && pnpm test runs the unit suite locally.

Model Experience

None, as this package paints a browser chrome element from the ui-session status snapshot and touches no prompt, message, schema, stream, or tool result.

KV Cache effect

None; the package never assembles or sends provider requests.

Known Limitations and Deferred Work

  • Background-tab throttling coarsens the spin. Browsers throttle setInterval in hidden tabs (Chrome to 1 Hz, with intensive throttling to once per minute after about five minutes of chained timers), so the rotation advances in steps rather than smoothly while the tab is backgrounded; the time-based phase keeps the direction and pace correct. Browsers do not animate SVG favicons, which is why the animation is JS-driven at all.
  • The indicator reflects the per-session status snapshot, not per-job detail. It aggregates the kernel's running / pendingInteraction / completionUnread facts published by ctx.uiSession.sessionStatus, plus a monitor-local transition window for just-finished sessions; background job rows and workflow phases are not surfaced individually.
  • The done window is a tab-only reminder. doneVisibleMs shows green after a running-to-idle transition even when the kernel never armed its background-completion reminder (the user was watching); the sidebar itself keeps its own semantics. The window lives only while the tab stays backgrounded: becoming visible clears it, and any running session takes the tab over (blue, spinning) until it quiets.
  • One favicon link. The monitor swaps the document's first rel~="icon" link (creating one when absent) and restores it on dispose; multi-icon manifests and apple-touch-icon are not enumerated.