Skip to content

学习路径

路径一:学 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

Powered by VitePress