平台
你的 Agent 站立其上的网关。
AgentGuide 是一个自托管二进制,覆盖 agent 技术栈的每一层: LLM 网关负责模型访问,MCP 网关负责工具访问,agent 运行时负责执行 —— 共用同一个控制平面、同一个配置存储、同一条事件流。
LLM 网关
一个 API,所有提供商,不再有密钥泛滥。
应用只面对一个端点和一把虚拟密钥。由网关决定这次请求真正由哪个提供商、 哪个上游模型、哪条凭据来服务 —— 并精确记录发生了什么。
逻辑模型路由
发布一个模型名(例如 chat-default),在它背后绑定多个候选提供商与上游模型。
模型目录会用发现到的提供商模型校验候选项,失败时自动落到下一个候选。
- 模型目标路由 一个逻辑名、多个提供商绑定、自动回退与重试策略。
- 直连提供商路由 需要零间接层时,把路由钉死在一个提供商上。
- 模型目录 提供商模型发现叠加受管模型覆盖;需要工具的场景强制只绑定支持工具调用的候选。
- 协议适配 OpenAI 兼容、Anthropic 兼容,以及同一路由上的 Claude Code 即插即用 CLI profile。
池化、调度、自动刷新
上游凭据是受管对象,而不是应用配置里的字符串。 每个提供商可池化多条凭据并在其间调度,OAuth 类 CLI 凭据由网关在后台保持新鲜。
- 凭据池 每个提供商多条凭据,带选择状态与调度。
- 内置 CLI 登录 用 Codex、Claude Code 或 Gemini CLI 订阅登录;网关代跑登录流程并自动刷新 token。
- 虚拟密钥 消费方永远接触不到上游密钥 —— 按应用或团队签发、轮换、吊销网关自有密钥。
- fail-closed 鉴权 路由可强制要求虚拟密钥;未鉴权的流量到不了任何提供商。
支持的提供商
MCP 网关
工具成为受治理的基础设施。
Model Context Protocol 服务器注册一次成为服务,再经由带鉴权策略的路由对外暴露。 agent 和应用获得工具访问;运营者获得一份清单、一个策略执行点和一条完整的记录链。
服务注册中心
集中注册 MCP 服务并发现其工具。任何 agent 能触达的每一个工具都在同一份清单里 —— 而不是 N 份服务器配置散落在 N 个 agent 中。
经路由的受控访问
MCP 路由与其他路由一样携带鉴权策略和虚拟密钥校验。 工具选择是 fail-closed 的:未显式可用的工具是错误,绝不静默跳过。
运行时实时巡检
通过管理端运行时视图查看在途 MCP 请求与进度; 事后在可归因的用量事件流里找到每一次工具调用。
控制平面
一切皆 API 对象,配置即代码。
提供商、路由、凭据、虚拟密钥、MCP/ACP 服务和 agent 都是持久化配置对象, Admin API 提供完整 CRUD —— 还有面向 GitOps 工作流的声明式 bundle 格式。
远程运营一切
完整的 Admin API 覆盖整个对象模型,外加运行时表面: 模型发现与刷新、CLI 登录流程、MCP/ACP 运行时状态、待裁决的权限请求、指标查询。
- 完整 CRUD 提供商、路由、虚拟密钥、凭据、MCP/ACP 服务、agent。
- 运行时视图 池化 agent 实例、在途轮次与请求、待裁决权限。
- 指标 API 汇总、按协议时间序列、维度分解、近期事件、Prometheus 暴露端点。
- 可插拔鉴权 挂在 basic auth、mTLS 或你的反向代理认证器之后。
默认声明式
用一份可评审的 bundle 描述整个网关 —— 提供商、路由、服务、agent。 本地校验、原子化应用、把线上状态导出回来。你的网关配置活在版本控制里。
- agwctl apply 一条命令推送完整的期望状态。
- agwctl validate 在上线前拦住失效引用和非法定义。
- agwctl export 快照线上配置,用于评审、diff 和备份。
- 变更可评审 agent 与路由的变更走 Pull Request,而不是点按钮。
部署
一个二进制,五分钟,跑在你的网络里。
基于 Caddy 服务器内核构建:生产级 HTTP、自动 TLS、优雅热加载全部白送。
以 Caddy 应用或独立守护进程运行 —— 除一个 SQLite 文件外没有外部依赖。
引擎完全开源:agent-gateway,Apache 2.0。
# Caddyfile — one block, a working gateway { agent_gateway { config_store sqlite { path ./data/configstore.db } provider openai-main { provider_type openai api_key {$OPENAI_API_KEY} default_model gpt-4.1 } route openai-chat { protocol openai path_prefix / require_virtual_key target provider openai-main } } } http://127.0.0.1:8080 { agent_route_dispatcher { llm_api openai llm_api anthropic mcp acp builtin } }