agentapi
agentapi 是一个通过 HTTP API 控制多个代码生成工具的开源项目,支持 Claude Code、Aider、Gemini、GitHub Copilot 等多个主流 AI 编程助手。它提供了一个统一的接口,让用户可以通过简单的 HTTP 请求与这些工具进行交互,例如发送消息、获取回复、查看对话历史等。
这个工具解决了在不同编程助手之间切换时接口不一致的问题,使开发者可以更方便地集成和控制多个 AI 工具,而无需为每个工具单独编写适配代码。对于需要构建统一聊天界面、开发 MCP 服务器或自动化代码审查工具的用户来说,agentapi 提供了极大的便利。
适合使用 agentapi 的用户包括开发者、研究人员以及需要自动化代码处理流程的团队。它特别适合那些希望将多个 AI 编程助手整合到一个系统中的技术用户。
其独特之处在于提供了 OpenAPI 接口和事件流(SSE)功能,使得集成和监控更加灵活高效。同时,它还支持自定义允许访问的主机,增强了部署的灵活性。
使用场景
某软件开发团队正在构建一个集成多个 AI 编码助手的统一开发平台,希望为不同项目使用不同的编码模型,并通过一个集中化的 API 进行控制和管理。
没有 agentapi 时
- 团队需要为每个 AI 编码助手(如 Claude Code、Aider、Gemini 等)分别编写接口代码,导致开发和维护成本高。
- 不同助手的调用方式和参数格式差异大,难以实现统一的交互逻辑。
- 要想在同一个系统中切换或组合多个助手,必须手动配置多个独立服务,流程繁琐且容易出错。
- 无法快速获取助手的状态信息或实时事件流,影响调试和监控效率。
- 需要额外开发中间层来适配各种助手的 API,增加了技术复杂度。
使用 agentapi 后
- 通过 agentapi 提供的 HTTP 接口,可以统一调用多个编码助手,无需为每个助手单独开发接口。
- 所有助手的交互逻辑可以通过标准化的 API 实现,简化了代码结构并提高了可维护性。
- 支持在一个平台上灵活切换或组合多个助手,只需调整配置即可完成,极大提升了开发效率。
- 可以直接获取助手的实时状态和事件流,便于进行调试、监控和日志记录。
- 减少了中间适配层的开发工作,降低了整体系统的复杂性和维护难度。
通过 agentapi,团队实现了对多种 AI 编码助手的统一管理和高效集成,显著提升了开发效率与系统灵活性。
运行环境要求
- Linux
- macOS
未说明
未说明

快速开始
AgentAPI
通过 HTTP API 控制 Claude Code、Amazon Q、Opencode、Goose、Aider、Gemini、GitHub Copilot、Sourcegraph Amp、Codex、Auggie 和 Cursor CLI。

您可以使用 AgentAPI:
- 构建统一的编码代理聊天界面
- 作为 MCP 服务器中的后端,让一个代理控制另一个编码代理
- 创建一个向代理提交拉取请求评审的工具
- 以及更多!
快速入门
安装
agentapi:OS=$(uname -s | tr "[:upper:]" "[:lower:]"); ARCH=$(uname -m | sed "s/x86_64/amd64/;s/aarch64/arm64/"); curl -fsSL "https://github.com/coder/agentapi/releases/latest/download/agentapi-${OS}-${ARCH}" -o agentapi && chmod +x agentapi或者,您也可以从 发布页面 下载最新版本的二进制文件。
验证安装:
agentapi --help在 macOS 上,如果系统提示无法验证该二进制文件,请前往“系统设置 -> 隐私与安全性”,点击“仍要打开”,然后再次运行该命令。
启动 Claude Code 服务器(假设您的系统已安装
claude并且它在PATH中):agentapi server -- claude如果您收到错误提示说
claude不在PATH中,但您可以在终端中直接运行它,请尝试运行which claude获取完整路径,并使用该路径代替。向代理发送消息:
curl -X POST localhost:3284/message \ -H "Content-Type: application/json" \ -d '{"content": "你好,代理!", "type": "user"}'获取对话历史:
curl localhost:3284/messages在 http://localhost:3284/chat 尝试使用聊天网页界面。
CLI 命令
agentapi server
运行一个 HTTP 服务器,让您能够控制代理。如果您想以附加参数启动代理,请在 -- 标志后传递完整的代理命令。
agentapi server -- claude --allowedTools "Bash(git*) Edit Replace"
您也可以使用 agentapi 来运行 Aider 和 Goose 代理:
agentapi server -- aider --model sonnet --api-key anthropic=sk-ant-apio3-XXX
agentapi server -- goose
[!NOTE] 使用 Claude、Codex、Opencode、Copilot、Gemini、Amp 或 CursorCLI 时,务必明确指定代理类型(例如:
agentapi server -- type=codex -- codex),否则消息格式可能会出错。
OpenAPI 模式已在 openapi.json 中提供。
默认情况下,服务器在端口 3284 上运行。此外,服务器还在 http://localhost:3284/openapi.json 上公开相同的 OpenAPI 模式,并在 http://localhost:3284/docs 上提供可用端点的文档 UI。
共有 4 个端点:
- GET
/messages- 返回与代理对话的所有消息列表 - POST
/message- 向代理发送消息。当返回 200 响应时,AgentAPI 已检测到代理开始处理该消息 - GET
/status- 返回代理的当前状态,即“稳定”或“运行” - GET
/events- 代理发出的 SSE 事件流:消息和状态更新
允许的主机
默认情况下,服务器仅允许主机头设置为 localhost 的请求。如果您希望将 AgentAPI 托管在其他位置,可以通过使用 AGENTAPI_ALLOWED_HOSTS 环境变量或 --allowed-hosts 标志来更改此设置。主机必须仅为域名(不含端口);服务器在授权时会忽略传入请求中的端口部分。
要允许来自任何主机的请求,可将允许的主机设为 *。
agentapi server -- allowed-hosts '*' -- claude
要允许特定主机,可使用:
agentapi server -- allowed-hosts 'example.com' -- claude
要指定多个主机,可在使用 --allowed-hosts 标志时使用逗号分隔的列表,或在使用 AGENTAPI_ALLOWED_HOSTS 环境变量时使用空格分隔的列表。
agentapi server -- allowed-hosts 'example.com,example.org' -- claude
# 或
AGENTAPI_ALLOWED_HOSTS='example.com example.org' agentapi server -- claude
允许的来源
默认情况下,服务器允许来自 http://localhost:3284、http://localhost:3000 和 http://localhost:3001 的 CORS 请求。如果您希望更改哪些来源可以向 AgentAPI 发起跨域请求,可通过使用 AGENTAPI_ALLOWED_ORIGINS 环境变量或 --allowed-origins 标志来更改此设置。
要允许来自任何来源的请求,可将允许的来源设为 *:
agentapi server -- allowed-origins '*' -- claude
要允许特定来源,可使用:
agentapi server -- allowed-origins 'https://example.com' -- claude
要指定多个来源,可在使用 --allowed-origins 标志时使用逗号分隔的列表,或在使用 AGENTAPI_ALLOWED_ORIGINS 环境变量时使用空格分隔的列表。来源必须包含协议(http:// 或 https://),并支持通配符(例如:https://*.example.com):
agentapi server -- allowed-origins 'https://example.com,http://localhost:3000' -- claude
# 或
AGENTAPI_ALLOWED_ORIGINS='https://example.com http://localhost:3000' agentapi server -- claude
agentapi attach
附加到正在运行的代理的终端会话。
agentapi attach -- url localhost:3284
按 ctrl+c 可断开与会话的连接。
工作原理
AgentAPI 运行一个内存中的终端模拟器。它将 API 调用转换为相应的终端按键操作,并将代理的输出解析为单独的消息。
将终端输出拆分为消息
消息有两种类型:
- 用户消息:由用户发送给代理
- 代理消息:由代理发送给用户
为了从终端输出中解析出单独的消息,我们采取以下步骤:
- 在发送任何用户消息之前,初始的终端输出被视为代理的第一条消息。
- 当用户通过 API 发送消息时,会在发送任何按键操作之前拍摄一次终端快照。
- 然后将用户消息提交给代理。从此时起,每当终端输出发生变化时,都会拍摄一个新的快照。将其与初始快照进行差异比较,任何出现在初始内容下方的新文本都被视为代理的下一条消息。
- 如果在发送新用户消息之前终端输出再次发生变化,则代理消息会被更新。
这样,我们就能够将终端输出拆分为一系列消息。
从代理消息中移除 TUI 元素
每条代理消息都包含一些对最终用户无用的额外内容:
- 消息开头的用户输入。编码代理通常会将用户的输入回显给用户,以便在终端中可见。
- 消息末尾的输入框。用户通常在此处输入内容。
AgentAPI 会自动移除这些内容。
- 对于用户输入,我们会删除包含用户上一条消息文本的行。
- 对于输入框,我们会查找消息末尾包含常见 TUI 元素的行,例如
>或------。
当 Claude Code、Goose、Aider 或 Codex 更新其 TUI 时会发生什么?
将终端输出拆分为一系列消息的方式仍应有效,因为这并不依赖于 TUI 的结构。不过,移除额外内容的逻辑可能需要更新,以适应新的元素。AgentAPI 仍然可以使用,但某些额外的 TUI 元素可能会在代理消息中显现出来。
路线图
在收到反馈之前,我们正在考虑以下功能:
长期愿景
短期内,AgentAPI 解决了如何通过编程方式控制编码代理的问题。随着时间推移,我们希望各大代理厂商能够发布正式的 SDK。届时,人们可能会问:AgentAPI 是否还有必要?我们认为,这取决于代理厂商是否决定采用统一的 API 标准,还是各自坚持专有格式。
如果是前者,我们将弃用 AgentAPI,转而使用官方 SDK;如果是后者,我们的目标将是让 AgentAPI 成为一个通用适配器,用于控制任何编码代理,从而使开发者在使用 AgentAPI 时能够在不同代理之间切换,而无需修改代码。
版本历史
agentapi_2082026/03/31v0.12.12026/03/05agentapi_2032026/03/11v0.12.02026/03/02agentapi_1992026/03/02agentapi_1922026/02/20v0.11.82026/01/14v0.11.72026/01/13v0.11.62025/12/19v0.11.52025/12/19v0.11.42025/12/09v0.11.32025/12/09agentapi_1592025/12/09agentapi_1582025/12/09v0.11.22025/11/24agentapi_1572025/12/06agentapi_1522025/11/24agentapi_1512025/11/24v0.11.12025/11/23agentapi_1502025/11/22常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。