DeepSHPlugins
dsh-wide-stats-footer 项目预览
GITHUB / COMMUNITY PROJECT

dsh-wide-stats-footer

UI 增强JavaScriptMIT

解除输入框统计行的宽度限制:较长的轮次与 token 统计行横跨输入框全宽居中显示,不再以省略号截断。

1 Starsthomasvvugt 更新时间 2026-08-25
访问 GitHub 仓库
dsh-wide-stats-footer 项目预览

项目介绍

中文

解除输入框统计行的宽度限制:较长的轮次与 token 统计行横跨输入框全宽居中显示,不再以省略号截断。

English

Un-clamps the composer stats footer: long turn and token stats lines span the full composer width instead of truncating with an ellipsis.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
thomasvvugt
仓库
thomasvvugt/dsh-wide-stats-footer
GitHub Stars
1
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-25
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

51/ 100
维护活跃
89
文档与实用信息
85
生态关注度
9
安装便捷信号
75
项目声明信号
100

近 17 天仍在更新;README 含完整安装与使用说明;关注度尚低(1)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:thomasvvugt/dsh-wide-stats-footer

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

A DeepSeek Harness (DSH) web plugin that un-clamps the composer stats footer — the line under the input card:

16 turns · 255 steps | LLM 44m17s · Tool call 42m32s | TTFT avg 5.3s · 87 tok/s | Cache hit 97% | Input 32.3M tok · Output 113K tok

Stock DSH clamps that line to the chat content width, so long stats compact into …:

16 turns · 255 steps | LLM 44m17s · Tool call 42m32s | TTFT avg 5.3s · 87 tok/s | Cac…

With this plugin the footer spans the full composer width, centered — no more truncation on wide screens.

dsh plugin --profile web add github:thomasvvugt/dsh-wide-stats-footer

Then restart dsh web. Confirm with dsh --profile web --dump-config (look for the dsh-wide-stats-footer layer). To pin a release: github:thomasvvugt/dsh-wide-stats-footer#v0.1.0.

The plugin is also listed in the awesome-dsh-plugin registry, so it installs one-click from the in-app plugin market (dshmarket) and is findable via plugin search.

Uninstall: dsh plugin --profile web remove dsh-wide-stats-footer, then restart.

The stock footer (StatsLine in @deepseek-ai/dsh-client-ui-conversation) is clamped by its CSS module root rule:

.{hash}_root {
  text-align: center;
  max-width: var(--dsh-chat-content-width);          /* 748px — the clamp */
  padding: 4px calc(var(--dsh-composer-side-clearance) + 16px) 0;  /* +32px more */
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin: 0 auto; width: 100%;
}

The plugin overrides exactly the width clamp and the horizontal padding on that element:

.{hash}_root.{hash}_root { max-width: none; padding-left: 0; padding-right: 0; }

width: 100%, margin: 0 auto and text-align: center stay with the base rule, so the footer becomes as wide as its container (the composer column) while remaining centered. The doubled class gives specificity (0,2,0) over the base rule's (0,1,0), independent of <style> injection order — third-party theme CSS included. An inline-style fallback is applied to the footer element itself for extra robustness.

{hash} is a hashed CSS-module prefix that changes whenever dsh-client-ui-conversation is rebuilt. The browser half discovers it at runtime:

  1. scan document.styleSheets for the stats line's separator rule

.{hash}_sep { color: var(--dsw-alias-separator-primary); margin: 0 10px } (unique in the app — the other _sep/_separator classes use dots or different margins), and

  1. verify the sibling .{hash}_root rule actually declares the

max-width: var(--dsh-chat-content-width) clamp before touching it.

A second, independent path finds the footer in the DOM directly. MutationObservers on <head> and <body> re-run discovery when style tags arrive (late bundle materialization, HMR rebuilds, theme swaps) and when the session view (re)mounts the footer.

If DSH's markup changes in a future release, the plugin degrades to a silent no-op — it never breaks the UI, the stock footer just stays clamped until an update.

Open DevTools and read window.__WIDE_STATS_FOOTER__:

{ appliedAt, styleHash, domHash, overrideChars, inlineFixed, lastSyncAt }

styleHash/domHash show the discovered CSS-module prefix from each source; a null there means that source hasn't matched. One console.info line is logged per boot.

The footer is still clamped. Check window.__WIDE_STATS_FOOTER__ in DevTools:

  • styleHash: null and domHash: null — hash discovery matched nothing.

This means your DSH build's markup/CSS differs from the verified shape (e.g. a newer DSH release). The plugin has degraded to a no-op; please open an issue with your DSH version and the diagnostics object.

  • Hashes present but overrideChars: 0 — the override rule was written but

the base clamp rule wasn't the expected shape. Also worth an issue.

  • appliedAt: null — the plugin never ran; confirm it's actually installed

(dsh --profile web --dump-config should show the layer) and that you restarted dsh web after installing.

It worked, then stopped after a DSH update. Expected occasionally: the CSS-module hash rotates on rebuilds. The plugin rediscovers it at runtime, so a stop after an update means the *markup* changed shape. Check the diagnostics object and report it.

Does this slow the app down? No. Discovery runs once per boot plus on observed DOM/style mutations; the observers do no periodic polling.

Can I change the alignment (left/right instead of centered)? Not via config — this plugin deliberately has no configuration and does one thing. The base text-align: center from DSH is preserved.

Does it work with custom themes? Yes. The override uses doubled-class specificity (0,2,0), so it wins over the stock rule regardless of stylesheet order. A theme that itself overrides the footer's max-width with equal-or-higher specificity will win — that's correct behavior.

Built and verified against DSH 0.1.1-rc.2 web. Client-only: no host-side behavior, no configuration, zero npm dependencies, no install scripts.

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目