Local Deep Research 指标仪表盘(Metrics Dashboard)实战指南:追踪 Token 成本、搜索健康度与研究质量
2026/9/16 12:05:16 网站建设 项目流程

Local Deep Research 指标仪表盘(Metrics Dashboard)实战指南:追踪 Token 成本、搜索健康度与研究质量

【免费下载链接】local-deep-research~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10+ search engines - arXiv, PubMed, your private documents. Everything Local & Encrypted.项目地址: https://gitcode.com/GitHub_Trending/lo/local-deep-research

本地深度研究(Local Deep Research)系统的 Metrics Dashboard 是一套内置的、完全本地化的分析与监控面板,围绕 LLM Token 用量与成本、多搜索引擎健康度、研究会话统计、用户星级评价与限流(Rate Limiting)状态提供一站式可视化。本指南以 docs/analytics-dashboard.md 为核心脉络,结合 metrics 路由源码 与相关测试,完整讲解从访问、读图、API 拉取到基于数据进行成本优化、搜索调优与研究质量改进的完整工作流。读完本文,你将能够熟练使用/metrics面板与全部 Analytics API,并理解这些指标在底层是如何被采集与聚合的。

一、仪表盘概述:能监控什么

Metrics Dashboard 追踪四类核心数据,覆盖研究活动从"钱"到"效果"的完整闭环:

  • Token 用量与各 LLM 提供商的成本:输入/输出 Token 拆分、按模型与提供商的费用估算;
  • 搜索引擎性能与健康度:各引擎的成功率、响应时间、限流状态;
  • 研究会话统计:总研究次数、时长、完成状态、策略使用与查询复杂度;
  • 用户满意度评分:1~5 星评价与反馈文本分析;
  • 限流状态:实时等待时间与历史限流事件。

访问方式

  • Web 界面:浏览器访问/metrics
  • 直接 URLhttp://localhost:5000/metrics

从源码看,所有指标接口都挂在同一个 FastAPI 路由下:metrics.py 中声明router = APIRouter(prefix="/metrics", tags=["metrics"]),且每个接口都通过require_auth依赖校验登录会话 Cookie,因此直接 curl 前需要先完成登录认证。

二、主面板组件与时间过滤

2.1 系统概览卡片(Overview Cards)

主仪表盘首屏以卡片形式呈现关键指标:

卡片说明
Total Tokens Used总 Token 消耗量,可点击展开查看按模型的输入/输出拆分
Total Researches已完成的研究会话总数
Average Response Time系统平均响应时间,用于评估性能
Success RateLLM 调用与操作的成功率百分比
User Satisfaction用户反馈的平均星级评分
Estimated Costs基于 Token 与模型单价估算的成本,按提供商拆分

这些指标的数据来源与聚合逻辑可参考 dashboard-improvements.md:摘要卡片、可展开 Token 明细、响应时间(毫秒转秒显示)、成功率监控均已在实现清单中。更细化的增强追踪方案见 enhanced-token-tracking.md。

2.2 时间范围与模式过滤

面板支持按时间窗口过滤分析数据:

  • 最近 7 天
  • 最近 30 天
  • 最近 3 个月
  • 最近 1 年
  • 全部时间(All time)

此外还支持按研究模式(Research mode)过滤:

  • Quick Summary(快速摘要)
  • Detailed(详细研究)
  • All(全部)

在源码中,时间与模式过滤由 query_utils.py 的get_period_daysget_time_filter_condition等工具函数实现,聚合逻辑的正确性由 tests/web/routers/test_metrics_analytics_aggregation.py 等测试覆盖。

三、三个详细分析子页面

3.1 星级评价分析(Star Reviews Analytics)

访问路径:/metrics/star-reviews

提供的功能:

  • 5 星评分分布(rating distribution);
  • 按时间段统计的平均评分;
  • 评分趋势可视化;
  • 按模型与搜索引擎拆分的评分表现;
  • 用户反馈文本分析。

对应底层接口GET /metrics/api/star-reviews,其分析逻辑(get_rating_analytics(period, research_mode, username)返回平均分、评分分布、满意度统计等)位于 metrics.py,相关数据模型ResearchRating定义于 database/models/metrics.py,并有 tests/web/routers/test_metrics_star_reviews.py 验证其行为。

3.2 成本分析(Cost Analytics)

访问路径:/metrics/costs

追踪的指标包括:

  • 按提供商(OpenAI、Anthropic 等)的成本拆分;
  • Token 用量明细(输入/输出/合计);
  • 成本随时间的变化趋势;
  • 特定模型的成本分析;
  • 不同研究类型的成本对比。

成本计算的底层实现依赖 metrics/query_utils.py 中的价格表与 tests/metrics/test_cost_calculator.py、tests/metrics/test_pricing_fetcher.py 等测试;价格数据可在线更新并缓存,具体机制可阅读 tests/metrics/test_pricing_cache.py。

3.3 限流仪表盘(Rate Limiting Dashboard)

实时监控内容:

  • 各搜索引擎的限流状态;
  • 每个引擎的成功/失败率;
  • 等待时间(Wait Time)追踪;
  • 引擎健康度指示器:
状态含义判定标准
🟢 Healthy健康成功率 > 95%
🟡 Degraded降级成功率 70%~95%
🔴 Poor成功率 < 70%

四、被追踪的指标明细

Token 指标

  • 总 Token 数(输入 + 输出);
  • 按模型统计的 Token 用量;
  • 每次研究的平均 Token 数;
  • Token 消耗趋势。

Token 计数的实现位于local_deep_research/metrics模块(TokenCounter在 metrics.py 中被导入使用),采集与入库逻辑可参见 database/thread_metrics.py 与 tests/metrics/test_token_counter.py 系列测试。

搜索指标

  • 搜索引擎使用频率;
  • 每个引擎的响应时间;
  • 成功/失败率;
  • 结果数量统计。

研究指标

  • 研究会话总数;
  • 研究时长;
  • 完成状态;
  • 策略使用情况(ResearchStrategy);
  • 查询复杂度。

性能指标

  • API 响应时间;
  • 系统延迟;
  • 错误率;
  • 吞吐量统计。

五、数据导出

5.1 研究报告导出

单次研究结果支持三种导出格式:

  • PDF:带引用的格式化报告;
  • Markdown:带格式的原始 Markdown;
  • JSON:通过 API 获取的结构化数据。

5.2 分析数据 API 导出

所有分析数据均可通过 API 访问。这些端点全部位于 metrics 路由的/metrics前缀之下(metrics.py 中的APIRouter(prefix="/metrics")),并且都要求已认证的会话 Cookie:

# 获取总体指标 curl http://localhost:5000/metrics/api/metrics # 获取特定研究指标 curl http://localhost:5000/metrics/api/metrics/research/{research_id} # 获取增强追踪数据 curl http://localhost:5000/metrics/api/metrics/enhanced # 获取评分分析 curl http://localhost:5000/metrics/api/star-reviews # 获取成本分析 curl http://localhost:5000/metrics/api/cost-analytics # 获取限流状态 curl http://localhost:5000/metrics/api/rate-limiting

六、可视化方案:Chart.js

仪表盘使用Chart.js渲染图表,覆盖四类可视化:

  • 折线图(Line Charts):Token 用量与搜索活动随时间的变化;
  • 柱状图(Bar Charts):模型用量对比、成本拆分;
  • 饼图(Pie Charts):提供商分布、搜索引擎使用占比;
  • 进度指示器(Progress Indicators):成功率、健康状态。

前端页面模板位于 web/templates/pages/metrics.html,配套的运行时测试可见 tests/js/pages/metrics-dashboard-runtime.test.js 与 tests/ui_tests/test_metrics_chart.js。

七、成本追踪:自动计算与支持提供商

7.1 自动成本计算

成本估算基于四个输入:

  • 提供商定价(OpenAI、Anthropic 等);
  • 实际 Token 用量;
  • 模型专属费率;
  • 输入与输出 Token 分别计费。

7.2 支持的提供商

提供商代表模型备注
OpenAIGPT-3.5、GPT-4按模型费率计费
AnthropicClaude 系列按模型费率计费
GoogleGemini 系列按模型费率计费
本地模型(Local)显示为 $0(本地推理无 API 费用)

从源码结构可以推断:价格数据与成本计算模块独立成包,相关测试覆盖广泛,例如 tests/metrics/test_cost_calculator.py、tests/metrics/pricing/test_pricing_fetcher_coverage.py,以及 tests/web/routers/test_metrics_rate_limit_and_cost_endpoints.py 对成本端点的集成验证。

八、限流分析与管理

8.1 监控能力

  • 实时限流状态;
  • 历史限流事件;
  • 自动等待时间优化(learned wait times 随搜索自动自适应);
  • 按引擎的性能追踪。

8.2 管理限流

系统会根据实际搜索运行情况自动学习并调整等待时间。如需主动干预,可在设置(Settings)中调整限流配置文件(rate limiting profile),三档可选:

  • Conservative(保守):等待更久,降低触发限流的概率;
  • Balanced(均衡):默认折中方案;
  • Aggressive(激进):等待更短,吞吐更高但更易被限流。

限流相关实现可参考 tests/search_engines/test_rate_limiter.py、tests/rate_limiting/test_rate_limiting.py 等测试目录,以及数据模型RateLimitEstimate(导入自 database/models/metrics.py)。

九、隐私与数据存储

  • 所有分析数据本地存储
  • 不接入任何外部分析服务(无第三方埋点);
  • 数据保存在SQLite 数据库中;
  • 支持可配置的数据保留策略(configurable retention)。

这符合项目"Everything Local & Encrypted"的定位:指标数据与研究数据一样,始终留在用户自己的机器上。

十、用分析数据驱动优化

10.1 定位成本驱动因素

  1. 在成本分析页审查高 Token 消耗的查询;
  2. 对比模型成本与对应质量评分;
  3. 针对不同任务优化模型选择。

10.2 改进搜索性能

  1. 监控各搜索引擎健康状态;
  2. 识别频繁被限流的引擎;
  3. 依据成功率调整搜索策略。

10.3 提升研究质量

  1. 按研究类型分析用户评分;
  2. 复盘低分会话,寻找共性问题;
  3. 根据反馈调整参数。

十一、与基准测试系统的集成

高级用户可将分析数据与基准测试系统联动:

  • 追踪不同配置下的性能表现;
  • 可视化优化结果(当环境安装了 matplotlib 时);
  • 对比质量与速度的权衡;
  • 导出基准测试数据供进一步分析。

相关配套文档见 基准测试指南 与 CLI 工具文档。

十二、API 参考(完整端点)

Metrics 端点

# 总体指标,可带时间与模式过滤 curl 'http://localhost:5000/metrics/api/metrics?days=30&mode=quick' # 特定研究的指标 curl http://localhost:5000/metrics/api/metrics/research/<id> # 增强指标(详细追踪) curl http://localhost:5000/metrics/api/metrics/enhanced # 星级评分数据 curl 'http://localhost:5000/metrics/api/star-reviews?days=30' # 成本拆分,可按提供商过滤 curl 'http://localhost:5000/metrics/api/cost-analytics?provider=openai' # 限流状态 curl http://localhost:5000/metrics/api/rate-limiting

其中days参数对应上文的时间过滤窗口,mode对应研究模式过滤(quick / detailed / all);底层聚合分别由get_time_filter_conditionget_period_daysget_rating_analytics等函数完成(见 metrics.py 及 query_utils.py)。

另外,metrics-dashboard.md 还补充了更细粒度的接口表,包括:

  • GET /metrics/api/metrics/research/<id>/timeline:研究执行时间线;
  • GET /metrics/api/metrics/research/<id>/search:单次研究内的搜索指标;
  • GET /metrics/api/metrics/research/<id>/links:研究过程中发现的链接;
  • GET /metrics/api/pricingGET /metrics/api/pricing/<model>:模型定价数据;
  • POST /metrics/api/domain-classifications/classify:批量域名分类(如{"domains": ["example.com", "arxiv.org"]});
  • GET /metrics/api/link-analytics:链接分析聚合数据;
  • GET /metrics/api/ratings/<research_id>POST /metrics/api/ratings/<research_id>:读取与提交评分(Body 如{"rating": 5, "feedback": "Excellent results"})。

十三、常见问题排查

  • 没有数据显示:请先完成至少一次研究,确认 Token 追踪已启用,然后刷新页面。
  • 成本估算不准:核对模型定价是否为最新、提供商识别是否正确;不同模型的 Token 统计口径可能有差异。
  • 限流数据缺失:先运行一些搜索产生数据,然后在设置中确认限流功能已启用,再刷新仪表盘。

相关文档

  • 功能文档
  • 配置指南
  • 完整配置参考
  • API 快速上手
  • 基准测试指南
  • 指标面板增强说明
  • 增强 Token 追踪说明

【免费下载链接】local-deep-research~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10+ search engines - arXiv, PubMed, your private documents. Everything Local & Encrypted.项目地址: https://gitcode.com/GitHub_Trending/lo/local-deep-research

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询