DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Plugin Node Time — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-plugin-node-time

Plugin Node Time

在 DSH web 聊天节点上悬停查看时间戳——Think、Bash 及每一行工具/步骤均显示开始-结束时间与用时 · 在 web 界面悬停 Think/Bash 等会话节点行时显示开始-结束时间与用时的 DeepSeek Harness 插件

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-plugin-node-time@0.1.2
README兼容性版本

兼容性与来源证明

Plugin Node Time 以 dsh-plugin-node-time 发布,当前版本为 0.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.2stable
2026/9/1

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

继续浏览 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 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

dsh-plugin-node-time

Hover timestamps for DSH web. Hovering a chat node row — Think, Bash, Read/Edit/Write, Search, commands, compaction markers, sub-calls — pops a compact card with that node's start time → end time and how long it took.

English | 中文

The card

11:30:05.123 → 11:30:09.123
4.00s
  • Range line — start → end in your local timezone; the date prefix appears when the node didn't happen today (and the year when it wasn't this year). A still-running node shows start → … with the elapsed time ticking every second; the line flips to the final range the moment the call settles.
  • Duration line — humanized: 830ms / 4.33s / 1m 23s / 1h 02m 30s.
  • Extra line — assistant steps also show TTFT (time to first token) when the step has recorded one.
  • Styling rides the host's --dsw-alias-* design tokens, so it follows your theme; the card is pointer-events: none and never intercepts the mouse.

What gets a card

RowStartEnd
Tool rows (Bash, Read, Edit, Search, …) and every nested sub-calltool/call timetool/result time
Think rows and assistant stepsstep/start timeassistant/message time
Commands, compaction, turn errors, retries, context rows—event time (single line)

Rows whose times the host already shows on hover (user messages, the turn tail) are left untouched, and a node whose call event fell outside the loaded history window simply shows what exists — or nothing.

How it works

  • Trigger — one delegated mouseover/mouseout pair on document (capture). A hit on a row header — [data-disclosure-row] (generic tool rows, Think, commands) or [data-sample] (the Bash/Pwsh sample card, whose expanded output lives outside the row root, so sweeping output never pops the card) — resolves through data-chat-call-id (exact tool-call/sub-call attribution) or data-chat-anchor-key (chat node), then reads the timing out of the current session snapshot — read at hover time, so it is always fresh.
  • Data — the sessions service: ToolChatData.root lifecycle (callTime/time), AssistantChatData.finalNode.timing (stepStartTime/firstTokenTime/completedTime), node.location.step boundary events for running steps, and data.time for single-time nodes.
  • Zero host DOM writes — the card is a position: fixed element appended to document.body; React re-renders can never wipe it, and no host component is replaced or patched.
  • Style contract — the injected <style> arrives pre-tagged with data-plugin="dsh-plugin-node-time": the client module system's claimStyles re-assigns every untagged head style to whichever plugin materializes next (HMR bookkeeping), so an untagged style gets claimed — and possibly cleaned up — by a neighbour. (This exact race is why v0.1.0 cards sometimes never appeared.)
  • Silent by design — missing sessions service, changed contracts, or truncated windows degrade to "no card"; the plugin can never break the host.

Install

dsh plugin --profile web add dsh-plugin-node-time

Restart dsh web to take effect.

From source (local development)

pnpm install
pnpm run build
pnpm test

Then add this package to ~/.dsh/profiles/web/package.json as a link: dependency, register it in dsh.profile.bundles, and restart dsh web.

Keywords

dsh · deepseek harness · dsh plugin · web plugin · client plugin · chat ui · tooltip · hover · timestamp · start time · end time · duration · elapsed · node timing · tool timing · think · bash · subcalls · assistant step · 时间 · 开始时间 · 结束时间 · 用时 · 悬浮 · 节点时间 · 工具耗时