学习路径
路径一:学 agent 最小核心 → Pi
text
packages/coding-agent/src/cli.ts
packages/coding-agent/src/main.ts
packages/agent/src/agent-loop.ts
packages/agent/src/agent.ts
packages/coding-agent/src/core/agent-session.ts
packages/coding-agent/src/core/tools/index.ts适合理解:
- message context
- tool call
- streaming
- next turn
- session JSONL
- TUI event binding
路径二:学产品级 coding agent 平台 → OpenCode
text
packages/opencode/src/index.ts
packages/opencode/src/cli/cmd/tui.ts
packages/opencode/src/cli/cmd/run.ts
packages/core/src/session.ts
packages/core/src/session/runner/llm.ts
packages/core/src/session/execution/local.ts
packages/core/src/tool/registry.ts
packages/core/src/plugin.ts
packages/llm/src/index.ts适合理解:
- durable session
- event sourcing
- local server/API
- SDK-driven TUI
- permission workflow
- tool registry
- plugin lifecycle
路径三:学多平台 agent runtime → Hermes
text
run_agent.py
agent/agent_init.py
agent/turn_context.py
agent/conversation_loop.py
agent/chat_completion_helpers.py
agent/tool_executor.py
model_tools.py
tools/registry.py
toolsets.py适合理解:
- 多 surface 共用核心
- gateway/session routing
- prompt cache preservation
- memory/skills 闭环
- cron/delegation
- provider adapter pattern
路径四:横向对比阅读
第一轮:入口对比
- Pi:
packages/coding-agent/src/cli.ts - OpenCode:
packages/opencode/src/index.ts - Hermes:
hermes_cli/main.py
第二轮:agent loop 对比
- Pi:
packages/agent/src/agent-loop.ts - OpenCode:
packages/core/src/session/runner/llm.ts - Hermes:
agent/conversation_loop.py
第三轮:session 对比
- Pi:
packages/coding-agent/src/core/agent-session.ts - OpenCode:
packages/core/src/session.ts - Hermes:
hermes_state.py
第四轮:工具注册对比
- Pi:
packages/coding-agent/src/core/tools/index.ts - OpenCode:
packages/core/src/tool/registry.ts - Hermes:
tools/registry.py + model_tools.py
第五轮:扩展系统对比
- Pi:
packages/coding-agent/src/core/extensions/types.ts - OpenCode:
packages/core/src/plugin.ts - Hermes:
hermes_cli/plugins.py