DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

T3 Session Ui — DeepSeek Harness 插件(DSH Plugin)
← Plugins
T

dsh-t3-session-ui

T3 Session Ui

T3 Code 为 DeepSeek Harness 提供的会话上下文用户体验:会话行上下文块、提供商标签、状态标记、标题上下文条,以及带压缩功能的上下文窗口计量器。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:yusufameri/dsh-t3-session-ui#a951e5a1629260b774323f9d7cc44857809e9ea6
README兼容性版本
The plugin's preference row inside DSH SettingsThe preference row

兼容性与来源证明

T3 Session Ui 以 dsh-t3-session-ui 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.2.0stable
2026/9/29
0.1.1stable
2026/9/28

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/29
查看源码 ↗
README Badge

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

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

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

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

README

dsh-t3-session-ui

T3 Code's session-context UX for DeepSeek Harness: a session-row context block, provider/model chip, a status pill, a per-session header context strip, and a lineage breadcrumb — all in the surfaces DSH already has, with nothing added to the composer.

Live: session-row hover cardLive: the Settings row
The hover card in a real DSH window, carrying real host valuesThe plugin's preference row inside DSH Settings
Hover card (render)Status ladder
Session-row hover cardStatus rungs cycling
Header strip and lineageSettings row (render)Light theme
Header context strip and lineage breadcrumbThe preference rowHover card in the light theme

About these images. The first two are live captures of a real DSH 0.2.0-rc.1 instance with the plugin installed — their values (Shimas's MacBook Pro, default-workspace, standard, ask) each come from a different real Host probe, not from fixtures. The rest are component renders: the plugin's real components driven by fixture data with a representative theme token sheet, used where a fresh instance has no git repository, no subagents and no long conversation to show. assets/README.md covers the renders and their regenerate command; tools/live-cdp.mjs drives the live captures.

Credit

The information hierarchy this plugin implements is T3 Code's: the session-row hover card, the status ladder, the provider/model row, and the context-window ring with its compaction action are all theirs. T3 Code is open source under MIT; this port keeps the same shape and swaps the data underneath for DeepSeek Harness's. Please support the original project.

What it adds

Every surface reads one per-session context bundle from this package's own Host half. A fact the Host could not read is omitted rather than faked, so a session outside a git work tree simply has no branch row.

SurfaceSeatShows
Row hover cardsidebar.session.row.hoverStatus, machine, workspace, branch (+ dirty), worktree, model · provider, agent preset, parent session, delegation depth, approval policy, context usage, and the error line
Row chipsidebar.session.row.leadingThe model as the row's leading cell, with a status dot
Row hover actionsidebar.workspaces.session.row.actionCopy the context bundle, beside the shipped archive and pin buttons
Header stripconversation.session.header.utilitiesStatus, model, branch, workspace, approval policy, subagent count, preset, delegation depth
Header breadcrumbconversation.session.header.lineageReproduces the session title and adds parent, preset, and depth chips
Settings rowsettings.general.itemThe plugin's own preference row in DSH Settings — which facts the surfaces report, and a machine-label override
Copy actionconversation.session.header.actionsCopy the whole context bundle as JSON
Row menu itemssidebar.workspaces.session.menu.itemCopy context as JSON, copy branch name, copy working directory

Status ladder

The rung is resolved on the Host, in T3 Code's precedence order:

RungHow DSH reports it
Pending approvalThe approval/request waterfall is bracketed around next(), so the rung is lit exactly while the human is deciding
Awaiting inputThe user-questions/request waterfall, bracketed the same way
WorkingThe api-session/status liveness event, plus an open turn/start in the session log
ErrorA failed turn/end, or api-session/error raised outside a turn
Subagent workctx.subagents.listChildren(sessionId)
ReadyNone of the above

Approval and input are process-local rather than durable, which is why they are read from the waterfalls instead of the session log: a listener that wraps next() knows precisely how long an ask is outstanding.

Display settings

The preferences live in DSH's own Settings panel, as one row in the General section, and are stored per browser under dsh.t3-session-ui.prefs.v1: a toggle per fact (machine, workspace, branch, model, preset, approval, context) and a machine label override that wins over the Host's prettified hostname. They stay browser-side deliberately — they change only this plugin's rendering and must work without a Host round trip, and one Host is shared by every connected browser.

Nothing is added to the composer. An earlier revision put a context-window ring there; it was removed, because the input area is for input and the session facts belong in the session surfaces. The token detail the ring used to show now appears in the hover card's context row (42% · 83k/200k), and Compact context is an item in the session row's ... menu, running DSH's own /compact command; this plugin never reimplements compaction.

Install

dsh plugin --profile desktop add dsh-t3-session-ui

Or from a checkout, which needs no build step:

dsh plugin --profile desktop add /path/to/dsh-t3-session-ui

Removing the bundle unregisters every seat and restores the previous composer toolbar with no residue.

How it works

The facts this UI shows are not reachable from the browser — the machine identity is a node:os call, and sessions, tokenMeter, approval, and compaction carry no @Remote face, so a Client half cannot call them through ctx.remote. The Host half therefore serves one fenced JSON RPC route:

POST /t3session/api/hostFacts        -> machine identity, no session needed
POST /t3session/api/sessionContext   -> { sessionId } -> the context bundle
POST /t3session/api/compact          -> { sessionId } -> runs /compact

The route is fenced to loopback (plus any authority the deployment declares trusted), rejects cross-site browser markers, and requires a matching Origin when one is present. A browser page therefore reaches it with a plain relative fetch, the same bridge dsh-better-sidebar and @michengai/dsh-codex-ui use.

Where each fact comes from:

FactSource
Machine labelos.hostname(), prettified (Shimas-MacBook-Pro.local → Shima's MacBook Pro), overridable by config or by the display settings
Working directory, preset, parent session, delegation depthSession.header
Provider, model, context-window sizeSession.requestContext()
Branch, dirty state, worktreegit run in the session's own directory, cached for 5s
Tokens usedctx.tokenMeter.measure(session)
Liveness and pending asksapi-session/status, api-session/error, and the approval/request / user-questions/request waterfalls
Subagent fan-outctx.subagents.listChildren(sessionId)
Approval policyctx.approval.overrideOf(session)

Configuration

The plugin reads one optional setting from the bundle patch:

- id: t3-session-ui
  name: 'dsh-t3-session-ui'
  config:
    machineLabel: "Shima's MacBook Pro"   # optional; defaults to the prettified hostname

Everything else is a per-browser display preference, set from the plugin's row in DSH Settings.

Development

Plain ESM, no build step. The Client half is loaded as-is by DSH's client-module loader, so editing client.js takes effect on the next page load.

pnpm install
pnpm test        # 101 tests

The suite runs without DSH and covers three layers:

  • test/host.test.js — the host helpers, including real temporary git repositories (clean, dirty, untracked-only, detached HEAD, linked worktree).
  • test/route.test.js — the real apply() driven against a fake Cordis context, invoking the HTTP handler and asserting on its wire output. This layer exists because an unawaited probe serialises to {}, which no test that inspects the handler's in-memory object can see.
  • test/client.test.js — the Client half loaded through a stubbed window.__ModuleLoader__ and rendered to static markup against a fixture bundle.

Releases

0.1.1 fixed a defect introduced in 0.1.0: several Host probes were not awaited, so provider, model, contextWindow, turn, the token counts, and the whole machine identity serialised to {} on the wire. The route-level test layer above was added so that failure mode cannot return.

Requirements

  • DSH 0.1.5-rc.1 or newer
  • Node.js 20+

License

MIT. The ported design is T3 Code's, also MIT.

相关插件

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

Plugin Wallpaper Enginedsh-plugin-wallpaper-engineDSH 网页 GUI 的 Wallpaper Engine 背景:在聊天界面后方渲染本地 Wallpaper Engine Video/Web 壁纸,将 Scene 壁纸显示为提取的静态帧,并提供 iOS 风格的液态玻璃效果、可调节的遮罩/边框/模糊效果,以及可自定义的强调色 coDafeiyudsh-dafeiyu由 DeepSeek Harness 会话事件驱动的原生桌面端 BigFish companion。Dream Skindsh-dream-skinDeepSeek Harness 换肤插件(Dream Skin for DSH):8 套 iOS / Linear 式清透冷调的高质感主题 + 弥散光壁纸 + 每款皮肤智能背景 + 强调色 + 主题包分享,把换肤做成材质与配色克制的高级感工艺,而非贴图。适用于原生 DSH Web 和第三方桌面客户端(DSH Desktop):8 套原创高质感主题、玻璃材质、壁纸 2.0Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航