dsh-carbon:估算 DeepSeek Harness 会话的碳足迹

前言

在 DeepSeek Harness(DSH)里跑会话,token 用量和 API 成本往往有日志可查,但「这次开发大概排了多少 CO₂」通常没有现成答案。通用 SaaS 碳计算器很少按 input / output / cache read 这类 LLM 调用结构拆分,也不一定会标注因子来源和置信区间。

dsh-carbon 是社区维护的 DSH 客户端插件,在终端和 Web 侧栏里给出基于 token 计数的本地估算,并附带可核对的方法论与 plausible range。下面介绍它做什么、如何安装,以及 CLI 与 GUI 的典型用法。

这是什么

  • 名称:dsh-carbon(npm 包名 dsh-carbon,GitHub:ValenscoA/dsh-carbon)
  • 维护者:ValenscoA
  • 分类:客户端(向 Harness 注入 Web 侧栏页面,并附带 CLI)
  • 许可证:MIT(README 与 package.json 一致)

插件跟踪 DeepSeek Harness 会话的估算碳足迹。思路参考 claude-carbon(本地估算、token 驱动、有来源的方法论),但数字并非从 Anthropic 因子直接移植;README 说明 DeepSeek 公开证据更薄,借 Anthropic 因子会得到「看起来确定、背后无依据」的数字,因此采用单独推导的因子与分级。

当前 package.json 版本为 0.3.1;README 标明独立 CLI 需 Node 22.15+,插件本体在应用内运行。

核心功能

估算与置信区间

报告给出点估计和 plausible range(低—高区间),并在 CLI 示例中按 session、model 拆分,同时展示 input、output、cache read 等 token 种类及占比。README 强调:输出 token 占比很小,但在 grams 侧可能占大头;cache read 占 token 绝大多数时,grams 往往约为其十分之一——因此 GUI 用两根 bar 分别展示「token 份额」与「CO₂ 份额」。

因子与方法学

因子有来源、分级(tier)、区间与 caveat;dsh-carbon methodology 可列出完整方法论。GUI 提供 Method 标签页:公式、部署假设、因子表与 cross-checks。可在 DeepSeek 自有 fleet 与 Azure 部署假设之间切换(--infra china|azure|aws,环境变量 DSH_CARBON_INFRA=azure),该切换作用于页面与 CLI 上的全部读数。

本地持久历史

数据在本地 store 中与 session 日志同步(dsh-carbon sync),支持按时间窗重算(recompute)。GUI 以日/周/月条纹展示历史,颜色相对中位周期而非最大值,工具栏支持 7 天、30 天、90 天、12 个月与全部,并在可比较时显示相对上一等长窗口的变化。

Web GUI(Carbon 侧栏)

安装并在 Harness 重启一次后,侧栏会出现 Carbon 行(README 说明位于 Automation tasks 与 More 之间)。主面板包含:

  • 以颜色反映读数的 whale(与导出卡片共用 lib/core/whale.mjs 字符图)
  • 估计值 + 区间带 + 条纹时间线
  • 等价换算(如驾车公里、烧水壶次数等,与 CLI 使用相同世界平均因子)
  • Download card(1200×630 PNG,浏览器内渲染)、Copy badge(shields.io markdown)
  • 页面可见时每 30 秒刷新,聚焦窗口时刷新;刷新按钮可跳过宿主 5 秒缓存

README 说明:宿主会缓存包是否含 dsh.client 半部;首次安装或 browser 半部 declaration 变更后需重启 Harness(或 relaunch),仅 rebuild bundle 可热更新,宿主侧变更需下次重组后生效。

CLI 命令

命令 作用
dsh-carbon 汇总报告:总量、区间、按 session/model、按 token 种类
dsh-carbon timeline 条纹块、总量、中位周期、四类 token 占比
dsh-carbon sync 将会话日志同步到 store
dsh-carbon recompute 按 token 计数重算已存 session
dsh-carbon card 输出可分享 SVG(--out、--stdout)
dsh-carbon badge 输出 shields.io badge(--svg)
dsh-carbon pr 自分支点起仓库足迹并关联 PR(--dry-run、--pr N)
dsh-carbon sessions 每 session 一行
dsh-carbon json 机器可读输出
dsh-carbon methodology 因子、来源、区间与 caveat

读数普遍支持:--range 7d|30d|90d|12mo|all、--since YYYY-MM-DD、--until YYYY-MM-DD、--infra china|azure|aws;report 另有 --limit N。

安装与启用

要求:DeepSeek Harness 0.2.1-rc.3 或更新(在 dsh.engines.dsh 中声明);独立 CLI 另需 Node 22.15+。

作为 DSH 插件(含 GUI)

desktop 是 profile 名称,以你本机为准:

ls ~/.dsh/profiles

误写 profile 不会报错,但会在一个 Harness 不会读取的空 profile 里安装插件;侧栏没有 Carbon 时应先核对这一点。

安装命令(README 原文):

dsh plugin --profile desktop add dsh-carbon

该命令在 profile 内转发 pnpm add,并把包写入 dsh.profile.bundles。剩余手动步骤是重启 Harness 一次,以便发现 browser 半部。

若 dsh 不在 PATH,macOS 应用内路径示例:

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop add dsh-carbon

无 npm 时,可使用 GitHub releases 附带的 tarball:dsh plugin --profile desktop add <tarball URL>。手工方式则为在 profile 目录 pnpm add dsh-carbon,并在 dsh.profile.bundles 中加入 "dsh-carbon"。

仅 CLI

npx dsh-carbon report

典型用法

  1. 安装插件并重启 Harness,在侧栏打开 Carbon,选择时间窗与 infra 假设,查看估计值、区间与 token/CO₂ 双 bar。
  2. 在终端同步并重算本地历史:
dsh-carbon sync
dsh-carbon recompute
dsh-carbon --range 30d
  1. 导出分享素材:
dsh-carbon card --out footprint.svg
dsh-carbon badge
dsh-carbon json --range 7d
  1. 核对方法论与置信说明:
dsh-carbon methodology

适用场景与注意

适合:希望在 DSH 开发流程中持续查看会话级、模型级碳足迹估算;需要带来源与区间、而非单点「精确数字」的开发者;需要在 README 或 PR 中附带 badge/card 的团队。

注意:

  • 读数是估算,README 明确 DeepSeek 侧公开能耗测量较少;Confidence 区会标出无公开能耗测量的 model session 比例。
  • 插件以当前 DSH 进程权限运行,会读取本地 session 日志与 store;安装前请阅读源码与 MIT 许可证,确认符合你的环境与合规要求。
  • DSH 生态强调「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-carbon 把 DeepSeek Harness 会话的 token 用量转成带来源因子、置信区间和本地历史的碳足迹视图,终端与 Web 侧栏共用同一套核心逻辑。若要进一步了解实现与因子表,可直接阅读仓库 README 与 methodology 输出。

  • 目录页:https://www.skillhub.cn/plugins/ValenscoA/dsh-carbon
  • GitHub:https://github.com/ValenscoA/dsh-carbon
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜