[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-coder--agentapi":3,"tool-coder--agentapi":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,43,44,45,15,46,26,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[26,15,13,45],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":109,"forks":110,"last_commit_at":111,"license":112,"difficulty_score":23,"env_os":113,"env_gpu":114,"env_ram":114,"env_deps":115,"category_tags":118,"github_topics":79,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":119,"updated_at":120,"faqs":121,"releases":152},1237,"coder\u002Fagentapi","agentapi","HTTP API for Claude Code, Goose, Aider, Gemini, Amp, and Codex","agentapi 是一个通过 HTTP API 控制多个代码生成工具的开源项目，支持 Claude Code、Aider、Gemini、GitHub Copilot 等多个主流 AI 编程助手。它提供了一个统一的接口，让用户可以通过简单的 HTTP 请求与这些工具进行交互，例如发送消息、获取回复、查看对话历史等。\n\n这个工具解决了在不同编程助手之间切换时接口不一致的问题，使开发者可以更方便地集成和控制多个 AI 工具，而无需为每个工具单独编写适配代码。对于需要构建统一聊天界面、开发 MCP 服务器或自动化代码审查工具的用户来说，agentapi 提供了极大的便利。\n\n适合使用 agentapi 的用户包括开发者、研究人员以及需要自动化代码处理流程的团队。它特别适合那些希望将多个 AI 编程助手整合到一个系统中的技术用户。\n\n其独特之处在于提供了 OpenAPI 接口和事件流（SSE）功能，使得集成和监控更加灵活高效。同时，它还支持自定义允许访问的主机，增强了部署的灵活性。","# AgentAPI\n\nControl [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code), [AmazonQ](https:\u002F\u002Faws.amazon.com\u002Fdeveloper\u002Flearning\u002Fq-developer-cli\u002F), [Opencode](https:\u002F\u002Fopencode.ai\u002F), [Goose](https:\u002F\u002Fgithub.com\u002Fblock\u002Fgoose), [Aider](https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider), [Gemini](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli), [GitHub Copilot](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli), [Sourcegraph Amp](https:\u002F\u002Fampcode.com\u002F), [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex), [Auggie](https:\u002F\u002Fdocs.augmentcode.com\u002Fcli\u002Foverview), and [Cursor CLI](https:\u002F\u002Fcursor.com\u002Fen\u002Fcli) with an HTTP API.\n\n![agentapi-chat](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcoder_agentapi_readme_c5b0acf3989c.png)\n\nYou can use AgentAPI:\n\n- to build a unified chat interface for coding agents\n- as a backend in an MCP server that lets one agent control another coding agent\n- to create a tool that submits pull request reviews to an agent\n- and much more!\n\n## Quickstart\n\n1. Install `agentapi`:\n\n   ```bash\n   OS=$(uname -s | tr \"[:upper:]\" \"[:lower:]\");\n   ARCH=$(uname -m | sed \"s\u002Fx86_64\u002Famd64\u002F;s\u002Faarch64\u002Farm64\u002F\");\n   curl -fsSL \"https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases\u002Flatest\u002Fdownload\u002Fagentapi-${OS}-${ARCH}\" -o agentapi && chmod +x agentapi\n   ```\n\n   Alternatively, you can download the latest release binary from the [releases page](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases).\n\n1. Verify the installation:\n\n   ```bash\n   agentapi --help\n   ```\n\n   > On macOS, if you're prompted that the system was unable to verify the binary, go to `System Settings -> Privacy & Security`, click \"Open Anyway\", and run the command again.\n\n1. Run a Claude Code server (assumes `claude` is installed on your system and in the `PATH`):\n\n   ```bash\n   agentapi server -- claude\n   ```\n\n   > If you're getting an error that `claude` is not in the `PATH` but you can run it from your shell, try `which claude` to get the full path and use that instead.\n\n1. Send a message to the agent:\n\n   ```bash\n   curl -X POST localhost:3284\u002Fmessage \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -d '{\"content\": \"Hello, agent!\", \"type\": \"user\"}'\n   ```\n\n1. Get the conversation history:\n\n   ```bash\n   curl localhost:3284\u002Fmessages\n   ```\n\n1. Try the chat web interface at http:\u002F\u002Flocalhost:3284\u002Fchat.\n\n## CLI Commands\n\n### `agentapi server`\n\nRun an HTTP server that lets you control an agent. If you'd like to start an agent with additional arguments, pass the full agent command after the `--` flag.\n\n```bash\nagentapi server -- claude --allowedTools \"Bash(git*) Edit Replace\"\n```\n\nYou may also use `agentapi` to run the Aider and Goose agents:\n\n```bash\nagentapi server -- aider --model sonnet --api-key anthropic=sk-ant-apio3-XXX\nagentapi server -- goose\n```\n\n> [!NOTE]\n> When using Claude, Codex, Opencode, Copilot, Gemini, Amp or CursorCLI, always specify the agent type explicitly (eg: `agentapi server --type=codex -- codex`), or message formatting may break.\n\nAn OpenAPI schema is available in [openapi.json](openapi.json).\n\nBy default, the server runs on port 3284. Additionally, the server exposes the same OpenAPI schema at http:\u002F\u002Flocalhost:3284\u002Fopenapi.json and the available endpoints in a documentation UI at http:\u002F\u002Flocalhost:3284\u002Fdocs.\n\nThere are 4 endpoints:\n\n- GET `\u002Fmessages` - returns a list of all messages in the conversation with the agent\n- POST `\u002Fmessage` - sends a message to the agent. When a 200 response is returned, AgentAPI has detected that the agent started processing the message\n- GET `\u002Fstatus` - returns the current status of the agent, either \"stable\" or \"running\"\n- GET `\u002Fevents` - an SSE stream of events from the agent: message and status updates\n\n#### Allowed hosts\n\nBy default, the server only allows requests with the host header set to `localhost`. If you'd like to host AgentAPI elsewhere, you can change this by using the `AGENTAPI_ALLOWED_HOSTS` environment variable or the `--allowed-hosts` flag. Hosts must be hostnames only (no ports); the server ignores the port portion of incoming requests when authorizing.\n\nTo allow requests from any host, use `*` as the allowed host.\n\n```bash\nagentapi server --allowed-hosts '*' -- claude\n```\n\nTo allow a specific host, use:\n\n```bash\nagentapi server --allowed-hosts 'example.com' -- claude\n```\n\nTo specify multiple hosts, use a comma-separated list when using the `--allowed-hosts` flag, or a space-separated list when using the `AGENTAPI_ALLOWED_HOSTS` environment variable.\n\n```bash\nagentapi server --allowed-hosts 'example.com,example.org' -- claude\n# or\nAGENTAPI_ALLOWED_HOSTS='example.com example.org' agentapi server -- claude\n```\n\n#### Allowed origins\n\nBy default, the server allows CORS requests from `http:\u002F\u002Flocalhost:3284`, `http:\u002F\u002Flocalhost:3000`, and `http:\u002F\u002Flocalhost:3001`. If you'd like to change which origins can make cross-origin requests to AgentAPI, you can change this by using the `AGENTAPI_ALLOWED_ORIGINS` environment variable or the `--allowed-origins` flag.\n\nTo allow requests from any origin, use `*` as the allowed origin:\n\n```bash\nagentapi server --allowed-origins '*' -- claude\n```\n\nTo allow a specific origin, use:\n\n```bash\nagentapi server --allowed-origins 'https:\u002F\u002Fexample.com' -- claude\n```\n\nTo specify multiple origins, use a comma-separated list when using the `--allowed-origins` flag, or a space-separated list when using the `AGENTAPI_ALLOWED_ORIGINS` environment variable. Origins must include the protocol (`http:\u002F\u002F` or `https:\u002F\u002F`) and support wildcards (e.g., `https:\u002F\u002F*.example.com`):\n\n```bash\nagentapi server --allowed-origins 'https:\u002F\u002Fexample.com,http:\u002F\u002Flocalhost:3000' -- claude\n# or\nAGENTAPI_ALLOWED_ORIGINS='https:\u002F\u002Fexample.com http:\u002F\u002Flocalhost:3000' agentapi server -- claude\n```\n\n### `agentapi attach`\n\nAttach to a running agent's terminal session.\n\n```bash\nagentapi attach --url localhost:3284\n```\n\nPress `ctrl+c` to detach from the session.\n\n## How it works\n\nAgentAPI runs an in-memory terminal emulator. It translates API calls into appropriate terminal keystrokes and parses the agent's outputs into individual messages.\n\n### Splitting terminal output into messages\n\nThere are 2 types of messages:\n\n- User messages: sent by the user to the agent\n- Agent messages: sent by the agent to the user\n\nTo parse individual messages from the terminal output, we take the following steps:\n\n1. The initial terminal output, before any user messages are sent, is treated as the agent's first message.\n2. When the user sends a message through the API, a snapshot of the terminal is taken before any keystrokes are sent.\n3. The user message is then submitted to the agent. From this point on, any time the terminal output changes, a new snapshot is taken. It's diffed against the initial snapshot, and any new text that appears below the initial content is treated as the agent's next message.\n4. If the terminal output changes again before a new user message is sent, the agent message is updated.\n\nThis lets us split the terminal output into a sequence of messages.\n\n### Removing TUI elements from agent messages\n\nEach agent message contains some extra bits that aren't useful to the end user:\n\n- The user's input at the beginning of the message. Coding agents often echo the input back to the user to make it visible in the terminal.\n- An input box at the end of the message. This is where the user usually types their input.\n\nAgentAPI automatically removes these.\n\n- For user input, we strip the lines that contain the text from the user's last message.\n- For the input box, we look for lines at the end of the message that contain common TUI elements, like `>` or `------`.\n\n### What will happen when Claude Code, Goose, Aider, or Codex update their TUI?\n\nSplitting the terminal output into a sequence of messages should still work, since it doesn't depend on the TUI structure. The logic for removing extra bits may need to be updated to account for new elements. AgentAPI will still be usable, but some extra TUI elements may become visible in the agent messages.\n\n## Roadmap\n\nPending feedback, we're considering the following features:\n\n- [Support the MCP protocol](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F1)\n- [Support the Agent2Agent Protocol](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F2)\n\n## Long-term vision\n\nIn the short term, AgentAPI solves the problem of how to programmatically control coding agents. As time passes, we hope to see the major agents release proper SDKs. One might wonder whether AgentAPI will still be needed then. We think that depends on whether agent vendors decide to standardize on a common API, or each sticks with a proprietary format.\n\nIn the former case, we'll deprecate AgentAPI in favor of the official SDKs. In the latter case, our goal will be to make AgentAPI a universal adapter to control any coding agent, so a developer using AgentAPI can switch between agents without changing their code.\n","# AgentAPI\n\n通过 HTTP API 控制 [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code)、[Amazon Q](https:\u002F\u002Faws.amazon.com\u002Fdeveloper\u002Flearning\u002Fq-developer-cli\u002F)、[Opencode](https:\u002F\u002Fopencode.ai\u002F)、[Goose](https:\u002F\u002Fgithub.com\u002Fblock\u002Fgoose)、[Aider](https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider)、[Gemini](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)、[GitHub Copilot](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli)、[Sourcegraph Amp](https:\u002F\u002Fampcode.com\u002F)、[Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)、[Auggie](https:\u002F\u002Fdocs.augmentcode.com\u002Fcli\u002Foverview) 和 [Cursor CLI](https:\u002F\u002Fcursor.com\u002Fen\u002Fcli)。\n\n![agentapi-chat](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcoder_agentapi_readme_c5b0acf3989c.png)\n\n您可以使用 AgentAPI：\n\n- 构建统一的编码代理聊天界面\n- 作为 MCP 服务器中的后端，让一个代理控制另一个编码代理\n- 创建一个向代理提交拉取请求评审的工具\n- 以及更多！\n\n## 快速入门\n\n1. 安装 `agentapi`：\n\n   ```bash\n   OS=$(uname -s | tr \"[:upper:]\" \"[:lower:]\");\n   ARCH=$(uname -m | sed \"s\u002Fx86_64\u002Famd64\u002F;s\u002Faarch64\u002Farm64\u002F\");\n   curl -fsSL \"https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases\u002Flatest\u002Fdownload\u002Fagentapi-${OS}-${ARCH}\" -o agentapi && chmod +x agentapi\n   ```\n\n   或者，您也可以从 [发布页面](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases) 下载最新版本的二进制文件。\n\n1. 验证安装：\n\n   ```bash\n   agentapi --help\n   ```\n\n   > 在 macOS 上，如果系统提示无法验证该二进制文件，请前往“系统设置 -> 隐私与安全性”，点击“仍要打开”，然后再次运行该命令。\n\n1. 启动 Claude Code 服务器（假设您的系统已安装 `claude` 并且它在 `PATH` 中）：\n\n   ```bash\n   agentapi server -- claude\n   ```\n\n   > 如果您收到错误提示说 `claude` 不在 `PATH` 中，但您可以在终端中直接运行它，请尝试运行 `which claude` 获取完整路径，并使用该路径代替。\n\n1. 向代理发送消息：\n\n   ```bash\n   curl -X POST localhost:3284\u002Fmessage \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -d '{\"content\": \"你好，代理！\", \"type\": \"user\"}'\n   ```\n\n1. 获取对话历史：\n\n   ```bash\n   curl localhost:3284\u002Fmessages\n   ```\n\n1. 在 http:\u002F\u002Flocalhost:3284\u002Fchat 尝试使用聊天网页界面。\n\n## CLI 命令\n\n### `agentapi server`\n\n运行一个 HTTP 服务器，让您能够控制代理。如果您想以附加参数启动代理，请在 `--` 标志后传递完整的代理命令。\n\n```bash\nagentapi server -- claude --allowedTools \"Bash(git*) Edit Replace\"\n```\n\n您也可以使用 `agentapi` 来运行 Aider 和 Goose 代理：\n\n```bash\nagentapi server -- aider --model sonnet --api-key anthropic=sk-ant-apio3-XXX\nagentapi server -- goose\n```\n\n> [!NOTE]\n> 使用 Claude、Codex、Opencode、Copilot、Gemini、Amp 或 CursorCLI 时，务必明确指定代理类型（例如：`agentapi server -- type=codex -- codex`），否则消息格式可能会出错。\n\nOpenAPI 模式已在 [openapi.json](openapi.json) 中提供。\n\n默认情况下，服务器在端口 3284 上运行。此外，服务器还在 http:\u002F\u002Flocalhost:3284\u002Fopenapi.json 上公开相同的 OpenAPI 模式，并在 http:\u002F\u002Flocalhost:3284\u002Fdocs 上提供可用端点的文档 UI。\n\n共有 4 个端点：\n\n- GET `\u002Fmessages` - 返回与代理对话的所有消息列表\n- POST `\u002Fmessage` - 向代理发送消息。当返回 200 响应时，AgentAPI 已检测到代理开始处理该消息\n- GET `\u002Fstatus` - 返回代理的当前状态，即“稳定”或“运行”\n- GET `\u002Fevents` - 代理发出的 SSE 事件流：消息和状态更新\n\n#### 允许的主机\n\n默认情况下，服务器仅允许主机头设置为 `localhost` 的请求。如果您希望将 AgentAPI 托管在其他位置，可以通过使用 `AGENTAPI_ALLOWED_HOSTS` 环境变量或 `--allowed-hosts` 标志来更改此设置。主机必须仅为域名（不含端口）；服务器在授权时会忽略传入请求中的端口部分。\n\n要允许来自任何主机的请求，可将允许的主机设为 `*`。\n\n```bash\nagentapi server -- allowed-hosts '*' -- claude\n```\n\n要允许特定主机，可使用：\n\n```bash\nagentapi server -- allowed-hosts 'example.com' -- claude\n```\n\n要指定多个主机，可在使用 `--allowed-hosts` 标志时使用逗号分隔的列表，或在使用 `AGENTAPI_ALLOWED_HOSTS` 环境变量时使用空格分隔的列表。\n\n```bash\nagentapi server -- allowed-hosts 'example.com,example.org' -- claude\n# 或\nAGENTAPI_ALLOWED_HOSTS='example.com example.org' agentapi server -- claude\n```\n\n#### 允许的来源\n\n默认情况下，服务器允许来自 `http:\u002F\u002Flocalhost:3284`、`http:\u002F\u002Flocalhost:3000` 和 `http:\u002F\u002Flocalhost:3001` 的 CORS 请求。如果您希望更改哪些来源可以向 AgentAPI 发起跨域请求，可通过使用 `AGENTAPI_ALLOWED_ORIGINS` 环境变量或 `--allowed-origins` 标志来更改此设置。\n\n要允许来自任何来源的请求，可将允许的来源设为 `*`：\n\n```bash\nagentapi server -- allowed-origins '*' -- claude\n```\n\n要允许特定来源，可使用：\n\n```bash\nagentapi server -- allowed-origins 'https:\u002F\u002Fexample.com' -- claude\n```\n\n要指定多个来源，可在使用 `--allowed-origins` 标志时使用逗号分隔的列表，或在使用 `AGENTAPI_ALLOWED_ORIGINS` 环境变量时使用空格分隔的列表。来源必须包含协议（`http:\u002F\u002F` 或 `https:\u002F\u002F`），并支持通配符（例如：`https:\u002F\u002F*.example.com`）：\n\n```bash\nagentapi server -- allowed-origins 'https:\u002F\u002Fexample.com,http:\u002F\u002Flocalhost:3000' -- claude\n# 或\nAGENTAPI_ALLOWED_ORIGINS='https:\u002F\u002Fexample.com http:\u002F\u002Flocalhost:3000' agentapi server -- claude\n```\n\n### `agentapi attach`\n\n附加到正在运行的代理的终端会话。\n\n```bash\nagentapi attach -- url localhost:3284\n```\n\n按 `ctrl+c` 可断开与会话的连接。\n\n## 工作原理\n\nAgentAPI 运行一个内存中的终端模拟器。它将 API 调用转换为相应的终端按键操作，并将代理的输出解析为单独的消息。\n\n### 将终端输出拆分为消息\n\n消息有两种类型：\n\n- 用户消息：由用户发送给代理\n- 代理消息：由代理发送给用户\n\n为了从终端输出中解析出单独的消息，我们采取以下步骤：\n\n1. 在发送任何用户消息之前，初始的终端输出被视为代理的第一条消息。\n2. 当用户通过 API 发送消息时，会在发送任何按键操作之前拍摄一次终端快照。\n3. 然后将用户消息提交给代理。从此时起，每当终端输出发生变化时，都会拍摄一个新的快照。将其与初始快照进行差异比较，任何出现在初始内容下方的新文本都被视为代理的下一条消息。\n4. 如果在发送新用户消息之前终端输出再次发生变化，则代理消息会被更新。\n\n这样，我们就能够将终端输出拆分为一系列消息。\n\n### 从代理消息中移除 TUI 元素\n\n每条代理消息都包含一些对最终用户无用的额外内容：\n\n- 消息开头的用户输入。编码代理通常会将用户的输入回显给用户，以便在终端中可见。\n- 消息末尾的输入框。用户通常在此处输入内容。\n\nAgentAPI 会自动移除这些内容。\n\n- 对于用户输入，我们会删除包含用户上一条消息文本的行。\n- 对于输入框，我们会查找消息末尾包含常见 TUI 元素的行，例如 `>` 或 `------`。\n\n### 当 Claude Code、Goose、Aider 或 Codex 更新其 TUI 时会发生什么？\n\n将终端输出拆分为一系列消息的方式仍应有效，因为这并不依赖于 TUI 的结构。不过，移除额外内容的逻辑可能需要更新，以适应新的元素。AgentAPI 仍然可以使用，但某些额外的 TUI 元素可能会在代理消息中显现出来。\n\n## 路线图\n\n在收到反馈之前，我们正在考虑以下功能：\n\n- [支持 MCP 协议](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F1)\n- [支持 Agent2Agent 协议](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F2)\n\n## 长期愿景\n\n短期内，AgentAPI 解决了如何通过编程方式控制编码代理的问题。随着时间推移，我们希望各大代理厂商能够发布正式的 SDK。届时，人们可能会问：AgentAPI 是否还有必要？我们认为，这取决于代理厂商是否决定采用统一的 API 标准，还是各自坚持专有格式。\n\n如果是前者，我们将弃用 AgentAPI，转而使用官方 SDK；如果是后者，我们的目标将是让 AgentAPI 成为一个通用适配器，用于控制任何编码代理，从而使开发者在使用 AgentAPI 时能够在不同代理之间切换，而无需修改代码。","# AgentAPI 快速上手指南\n\n## 环境准备\n\n- **系统要求**：支持 Linux、macOS 和 Windows（通过 WSL）。\n- **前置依赖**：\n  - 安装好你希望控制的代码代理工具，如 `claude`、`aider`、`goose` 等，并确保其在系统 `PATH` 中可用。\n  - 安装 `curl` 和 `chmod` 工具（Linux\u002FmacOS 系统通常自带）。\n\n---\n\n## 安装步骤\n\n1. 下载并安装 `agentapi`：\n\n   ```bash\n   OS=$(uname -s | tr \"[:upper:]\" \"[:lower:]\");\n   ARCH=$(uname -m | sed \"s\u002Fx86_64\u002Famd64\u002F;s\u002Faarch64\u002Farm64\u002F\");\n   curl -fsSL \"https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases\u002Flatest\u002Fdownload\u002Fagentapi-${OS}-${ARCH}\" -o agentapi && chmod +x agentapi\n   ```\n\n   或者从 [GitHub 发布页面](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Freleases) 手动下载最新版本的二进制文件。\n\n2. 验证安装是否成功：\n\n   ```bash\n   agentapi --help\n   ```\n\n   > 如果你在 macOS 上遇到系统无法验证二进制文件的问题，请前往 `系统设置 -> 隐私与安全性`，点击“仍要打开”，然后重新运行命令。\n\n---\n\n## 基本使用\n\n### 启动一个代理服务（以 Claude Code 为例）\n\n```bash\nagentapi server -- claude\n```\n\n> 如果提示找不到 `claude`，请先用 `which claude` 查看完整路径，再替换为实际路径。\n\n### 向代理发送消息\n\n```bash\ncurl -X POST localhost:3284\u002Fmessage \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"content\": \"Hello, agent!\", \"type\": \"user\"}'\n```\n\n### 获取对话历史记录\n\n```bash\ncurl localhost:3284\u002Fmessages\n```\n\n### 使用 Web 界面聊天\n\n打开浏览器访问：\n\n```\nhttp:\u002F\u002Flocalhost:3284\u002Fchat\n```\n\n---\n\n> 📌 提示：你可以通过 `agentapi server --help` 查看更多参数选项，例如指定允许的主机、端口、代理类型等。","某软件开发团队正在构建一个集成多个 AI 编码助手的统一开发平台，希望为不同项目使用不同的编码模型，并通过一个集中化的 API 进行控制和管理。\n\n### 没有 agentapi 时\n\n- 团队需要为每个 AI 编码助手（如 Claude Code、Aider、Gemini 等）分别编写接口代码，导致开发和维护成本高。\n- 不同助手的调用方式和参数格式差异大，难以实现统一的交互逻辑。\n- 要想在同一个系统中切换或组合多个助手，必须手动配置多个独立服务，流程繁琐且容易出错。\n- 无法快速获取助手的状态信息或实时事件流，影响调试和监控效率。\n- 需要额外开发中间层来适配各种助手的 API，增加了技术复杂度。\n\n### 使用 agentapi 后\n\n- 通过 agentapi 提供的 HTTP 接口，可以统一调用多个编码助手，无需为每个助手单独开发接口。\n- 所有助手的交互逻辑可以通过标准化的 API 实现，简化了代码结构并提高了可维护性。\n- 支持在一个平台上灵活切换或组合多个助手，只需调整配置即可完成，极大提升了开发效率。\n- 可以直接获取助手的实时状态和事件流，便于进行调试、监控和日志记录。\n- 减少了中间适配层的开发工作，降低了整体系统的复杂性和维护难度。\n\n通过 agentapi，团队实现了对多种 AI 编码助手的统一管理和高效集成，显著提升了开发效率与系统灵活性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcoder_agentapi_c5b0acf3.gif","coder","Coder","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcoder_9b4f1f2e.png","Coder provisions cloud development environments via Terraform, supporting Linux, macOS, Windows, X86, ARM, Kubernetes and more.",null,"contact@coder.com","coderhq","https:\u002F\u002Fcoder.com","https:\u002F\u002Fgithub.com\u002Fcoder",[85,89,93,97,101,105],{"name":86,"color":87,"percentage":88},"Go","#00ADD8",82.1,{"name":90,"color":91,"percentage":92},"TypeScript","#3178c6",15.5,{"name":94,"color":95,"percentage":96},"CSS","#663399",1.2,{"name":98,"color":99,"percentage":100},"Shell","#89e051",0.6,{"name":102,"color":103,"percentage":104},"Makefile","#427819",0.4,{"name":106,"color":107,"percentage":108},"JavaScript","#f1e05a",0.2,1336,115,"2026-04-04T16:39:04","MIT","Linux, macOS","未说明",{"notes":116,"python":114,"dependencies":117},"安装时需确保目标系统中已安装并配置好所支持的代码代理工具（如 Claude、Aider 等）。在 macOS 上首次运行时可能需要手动允许未知来源的二进制文件。",[],[15,45],"2026-03-27T02:49:30.150509","2026-04-06T05:19:45.198691",[122,127,132,137,142,147],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},5622,"如何在 Docker 中运行 agentapi 并解决登录问题？","在 Docker 中运行 agentapi 时，如果遇到需要登录 Claude 的问题，请确保将 `~\u002F.claude\u002F` 和 `~\u002F.claude.json` 目录挂载到容器中以持久化状态信息。此外，确认已正确设置 API 密钥，并检查是否因未持久化导致的登录问题。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F4",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},5623,"SSE 连接在 Coder 环境中为何会挂起？","当 AgentAPI 部署在 Coder 工作区中时，由于代理缓冲问题，SSE 连接到 `\u002Fevents` 端点可能会挂起。此问题已在 v0.7.1 版本中修复，该版本引入了防止代理缓冲的更改。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F69",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},5624,"如何解决滚动条在窗口调整大小后失效的问题？","在使用任务界面时，调整窗口大小可能导致滚动条失效或出现额外空白区域。目前此问题尚未完全解决，建议尝试刷新页面或等待后续版本修复。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F39",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},5625,"如何在 Python 中使用 agentapi？","虽然官方没有计划发布 Python SDK，但可以使用 OpenAPI 规范文件（[openapi.json](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fblob\u002Fmain\u002Fopenapi.json)）来自定义实现。另外，第三方项目 [cyberian](https:\u002F\u002Fgithub.com\u002Fcontextualizer-ai\u002Fcyberian) 提供了一个 Python 客户端，可用于管理服务器等操作。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F132",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},5626,"Claude 在 Web UI 中发送消息后输入框失去焦点？","在 Claude 处理消息期间，输入框会被禁用，处理完成后输入框重新启用但会失去焦点，影响用户体验。目前尚无明确解决方案，建议关注后续更新。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F97",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},5627,"如何解决 Aider 流式输出时无法手动控制滚动的问题？","Aider 流式输出时，输出内容可能被截断，导致无法向上滚动查看完整历史记录。此问题在 v0.2.1 版本中已修复。若仍存在问题，请提供复现步骤以便进一步排查。","https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fissues\u002F9",[153,158,163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":154,"version":155,"summary_zh":156,"released_at":157},105253,"agentapi_208","Preview release for PR #208","2026-03-31T11:33:28",{"id":159,"version":160,"summary_zh":161,"released_at":162},105254,"v0.12.1","## What's Changed\r\n* feat: update codex formatting and prevent terminal echo from being captured as agent messages by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F200\r\n* chore: update version to 0.12.1 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F201\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.12.0...v0.12.1","2026-03-05T12:38:07",{"id":164,"version":165,"summary_zh":166,"released_at":167},105255,"agentapi_203","Preview release for PR #203","2026-03-11T12:48:51",{"id":169,"version":170,"summary_zh":171,"released_at":172},105256,"v0.12.0","## What's Changed\r\n* build: update to go 1.24, use go tool by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F173\r\n* chore: integrate coder\u002Fquartz by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F175\r\n* refactor(lib): extract Conversation interface by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F172\r\n* fix: fix pr preview workflow errors by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F182\r\n* refactor: move snapshot loop and initial prompt logic into PTYConversation by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F179\r\n* chore: Replace OnSnapshot callback with Emitter interface by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F185\r\n* feat: add \u002Fx\u002Facpio package by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F188\r\n* feat: add ACPConversation by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F189\r\n* feat: add e2e test for ACP by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F190\r\n* feat: implement state persistence by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F177\r\n* chore: update version to 0.12.0 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F196\r\n* fix: fix build release workflow error by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F197\r\n* chore: update version to 0.12.0 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F199\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.8...v0.12.0","2026-03-02T12:45:42",{"id":174,"version":175,"summary_zh":176,"released_at":177},105257,"agentapi_199","Preview release for PR #199","2026-03-02T12:43:36",{"id":179,"version":180,"summary_zh":181,"released_at":182},105258,"agentapi_192","Preview release for PR #192","2026-02-20T13:24:03",{"id":184,"version":185,"summary_zh":186,"released_at":187},105259,"v0.11.8","## What's Changed\r\n* fix: update message box formatting detection for claude by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F169\r\n* chore: update version to 0.11.8 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F170\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.7...v0.11.8","2026-01-14T13:04:13",{"id":189,"version":190,"summary_zh":191,"released_at":192},105260,"v0.11.7","## What's Changed\r\n* feat: format report_task tool call for codex by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F167\r\n* chore: update version to 0.11.7 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F168\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.6...v0.11.7","2026-01-13T16:09:15",{"id":194,"version":195,"summary_zh":196,"released_at":197},105261,"v0.11.6","## What's Changed\r\n* build(deps): bump next from 15.4.7 to 15.4.10 in \u002Fchat by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F165\r\n* chore: update version to 0.11.6 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F166\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.5...v0.11.6","2025-12-19T18:10:26",{"id":199,"version":200,"summary_zh":201,"released_at":202},105262,"v0.11.5","## What's Changed\r\n* feat(claude\u002Ftool_call): add tool call logging and improve format handling by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F163\r\n* chore: update version to 0.11.5 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F164\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.4...v0.11.5","2025-12-19T16:14:01",{"id":204,"version":205,"summary_zh":206,"released_at":207},105263,"v0.11.4","## What's Changed\r\n* feat: temporarily remove report_task tool call logging by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F159\r\n* chore: update version to 0.11.4 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F160\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.3...v0.11.4","2025-12-09T14:27:34",{"id":209,"version":210,"summary_zh":211,"released_at":212},105264,"v0.11.3","## What's Changed\r\n* feat(claude): remove coder_report_task tool call message by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F157\r\n* chore: update version to v0.11.3 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F158\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.2...v0.11.3","2025-12-09T08:22:14",{"id":214,"version":215,"summary_zh":216,"released_at":217},105265,"agentapi_159","Preview release for PR #159","2025-12-09T09:45:39",{"id":219,"version":220,"summary_zh":221,"released_at":222},105266,"agentapi_158","Preview release for PR #158","2025-12-09T08:19:07",{"id":224,"version":225,"summary_zh":226,"released_at":227},105267,"v0.11.2","## What's Changed\r\n* feat: Improved initial prompt handling by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F142\r\n* chore(lib\u002Fmsgfmt\u002Fagent_readiness): update amp agent-readiness by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F151\r\n* chore: update version to 0.11.2 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F152\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.1...v0.11.2","2025-11-24T18:19:05",{"id":229,"version":230,"summary_zh":231,"released_at":232},105268,"agentapi_157","Preview release for PR #157","2025-12-06T16:34:07",{"id":234,"version":235,"summary_zh":236,"released_at":237},105269,"agentapi_152","Preview release for PR #152","2025-11-24T18:16:21",{"id":239,"version":240,"summary_zh":241,"released_at":242},105270,"agentapi_151","Preview release for PR #151","2025-11-24T18:11:52",{"id":244,"version":245,"summary_zh":246,"released_at":247},105271,"v0.11.1","## What's Changed\r\n* chore(e2e): move to events instead of polling when waiting for agentapi by @johnstcn in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F141\r\n* feat: fix opencode parsing by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F137\r\n* feat(amp): add msgfmt logic for amp module by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F147\r\n* feat: autofocus message box on user's turn by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F143\r\n* feat: add tooltips for buttons by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F135\r\n* fix(opencode): update msgfmt for latest version by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F148\r\n* chore(README.md): update broken link for Amp by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F150\r\n* chore: update version to 0.11.1 by @35C4n0r in https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fpull\u002F149\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcoder\u002Fagentapi\u002Fcompare\u002Fv0.11.0...v0.11.1","2025-11-23T07:36:07",{"id":249,"version":250,"summary_zh":251,"released_at":252},105272,"agentapi_150","Preview release for PR #150","2025-11-22T13:45:41"]