在开发 DeepSeek Harness (DSH) 应用或插件时,开发者通常需要掌握请求的耗时分布、模型调用成本、工具执行情况以及缓存命中率,以便进行性能优化和预算控制。现有的监控方案往往需要采集对话内容,或者难以在本地开发环境中无缝集成。dsh-telemetry 作为一个本地优先的插件,旨在提供对 Harness 运行时行为的可观测性,同时默认不采集敏感的对话内容。
是什么¶
这是一个 DeepSeek Harness 插件,由 duyanta123 维护,采用 MIT 许可证。它不进行业务分析,不修改请求内容,也不会上传用户对话到任何第三方平台。
核心能力¶
插件记录请求、模型、工具和插件的生命周期指标,包括延迟、Token 数量、成本估算、错误率以及缓存情况。它主要用于回答以下问题:
* 单次请求的耗时是多少?
* 时间消耗主要在模型调用、工具执行还是插件钩子上?
* 输入输出 Token 数量是多少?重试带来了多少额外成本?
* 哪些工具调用最慢且失败率最高?
* 哪些插件抛出了异常或阻塞了流程?
* 缓存是否命中?模型路由是否节省了成本?
安装与启用¶
推荐通过 DSH 的插件管理命令安装。
dsh plugin --profile <name> add "github:duyanta123/dsh-telemetry#main"
安装完成后,重启对应的 profile(例如 dsh --profile <name>),捕获会自动开始。
使用与查询¶
安装后,可以通过命令行查询状态或启动 Web UI。
# 查看运行状态
node <profile>/node_modules/dsh-local-telemetry/bin/telemetry.mjs --status
# 启动本地只读 Web UI(绑定 127.0.0.1)
node <profile>/node_modules/dsh-local-telemetry/bin/telemetry.mjs --ui --port 47610
通过 Web UI,可以查看请求概览、P95 延迟、首 Token 时间、Token/缓存命中率、估算成本以及错误分类。通过 profile patch 配置,可以设置数据存储方式,例如使用 SQLite。
兼容性与隐私¶
- Node.js 版本:支持 JSONL 和纯 CLI 模式(Node.js >= 18);SQLite 后端需要 Node.js >= 22.5。
- 隐私保护:默认不采集提示词、回复、文件内容或密钥。仅记录名称、ID、计数、状态、持续时间和 Token 总数。
- UI 安全:Web UI 是本地只读的,且仅绑定到 127.0.0.1。
总结¶
dsh-telemetry 提供了一种在本地、隐私友好的方式来量化 Harness 的运行行为。开发者可以通过它深入了解系统性能和成本结构,而无需担心敏感数据泄露。