Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 4.14 KB

File metadata and controls

60 lines (43 loc) · 4.14 KB

路线图

语言: English · 简体中文

本文档勾勒 context-tracker 的未来方向。这是方向而非承诺,优先级会随真实使用和反馈调整。

详细的、可勾选的实现清单:docs/implementation-plan.md

定位

context-tracker 可以沿三种身份成长,路线取决于我们侧重哪一种:

  • A. 开发者调试工具(当前)——看清单次请求究竟发了什么,排查 agent 行为。
  • B. 上下文与成本分析——跨请求聚合,回答"token 花在哪了、怎么裁剪?"
  • C. Agent 可观测性基础设施——持久化存储、会话追踪、团队协作;LLM agent 版的 APM。

护城河最深的是 B:"抓包看请求"技术门槛低、易被替代,而"告诉你上下文预算怎么花、怎么省"是 agent 时代的真痛点——而协议解析层已经为它打好了地基。

主题方向

1. 抓取深度——抓得更全、更准

  • 响应深度解析——目前响应仅存原始 SSE 文本。解析出 stop_reason、工具调用、token usage,让 viewer 展示单次调用的真实消耗。这是从"看请求"到"看全貌"的关键一步。
  • 请求 diff——相邻请求之间的差异。Agent 每轮追加消息,diff 能一眼看出新增了什么、系统提示是否变化、哪些历史被截断。
  • 精确 token 计量——接入 tokenizer(或用响应的 usage),把 N msg / N tools / N B 概览升级为真实 token 数,并按 system / tools / history 拆分。

2. 分析与洞察——定位 B 的核心

  • 上下文构成——展示"这次调用 40% token 是工具定义、35% 是历史、只有 10% 是实际问题",直接指导优化。
  • 成本仪表盘——按 provider / model / 时间聚合花费(usage + 定价表),回答"这个项目今天花了多少"。补上计费类工具缺失的逐请求上下文明细。
  • 浪费检测——自动标记重复的大 tool schema、从不裁剪的历史、超大 system prompt,并给出可执行建议。

3. 覆盖广度

  • 透明代理模式(可选)——可选的 MITM + CA 模式,实现完全零配置感知以及签名鉴权 provider(Bedrock / Vertex)。默认仍是零 CA 的 baseURL 模式,这只是给有需要的人一条路。
  • 更多客户端——Gemini CLI、Cursor、Cline、Aider 等。每个基本只需确认其 base URL / 协议,并在 protocols.js 加一个抽取器。
  • WebSocket / 双向流——面向未来的 realtime API 场景。

4. 持久化与回溯——定位 C 的基础

  • 落盘存储——目前全在内存,重启即失。加可选的 SQLite/JSONL 持久化,支持事后回看与跨会话检索。
  • 会话 / trace 关联——按 session_id 把一个任务的多轮请求串成时间线,而非散乱的请求列表。
  • 导出 / 分享——把单条或整个会话导出为 HAR / JSON / Markdown,便于贴 issue 或团队复盘。

5. 生态与分发

  • 稳定性基建——已有 22 个测试但没有 CI。加 GitHub Actions(测试 + lint)、CHANGELOG、语义化版本,为公开发布做准备。
  • 可编程接口——把 viewer 的 /__history 变成有文档的只读 API,让别人在其上做分析/告警。
  • hook / 插件点——允许自定义 redactor、自定义 provider 抽取器、请求转换器。

分阶段计划

版本 重点 亮点
v0.2 打磨当前工具(A) 发布到 npm · CI · 响应 usage 解析 · 请求 diff
v0.3 走向分析(B) 精确 token 计量 · 上下文构成 · 成本聚合
v0.4 广度 可选透明代理(CA) · 更多客户端(Gemini/Cursor/Aider)
v0.5 持久化与会话(C) 落盘存储 · 会话 trace · 导出
v1.0 稳定与生态 API 文档化 · 插件点 · 语义化版本承诺

指导原则

  • 默认保持零依赖。 新的重型功能(tokenizer、存储、透明代理)应当可选,缺失时优雅降级。
  • 永不触碰主链路。 抓取与分析始终是 fire-and-forget 的旁路;agent 的请求/响应绝不被阻塞或改动。
  • 本地优先。 无遥测,除非用户显式导出,数据不离开本机。