DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-response-meta

Response Meta

DSH 网页插件:每次输出时显示一个实时模型和耗时摘要

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Unintendedz/dsh-response-meta#36dba04b7bf68f287f1877e604c347d0041e59d2
README兼容性版本

兼容性与来源证明

Response Meta 以 dsh-response-meta 发布,当前版本为 0.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.4.0stable
2026/9/10
0.3.0stable
2026/9/8
0.2.1stable
2026/9/6
查看其余 1 个版本收起版本
0.1.0stable
2026/8/23

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编码计划配额,并提供实时令牌使用记录,同时在侧边栏条目中显示当前会话提供商今日的使用量Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额Codex Connectdsh-codex-connect用于 DeepSeek Harness 的 ChatGPT OAuth 和 Codex 模型。

README

dsh-response-meta

English | 中文

A DSH Web plugin that adds one live runtime summary to every model reply: model, reasoning extent, tokens per second, timestamp, total runtime, and time to first token (TTFT). The summary appears while the model is responding and updates as chunks arrive; it does not wait for the reply to finish.

The plugin hides the duplicate native assistant timestamp while preserving user message timestamps and the native usage and runtime detail buttons. Manually interrupted replies, including replies stopped during reasoning, receive an inline summary as well.

Example in a Chinese UI (11 px muted text):

# While streaming, inline in the message stream
deepseek-v4-pro · 思考 1.5k 字 · ~42 tok/s
# Completed reply, below the message actions
deepseek-v4-pro · 思考 15 tok · 46 tok/s · 14:16 · 用时 2分24秒 · 首 token 2.1秒
# Interrupted during reasoning, inline in the message stream
deepseek-v4-pro · 思考 1.5k 字
  • Model comes from the turn's request/header session event. Later turns without a new header inherit the most recent known model.
  • Live updates appear as soon as model or streamed-token data is available. Reasoning extent and estimated throughput refresh at animation-frame cadence; final provider usage replaces the estimate when the reply completes.
  • Reasoning extent prefers provider-reported reasoning tokens and falls back to the reasoning text length.
  • Tokens/s is output tokens divided by decode time, from first token to message completion, matching DSH's native timing semantics.
  • Timestamp shows HH:mm for today's replies and includes the date for older replies.
  • Total runtime spans the whole turn; TTFT spans the current step from start to its first token.
  • Interrupted replies usually have no usage record, so the plugin shows the model and streamed reasoning extent. Real usage is retained when a finalization race provides it.
  • Missing fields are omitted individually; nothing is rendered when all fields are unavailable.

Requirements

DSH 0.1.5-rc.1 with a Web profile. Version 0.4.0 handles transient assistant/live-chunk events and the packed streams embedded in durable messages and interrupted attempts. It reconstructs reasoning counts and token timing after a cold load, and preserves completed throughput and TTFT when the host retires transient chunks. Settlement replaces transient counters to avoid double counting. Keep plugin 0.3.0 with DSH 0.1.2-rc.1, and 0.2.1 with older DSH installations.

Install

dsh plugin --profile web add github:Unintendedz/dsh-response-meta#v0.4.0

Restart the running DSH Web service after installation. Plugins are loaded when the service starts.

Local development

The local installer requires an explicit DSH_HOME and --profile (or DSH_PROFILE). It never defaults to an existing home or the web profile. It removes and re-adds the local file: snapshot, reusing the selected profile's pnpm storeDir, including paths containing spaces. Restart only that profile's Web instance afterward.

Use a fresh temporary home and synthetic workspace for every test:

export DSH_HOME="$(mktemp -d "${TMPDIR:-/tmp}/dsh-response-meta.XXXXXX")"
export DSH_PROFILE=audit-response-meta
mkdir -p "$DSH_HOME/workspace"
./scripts/install.sh --profile "$DSH_PROFILE"

Use a dedicated free loopback port and synthetic provider/session data. Never copy an existing profile's settings, credentials, sessions, caches, or browser state. Record the home, profile, port, workspace and process ID before any Web interaction; stop the verified test process and remove only its temporary directory afterward.

Uninstall

dsh plugin --profile web remove dsh-response-meta

How it works

  • Host (lib/index.js): registers a dependency-free projection unit on ctx.sessionProjections. It folds session events, tracks the active turn/step, records the last in-turn request/header model in byTurn, and inherits the previous model for header-less turns. Headers outside turns, such as title or compaction requests, are ignored. Projection updates reach the browser through DSH's existing session-projection channel. The plugin implements the projection contract (stateSchema + wire.viewSchema).
  • Browser (lib/client.js):
    • Running replies publish one incremental dsh-response-meta-aborted conversation node from step/start; streamed chunks refresh it at most once per animation frame. A visible finalized message hides that stable live node and hands off to the exact completed summary. If the step is interrupted, failed, or aborted, the same node remains visible.
    • Completed replies register in conversation.chat.assistant-actions. The component reads usage, step timing, turn timing, reasoning content, and the per-turn model projection for the exact messageId. A scoped structural selector hides only the duplicate native assistant timestamp.
    • The incremental node renders through a keyed conversation.chat.node entry. This also covers reasoning-only steps that never produced turn/end.
    • Actions remain on the first row; the complete summary owns a responsive second row. Narrow screens wrap without truncation or horizontal overflow.

Verify

npm test
DSH_TEST_IDENTITY=/path/to/test-instance.json \
  node tests/live-e2e.mjs http://127.0.0.1:33880

The live command also requires DSH_HOME and DSH_PROFILE from the isolated launcher. Its identity JSON must contain dshHome, profile, host (exactly 127.0.0.1), numeric port, the running server's numeric pid, workspace, and synthetic: true, all matching that instance. Both home and workspace must be beneath the operating system's temporary directory, and the profile must start with audit-, test-, or fix-. The live harness rejects port 33080. Configure a local synthetic model provider in this new profile before running it; no credentials or settings from an existing profile are needed.

The check creates a synthetic session and passes only when the same turn ends with reason completed, the final visible answer is exactly OK, and that turn has a nonempty model projection. An early projection, interrupted or failed partial reply, wrong answer, or timeout fails the check. The browser scripts in tests/ cover live/interruption behavior and completed-row layout; run them only in the same isolated instance and a fresh browser context.