VinciBeans/dsh-dashboard

dsh-dashboard

仓库尚未提供可用的公开描述。

待分类

DSH Dashboard

DeepSeek Harness 的每会话统计面板:token 用量、耗时、工具与技能活动。

为会话视图添加一个 Statistics 标签页。数字随会话推进实时更新。

中文 | English

兼容性

支持 DeepSeek Harness v0.1.2-alpha.1 ~ v0.1.3-alpha.2(npm alpha dist-tag):客户端针对 conversation.view Slot、tokenUsage / sessionStats 投影、会话快照的 legacy.nodes 时间线与 turn-tail turn 数据——以上契约在 dsh-v0.1.2-alpha.1 ~ dsh-v0.1.2-alpha.5 五个 tag 上已逐字段核对一致,并在 dsh-v0.1.2-rc.1 上复核(rc.1 相对 alpha.5 的整仓差异仅全仓包 package.json 版本号变更:非 package.json 文件零变化、非版本行零变化,插件消费的契约面逐字相同),并在 dsh-v0.1.3-alpha.2 上再次复核。复核覆盖:tool-result 节点字段(time、call.name/argsRaw、callTime、isError)、turn-tail 业务数据键(tokenUsage、ttftMs、tokensPerSecond)、sessionStats / tokenUsage 投影键,以及内置视图条目(chat order 0、trajectory order 10——statistics order 20 不冲突)。0.1.3 换代了流式事件(assistant/attempt + assistant/live-chunk 取代 assistant/chunk 与 chunkrow/* 行)并调整了投影采样点,但本插件读取的每个字段都未变。peer 依赖使用 ^0.1.2-alpha.1 || ^0.1.3-alpha.1 范围:单独的 ^0.1.2-alpha.1 匹配不到 0.1.3-alpha.2——npm 的 prerelease 规则只匹配 major.minor.patch 在范围内有比较器的预发布版本。

不支持:0.1.1-rc.2 及更早——该代运行 useChat 之前的 client-runtime 契约,工具与技能表会静默为空。

需跟踪的兼容风险:会话快照的 legacy 切片是宿主的兼容投影;StatsLine 到 0.1.3-alpha.2 仍消费它(已复核),但每次升级 harness 都应重新核验。

安装

发布版本与 harness 对齐:每个版本都面向并命名为与 @deepseek-ai/dsh 发行版一致的版本号。

从 npm 安装

按匹配的 harness 选择 dist-tag:

  1. npm alpha(0.1.3-alpha.2)— 兼容 dsh v0.1.3-alpha.1 ~ alpha.2,也兼容整个 v0.1.2-alpha.1 ~ v0.1.2-rc.1 区间(它消费的契约面未变):
    dsh plugin --profile web add @wenqi_bian/dsh-dashboard@alpha
    
  2. npm latest(0.1.2-rc.1,与 next 同步)— 面向 dsh v0.1.2-alpha.1 ~ rc.1 的保守通道:
    dsh plugin --profile web add @wenqi_bian/dsh-dashboard
    # 等价写法:dsh plugin --profile web add @wenqi_bian/dsh-dashboard@next
    

上一代 0.1.1-rc.2 不再挂在任何 dist-tag 上,仅可按确切版本安装(不兼容,见「兼容性」)。

npm 包内已包含预构建的宿主与浏览器 bundle,安装时无需构建。

从源码安装

源码版本——0.1.3-alpha.2,兼容 dsh 源码 dsh-v0.1.2-alpha.1 ~ dsh-v0.1.3-alpha.2(rc.1 与 alpha.5 仅版本号不同;0.1.3-alpha.2 保留本插件读取的全部字段)——即 GitHub Release v0.1.3-alpha.2 发布的内容;本地开发从源码安装:

dsh plugin --profile web add .

在仓库根目录运行;它会把插件链接进 $DSH_HOME 指向的 web profile。改动代码后用 pnpm run bundle 重新构建(见「快速开始」)。

快速开始

pnpm run bundle                    # 产出 lib/index.js(宿主)+ lib/client.js(浏览器)
dsh plugin --profile web add .
# 重启 dsh web,打开会话,选择 Statistics 视图

标签页出现在 Chat / Trajectory 旁边,所有数据都在客户端读取自会话的 tokenUsage / sessionStats 投影与会话快照。

功能

  • 用量:输入(新鲜 + 缓存读取)、输出 token、缓存命中率。
  • 耗时:LLM 时间、工具时间、首 token 延迟、解码速率。每轮首 token 曲线仅在会话实时进行时绘制;刷新后该卡片改为显示持久化的会话平均值(harness 0.1.3 把首 token 时间戳放在 client-only 事件里)。
  • 工具活动:按工具统计调用次数、失败、总时长与平均时长,以比例段落与四色循环展示。
  • 技能:被调用的 skill 工具,以 chips 展示。
  • 洞察:工具成功率、思考/工具时间占比、每轮 token、输入:输出比。
  • 语言跟随 DSH 宿主(中文/英文)。

数据来源

统计在客户端从会话快照的 tool-result 节点与内置 sessionStats / tokenUsage 投影推导,与随附的 composer StatsLine 同源。客户端接触的每个 harness 名称与类型——slot 名、投影键、turn-tail 数据键、节点 kind,以及样式借用的主题/DOM 变量——都集中在 src/client/contract.ts,harness 升级只需核对这一个文件。没有宿主 @Remote 调用:运行时加载的仓库外插件不会生成 @Remote 客户端命名空间。工作区跨会话聚合未实现。

许可协议

MIT。