语言: English · 简体中文
本文档勾勒 context-tracker 的未来方向。这是方向而非承诺,优先级会随真实使用和反馈调整。
详细的、可勾选的实现清单: 见 docs/implementation-plan.md。
context-tracker 可以沿三种身份成长,路线取决于我们侧重哪一种:
- A. 开发者调试工具(当前)——看清单次请求究竟发了什么,排查 agent 行为。
- B. 上下文与成本分析——跨请求聚合,回答"token 花在哪了、怎么裁剪?"
- C. Agent 可观测性基础设施——持久化存储、会话追踪、团队协作;LLM agent 版的 APM。
护城河最深的是 B:"抓包看请求"技术门槛低、易被替代,而"告诉你上下文预算怎么花、怎么省"是 agent 时代的真痛点——而协议解析层已经为它打好了地基。
- 响应深度解析——目前响应仅存原始 SSE 文本。解析出
stop_reason、工具调用、tokenusage,让 viewer 展示单次调用的真实消耗。这是从"看请求"到"看全貌"的关键一步。 - 请求 diff——相邻请求之间的差异。Agent 每轮追加消息,diff 能一眼看出新增了什么、系统提示是否变化、哪些历史被截断。
- 精确 token 计量——接入 tokenizer(或用响应的
usage),把N msg / N tools / N B概览升级为真实 token 数,并按 system / tools / history 拆分。
- 上下文构成——展示"这次调用 40% token 是工具定义、35% 是历史、只有 10% 是实际问题",直接指导优化。
- 成本仪表盘——按 provider / model / 时间聚合花费(usage + 定价表),回答"这个项目今天花了多少"。补上计费类工具缺失的逐请求上下文明细。
- 浪费检测——自动标记重复的大 tool schema、从不裁剪的历史、超大 system prompt,并给出可执行建议。
- 透明代理模式(可选)——可选的 MITM + CA 模式,实现完全零配置感知以及签名鉴权 provider(Bedrock / Vertex)。默认仍是零 CA 的 baseURL 模式,这只是给有需要的人一条路。
- 更多客户端——Gemini CLI、Cursor、Cline、Aider 等。每个基本只需确认其 base URL / 协议,并在
protocols.js加一个抽取器。 - WebSocket / 双向流——面向未来的 realtime API 场景。
- 落盘存储——目前全在内存,重启即失。加可选的 SQLite/JSONL 持久化,支持事后回看与跨会话检索。
- 会话 / trace 关联——按
session_id把一个任务的多轮请求串成时间线,而非散乱的请求列表。 - 导出 / 分享——把单条或整个会话导出为 HAR / JSON / Markdown,便于贴 issue 或团队复盘。
- 稳定性基建——已有 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 的请求/响应绝不被阻塞或改动。
- 本地优先。 无遥测,除非用户显式导出,数据不离开本机。