项目概述
三个 AI Coding Agent 框架
过去几年,AI Coding Agent 从实验性项目快速演化为生产级工具。我们选取了三个有代表性的开源项目深入分析:
Pi
"清晰分层、轻量可嵌入的 agent harness"
Pi 是 TypeScript npm monorepo,核心包是 ai / agent / coding-agent / tui / orchestrator。它被设计为可嵌入的 agent 框架,既可以作为 CLI 工具,也可以嵌入到其他应用中。
- 核心运行时:
Agent + AgentSession - LLM 抽象:自研
pi-ai - CLI 模式:interactive / print / json / rpc
- Session:JSONL 树形会话
OpenCode
"完整产品级 coding agent 平台"
OpenCode 是 Bun monorepo,使用 Effect-TS 贯穿全栈。它不只是 CLI agent,还包含 server API、SDK、web/desktop、plugin system 等完整生态。
- 核心运行时:
SessionV2 + SessionRunner + Event Store - LLM 抽象:自研
@opencode-ai/llm+ AI SDK 兼容 - CLI 模式:tui / run / serve / attach / acp / mcp / web / desktop
- Session:SQLite/event-sourced durable session
Hermes Agent
"个人 AI 操作系统 / 多平台 agent runtime"
Hermes 是 Python 主体 + TypeScript UI 的 monorepo。同一个 agent core 跑在 CLI、Telegram、Discord、Cron、ACP 等十几种 surface 上。
- 核心运行时:
AIAgent - LLM 抽象:OpenAI-compatible 窄腰 + provider transport/adapter
- Surface:CLI / Gateway / Cron / ACP / TUI / Desktop
- Session:SQLite + FTS5 + messages + compression lineage
一句话定位
| 项目 | 定位 |
|---|---|
| Pi | 轻量、清晰、可嵌入的 coding agent 框架 |
| OpenCode | durable session + server API + TUI 的产品级 coding agent 平台 |
| Hermes | 跨 CLI / Telegram / Gateway / Cron / ACP 的通用个人 agent runtime |
分析方法论
所有分析基于:
- 实际
git clone到本地的最新源码 - 逐文件阅读核心模块
- 追踪调用链从 CLI 入口到 agent loop 到 tool dispatch
- 统计代码规模
- 理解架构设计意图