前言¶
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。