前言¶
DeepSeek Harness(DSH)里可以用成本相关能力做用量查看,但缺少面向监控系统、可机读导出的通路。若要把 token、会话、调用次数和费用汇总交给 Grafana、Langfuse 或任意支持 JSON 的 OpenTelemetry Collector,通常需要自行解析审计 JSON 并手工拼指标。
dsh-otel(仓库 lengrufeng2008/dsh-otel)做的是汇总级转换:读取 dsh-token-audit 输出的 JSON summary,写成 OTLP/JSON metrics。它不生成逐轮对话或逐工具的 span,也不内置网络上传——只写文件,由你的采集端负责上报。
维护者为 lengrufeng2008,社区目录分类为 admin-security;当前 GitHub 星标为 0。许可证 MIT,版本 0.1.0(见仓库 package.json),运行需 Node.js >= 20。
这是什么¶
一句话:dsh-otel 是 DSH 生态里的观测导出插件,把 token 审计 JSON 转成标准 OTLP/JSON 指标,便于接入现有可观测性栈。
设计边界在 README 里写得很清楚:继承审计里的计价结果,不重新定价;仅 OTLP/JSON,不是 protobuf;无实时流式、无内置仪表盘。若审计 JSON 里含敏感标题或路径,导出前应自行脱敏。
实现思路受 claude-code-otel 启发,仓库说明未复制其源码,详见 NOTICE.md。
核心功能¶
汇总指标字段¶
插件从 audit summary 映射出一组固定 metric 名,便于在 Grafana 等侧统一建模:
- 费用与会话:
dsh.cost.cny,dsh.sessions,dsh.calls - Token 分项:
dsh.tokens.input,dsh.tokens.cache_read,dsh.tokens.output - 投影与峰谷:
dsh.cost.projected_monthly_cny,dsh.cost.idle_cny,dsh.cost.peak_cny - 按模型:
dsh.model.cost.cny,dsh.model.calls,dsh.model.tokens.output
两种使用入口¶
- 命令行管道:先由
dsh-token-audit生成 JSON,再用node bin/dsh-otel.mjs写出 OTLP JSON 文件。 - DSH 内调用:对已有
audit.json使用otel_export,并指定format=summary(见下文典型用法)。
package.json 同时暴露 npm 包入口(如 ./plugin、./otlp),并带有 dsh.bundle.patch 配置,表明其以 DSH 插件形态打包;具体启用方式以你本地的 DSH 插件管理为准。
安装与启用¶
已抓取资料中的 README 未给出形如 dsh plugin add … 的统一安装命令,此处不凭插件名拼接命令。你可以:
- 从社区插件目录页 skillhub.cn/plugins/lengrufeng2008/dsh-otel 查看该插件的说明与安装指引(目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
- 在已安装插件的工作区中,确保 Node.js 版本满足
>=20,并可执行bin/dsh-otel.mjs(npm 包名dsh-otel,type: module)。
插件在 DSH 进程权限下运行。安装或启用前,应自行阅读仓库源码与 MIT 许可证,确认符合你的安全与合规要求。
典型用法¶
下面介绍 README 中的可复现流水线。
1. 生成审计 JSON¶
先用 DSH 自带的 token 审计工具导出全量 summary,写入文件:
dsh-token-audit --all --format json > audit.json
这一步得到的是后续转换的唯一输入;计价与汇总口径与审计工具一致。
2. 转换为 OTLP/JSON¶
在同一机器上用 Node 执行插件 CLI,指定输入与输出路径:
node bin/dsh-otel.mjs --input audit.json --output otlp.json
完成后 otlp.json 即为 OTLP/JSON metrics,交由你的 Collector 或兼容后端 ingest。
3. 在 DSH 内导出(summary 格式)¶
若已在 DSH 环境中挂载该插件,可对 audit.json 使用文档所述能力:
Use otel_export on audit.json, format=summary.
语义与 CLI 一致:summary 指标,无逐轮 span。
4. 本地验证¶
仓库提供 Node 内置测试 runner:
npm test
对应脚本为 node --test test/*.test.mjs(见 package.json 的 scripts.test)。
适用场景与注意¶
适合谁
- 已在 DSH 中用
dsh-token-audit做成本/用量汇总,希望把同一套数字接入 Grafana、Langfuse 或 OTLP JSON 采集链路的开发者或平台同学。 - 只需要汇总 observability,不需要对话级 tracing 的团队。
不适合或做不到的事
- 需要 per-turn、per-tool span 或实时流式监控:插件明确不支持。
- 期望插件代你联网上报:它只写 JSON,上传由外部 Collector 完成。
- 想用 OTLP protobuf:当前仅 OTLP/JSON。
运维与安全
- 指标继承审计 JSON 的定价与内容;敏感字段请在导出前 redact。
- 分类为 admin-security,仍建议把插件当作高权限扩展对待:安装前审源码,生产环境控制谁可以执行
otel_export或 CLI。
结尾¶
dsh-otel 补的是 DSH 成本看板与外部监控系统之间的机读桥梁:一条 audit summary,一份 OTLP/JSON metrics 文件,无网络、无 span 膨胀。若要进一步了解说明与更新,可看社区目录 https://www.skillhub.cn/plugins/lengrufeng2008/dsh-otel 与 GitHub 仓库 https://github.com/lengrufeng2008/dsh-otel。