Skip to content

Pi 架构总览

一句话

Pi 是一个可嵌入、可扩展的终端 AI coding agent。 它不是"只有一个 CLI 的 agent",而是把 agent 能力拆成多个可复用包。

本地源码

text
路径: /home/ubuntu/work/pi
HEAD: 21cb3807 fix(ai): detect DS4 context overflow errors
语言: TypeScript
管理: npm monorepo

核心包结构

路径作用
aipackages/aiLLM provider abstraction,模型抽象
agentpackages/agentAgent loop,消息处理,工具调用
coding-agentpackages/coding-agentCLI 入口,session 管理,工具注册
tuipackages/tui终端 UI,component-based renderer
orchestratorpackages/orchestrator多 agent 编排

调用链

pi CLI

packages/coding-agent/src/cli.ts

main.ts

SettingsManager / SessionManager / ResourceLoader / ModelRegistry

createAgentSessionRuntime()

AgentSession

Agent from pi-agent-core

agent-loop.ts

pi-ai streamSimple()

tool calls

AgentSession 持久化 JSONL session

InteractiveMode / PrintMode / RpcMode

架构亮点

  1. 分层清晰:ai → agent → coding-agent → tui 逐层抽象
  2. Agent loop 集中:核心循环在 agent-loop.ts 一个文件
  3. Session 简单:JSONL + tree branch,可读性强
  4. TUI 手写:自研 differential renderer,控制力强
  5. 轻量可嵌入:不依赖 server/API,纯终端运行

Powered by VitePress