2026年6月26日 2 分钟阅读

Context Gateway 完全指南:AI Agent 对话历史的智能压缩方案

tinyash 0 条评论

使用 AI 编码 Agent(Claude Code、Cursor 等)时,你一定遇到过这个问题:对话进行到一半,上下文窗口满了,Agent 需要暂停几分钟来压缩历史。更糟的是,有时候压缩完回来,已经忘了之前讨论的上下文细节。

Context Gateway 正是为此而生。它是一个开源的 agentic 代理层,位于你的 AI Agent 和 LLM API 之间,当对话变长时在后台预计算压缩摘要——让你永远不需要等待上下文压缩。

本文将全面介绍 Context Gateway 的工作原理、安装配置、核心功能以及实战场景。

什么是 Context Gateway?

Context Gateway 由 YC 孵化的 Compresr 公司开发,是一个用 Go 编写的开源代理服务(Apache-2.0 许可,GitHub 621 ★)。它不是一个独立的编码助手,而是增强已有 AI Agent 的工具——像一层透明的中间件,默默优化 Agent 与 LLM 之间的对话流量。

核心思路很简单:不要让 Agent 在对话极限处才压缩上下文,而是在后台持续预计算摘要,让压缩结果立即可用。

快速安装

安装 Context Gateway 只需要一条命令:

curl -fsSL https://compresr.ai/api/install | sh

安装完成后,直接运行 context-gateway 会打开一个交互式 TUI 向导,帮你完成初始配置:

context-gateway

TUI 向导会引导你完成三个步骤:

  1. 选择 Agent — 从预置列表中选择你的 AI 编码 Agent
  2. 配置摘要模型 — 设置用于生成摘要的模型和 API Key
  3. 设置压缩阈值 — 默认在上下文使用达到 75% 时触发预压缩

支持的 AI Agent

Context Gateway 目前支持四种集成模式:

Agent说明
claude_codeClaude Code IDE 集成
cursorCursor IDE 集成
openclaw开源的 Claude Code 替代方案
custom自定义 Agent 配置

如果你用的是其他 Agent(如 Codex、OpenCode),选择 custom 模式手动配置即可。

核心功能详解

1. 预计算摘要(Preemptive Summarization)

这是 Context Gateway 最核心的功能。传统的工作流是:

Agent 对话 → 上下文窗口满 → 触发压缩 → 等待完成 → 继续对话

而 Context Gateway 将其变为:

Agent 对话 → 后台持续预计算摘要 → 上下文窗口满 → 瞬间切换至摘要 → 继续对话

摘要结果会记录在 logs/history_compaction.jsonl 中,方便你查看每次压缩的内容和节省的 Token 数。

2. 工具输出压缩

Agent 调用工具后,返回的结果(尤其是代码搜索、文件读取等操作)往往体积庞大。Context Gateway 会自动压缩这些工具输出,在它们进入上下文之前就做瘦身处理。

v0.5.2 版本引入了 always_keep 保证机制——关键工具的结果不会被错误过滤掉,确保核心功能不受影响。

3. 智能上下文扩展(Expand Context)

当 Agent 需要更长的上下文时,Context Gateway 提供了 expand_context 工具(始终注入到 Agent 的工具列表中),支持 reranker 扩展——Agent 可以主动申请扩展上下文,而 Gateway 会智能选择最相关的历史信息返回。

4. 多 Agent 管理

从 v0.5.0 起,Context Gateway 支持在同一实例上管理多个 Agent 配置。每个 Agent 有独立的会话目录和配置参数,互不干扰。这对同时使用多个编码助手的开发者特别实用。

5. 成本追踪与仪表盘

v0.4.3 引入的 Dashboard 功能可以实时显示:

  • 压缩节省的 Token 数量
  • 对应的成本节省
  • 会话使用统计
  • 使用上限配置

数据一目了然,方便你评估压缩效果。

6. 多端口网关

v0.2.0 引入的多端口功能允许并行运行多个终端窗口,每个终端使用独立的端口和配置。这在调试不同 Agent 行为时非常有用。

实战配置示例

基本配置流程

安装后运行 context-gateway,TUI 向导会提示你选择 Agent 和配置参数。以下是典型配置项:

agent: claude_code

summarizer_model: claude-sonnet-4
api_key: sk-xxxxxxxxxxxxxxxx

trigger_threshold: 75

slack_webhook: https://hooks.slack.com/services/xxx

带自定义 Agent 启动

./start_agent.sh

./start_agent.sh cursor

./start_agent.sh claude_code -p 18081 --debug

Docker 部署

Context Gateway 从 v0.2.0 起支持 Docker 部署,适合需要持续运行的生产环境:

git clone https://github.com/Compresr-ai/Context-Gateway.git
cd Context-Gateway
make docker

docker run -d -p 18081:18081 context-gateway:latest

高级功能

提供者扩展

Context Gateway 支持多种 LLM 提供者作为摘要引擎:

  • AWS Bedrock — 适合已在 AWS 生态的团队(v0.3.0+)
  • Ollama — 本地模型,零成本运行(v0.3.0+)
  • Gemini — Google 的模型系列(v0.3.0+)
  • OpenRouter — 灵活路由到多种模型(v0.2.0+)
  • LiteLLM — 兼容任何 LiteLLM 支持的模型(v0.5.2+)

Phantom Tools(v0.5.2 新增)

这是一个巧妙的功能:在不修改 Agent 工具列表的前提下,虚拟注入工具。Agent 的配置不需要任何改动,Gateway 自动在代理层处理工具的注入和调用。

热重载配置

从 v0.5.2 起,修改配置文件后不需要重启 Gateway,配置会自动生效。这对于生产环境中的参数调优非常实用。

什么时候该用 Context Gateway?

推荐场景:

  • 日常使用 Claude Code/Cursor 进行长会话编码,经常遇到上下文极限
  • 需要同时管理多个 AI 编码 Agent
  • 希望精确追踪 Token 使用和成本
  • 团队协作,需要 Slack 通知压缩事件

不太适合的场景:

  • 短会话工作流(每次几分钟,上下文远未用完)
  • 完全在本地运行且不关心成本的场景

总结

Context Gateway 以预计算摘要的思路,优雅地解决了 AI Agent 对话中的上下文瓶颈问题。它不是一个独立工具,而是增强已有 Agent 体验的中间件——安装只需一条命令,配置通过 TUI 向导几分钟完成。

对于重度使用 AI 编码 Agent 的开发者来说,Context Gateway 省掉的是每次等待压缩的烦躁感,换来的是更流畅的编码体验。它背后的 Compresr 公司还提供云端压缩 API($0.10/1M tokens,新用户 $10 免费额度),但开源 Gateway 本身已经足够强大,可以独立使用。

相关链接:

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。