deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DeepSeek Harness Web UI 右侧部件栏:把会话统计以美观的小组件形式利用右侧空间呈现,并逐步扩展——更多平台的用量查询部件、更强的视觉表现(图片/定制图标)、更多实用工具(如一键 compact),乃至飞书、微信等外部接口集成。
Harness Widgets 是一个 client 为主、带少量 host 代理 的 DSH bundle 插件。它在会话页右侧提供一套可定制的部件面板,实时展示当前对话的轮次/耗时/速率/token 用量,以及 OpenCode Go 订阅套餐用量。
当前版本:v0.2.2(持续迭代中)
--dsh-sidebar-width,侧边栏展开/收起时同步滑动,互不遮挡);conversation.session.header.utilities slot),激活态为品牌蓝底白字;::-webkit-scrollbar,Firefox 走 scrollbar-width: none),首张卡片顶对齐会话头、无上内边距。| 部件 | 内容 |
|---|---|
| 轮次·步数 | 本轮会话的轮次与步骤计数 |
| LLM 时长 | 模型推理累计耗时 |
| 工具调用 | 工具调用累计耗时 |
| 首 token 平均 | 平均首 token 延迟 |
| 速率 | 解码吞吐(tok/s) |
| 缓存命中 | 输入缓存命中比例 |
| Tokens | 输入 / 输出 token 计数 |
sessionStats / tokenUsage 投影 + 会话 timeline 折叠,进行中的回合每秒增量刷新(1s tick),不是等回合结束才更新。| 部件 | 内容 |
|---|---|
| 任务 | 当前任务的进行中 / 已完成 / 待办计数 |
| 一键压缩 | 上下文占用百分比 + 右下角品牌蓝圆钮,两次点击执行 compact(实心→确认胶囊) |
| 上下文水位 | 系统提示词 / 工具 / 对话消息三段占比条(矩形贴边,严格复用官方 ContextMeter 配色)+ 分段明细 |
| 用量热度图 | GitHub 式日历热力图,自记账每日 Token 用量(写入 localStorage);可在预览选择窗口对齐方式 |
| 今日寄语 | 随机鼓励语录,支持自定义文字 / 标题 / 对齐 / 换行 |
/api/opencode-usage,代理 https://opencode.ai/zen/go/v1/usage——浏览器不发跨域请求,API 密钥不出浏览器;OPENCODE_GO_API_KEY,与 Models 设置页配置的 opencode-go provider 是同一把),每次请求时解析,不落盘。1.0–1.4)。部件标题统一使用 DeepSeek 品牌蓝(
--dsw-alias-state-business-primary),让右侧 rail 在暗色主题下更有层次、不那么单调。
WIDGETS 是一组声明式描述符(id / 名称 / 说明 / 是否内置 / 分组 / 纯函数 render),部件栏与设置页共用同一注册表——新增部件只需追加一条描述符;conversation.composer.dock slot,该 slot 仅在活跃会话存在时渲染,天然充当"会话存在"信号;webServer + credentials 两个服务,注册 /api/opencode-usage 同源代理路由;# 发布到 npm / 插件市场后
dsh plugin --profile web add harness-widgets
# 本地开发(link 方式)
dsh plugin --profile web add link:D:/dsh-home/plugins/harness-widgets
装完硬刷新浏览器(Ctrl+Shift+R),在会话页头部点击"组件"胶囊即可展开右侧部件栏;OpenCode Go 部件需先在 Models 设置中配置 OPENCODE_GO_API_KEY。



截图位于
docs/screenshots/;插件市场(dsh-market 1.8.0+)会从这里或 README 抽取展示图。选取与顺序可到 dsh-market 的data/screenshots.json按条目 URL 自定义(见下方说明)。
每次发布都在此记录:本次做了什么,以及接下来打算做什么。
修复
lastTotalRef 存了全局累计值(如 3000M),今天新会话从 0 开始累计,永远追不上该基准,导致今天单日用量几乎不增长(显示 2.3M 而实际 200+M)。现在基准绑定日期,跨天自动清零。修复
lastTotalRef 在 dock 重挂载时从 0 重新计,导致整段会话累计 token 被反复整体加进「今天」,使图例从 今日 1023M / 2907M 膨胀到 今日 3485M / 3491M。现在记账基线持久化,重挂载只计入真正新增量。.3 自动修复已损坏的 localStorage。新增功能
prefs.magnify)。--dsw-alias-state-business-primary,暗色主题下更醒目。headAfter),分段条改为矩形贴边配色严格对齐官方 ContextMeter。WidgetCorner.pos)。改动 / 修复
--dsw-alias-brand-primary 在暗色主题下解析为近黑 rgb(15,17,21),标题"看起来是黑的"——改用 --dsw-alias-state-business-primary(暗色 = DeepSeek 品牌蓝 rgb(65,118,230))。$→token 系数,改为按金额相对比例;buildHeatmapGrid 修正周偏移,日期正确落格。≥1M 时统一转 M(不再出现 ~1000K)。--dsw-alias-bg-base 实色底,会在页面上显出一条白板边界);::-webkit-scrollbar,Firefox 用 @supports 门控的 scrollbar-width: none,旧 Edge 用 -ms-overflow-style),滚动功能保留;部件注册表(WIDGETS 描述符)已经为"更多部件"打好框架——新增部件只需追加一条描述符。按以下方向推进(均尚未实现,正在开发中):
pnpm install
pnpm run build # tsdown 构建 lib/
pnpm run check # 类型检查 + 测试 + 构建
peerDependencies 声明(@deepseek-ai/dsh-client-ui-slots、dsh-client-runtime),由 DSH web profile 提供;cordis.patch.yml 插入一行 widgets 行,host 半与浏览器半分别由 loader 与 client-modules 加载。0.1.0-rc.6 及兼容的后续 0.1.x;shell.overlay / conversation.session.header.utilities / conversation.composer.dock / settings.section 等官方 slot 接入;--dsh-sidebar-width),卸载后无残留。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。