Skip to content

三方对比

总体架构

维度PiOpenCodeHermes
主语言TypeScriptTypeScript/BunPython + TS UI
核心定位agent harnesscoding agent platformpersonal AI runtime
核心对象AgentSession / AgentSessionV2 / SessionRunnerAIAgent
Agent loop清晰集中durable runner单体 loop + 大量生产防护
SessionJSONL/treeSQLite/event-sourcedSQLite/FTS5/messages/compression lineage
工具coding toolscoding+web+todo+skills通用工具生态
扩展extension APIplugin/agent/skill/MCPplugin/hooks/skills/MCP/toolsets
UI轻量 TUIOpenTUI/Solidprompt_toolkit CLI + Ink TUI + Electron Desktop
Gateway弱/无server/API 为核心messaging gateway 为核心
Cron非核心核心功能
Memory/Skills有技能/资源skills/agentsmemory + skills 是核心闭环

调用链对比

Pi

pi CLI → AgentSessionRuntime → AgentSession → AgentLoop → pi-ai → tools → JSONL session

特点:短、清晰、适合学习 agent loop

OpenCode

opencode CLI/TUI → local server / SDK / API → SessionV2.prompt()
→ durable session_input → SessionExecution.wake() → SessionRunner
→ LLM.request / LLMClient.stream → ToolRegistry.settle → EventV2 / projector / TUI

特点:durable、server-first、event-driven、产品级 coding agent

Hermes

CLI / Gateway / Cron / ACP / TUI / Desktop → AIAgent
→ build_turn_context() → conversation_loop.run_conversation()
→ ProviderTransport / OpenAI SDK → tool_executor → model_tools
→ tools.registry → SessionDB / memory / skills / plugins / platform delivery

特点:同一核心被多个 surface 复用

核心设计差异

Hermes 的窄腰

AIAgent + tools + system prompt

OpenCode 的窄腰

SessionV2 + EventV2 + LLM route runtime

Pi 的窄腰

AgentLoop + Tool interface

学习价值

想学...优先看
agent loop 最小实现Pi
产品级 coding agentOpenCode
多平台 agent runtimeHermes
LLM provider 抽象OpenCode (route-based) > Hermes (adapters) > Pi (simple)
持久化 sessionOpenCode (event-sourced) > Hermes (SQLite) > Pi (JSONL)
工具生态Hermes (最广) > OpenCode > Pi
扩展/插件OpenCode ≈ Hermes > Pi

Powered by VitePress