前言¶
DeepSeek Harness (DSH) 是智能体开发工具,运行过程中需要指标反馈。现有的监控方案可能面临数据泄露风险,或者需要复杂的配置。作为 DSH 插件生态的一部分,dsh-prometheus 提供了一套开箱即用的监控方案。
插件介绍¶
该插件由 xxiaoxiong 维护,类别为 admin-security,采用 MIT 许可证。它旨在为 DeepSeek Harness 提供隐私友好的 Prometheus 指标和 Grafana 仪表盘。
监控范围¶
插件覆盖了 DSH 运行时的多个维度:
- 会话与 Agent:监控活跃会话、Agent 轮次、步骤、错误及持续时间。
- LLM 层:监控请求率、终端状态、延迟以及输入/输出/推理/缓存的 Token 计数。
- 工具调用:监控工具调用率、标准化状态(成功/错误)及延迟。
- 审批与子代理:监控审批请求、子代理的启动、结果及持续时间。
- 后台任务:监控后台任务的状态(活跃/启动/完成/被杀/失败)及持续时间。
- 系统诊断:监控进程启动时间及基数溢出诊断。
安装与配置¶
首先将插件安装到 DSH 的 monitoring 配置集,并验证配置层是否正确插入:
dsh plugin --profile monitoring add dsh-prometheus
dsh --profile monitoring --dump-config
安装后,插件默认处于 auto 模式。该模式会在激活时做如下决策:
1. 如果 DSH 的 webServer 已经激活且安全绑定,则在现有路由上注册 /metrics 端点。
2. 否则,在 127.0.0.1:9464 启动一个独立的监控端点。
若需强制使用独立端点(例如在 Docker 环境中),可在 cordis.patch.yml 中配置:
- id: prometheus
config:
enabled: true
mode: standalone
host: 127.0.0.1
port: 9464
path: /metrics
allowRemote: false
maxLabelValues: 64
maxLabelValueLength: 80
使用示例¶
- 启动本地栈:使用提供的 Docker 示例启动 Prometheus 和 Grafana。
docker compose -f examples/docker-compose.yml up -d
- 抓取指标:通过 curl 验证端点是否可用。
curl http://127.0.0.1:9464/metrics
- PromQL 查询:查看 Agent 的吞吐量。
sum(rate(dsh_agent_turns_total[5m]))
隐私与限制¶
- 数据隐私:收集器从不导出提示词、用户/助手消息、系统提示词、工具参数或结果。仅导出四个运行时可控的标签键:
provider、model、tool和job kind。 - 远程暴露:远程暴露没有内置的身份验证或 TLS,启用
0.0.0.0或远程 WebServer 路由前需阅读SECURITY.md。 - 基数限制:标签值受
maxLabelValues(默认 64)和maxLabelValueLength(默认 80)限制,超出或非法的值会被归为__other__。 - 升级与移除:将每个 DSH 升级视为兼容性事件;移除插件不会删除已存储的 Prometheus 数据。
注意事项¶
- 版本兼容性:当前版本为
0.1.0开发者预览版,兼容性测试仅针对 DSH0.1.0-rc.6。 - 依赖要求:需要 Node.js
^22.19.0 || >=24.0.0及 Cordis^4.0.1。 - 权限与来源:插件以当前 DSH 进程权限运行,安装前请检查源码与许可证。
生态背景¶
DeepSeek Harness 理念是「一切皆插件」。该插件在社区目录 https://www.skillhub.cn/plugins/xxiaoxiong/dsh-prometheus 可查,与 DeepSeek / 幻方无官方从属关系。