1 篇文章带有标签 “tailwind-css”

Pi - AI 编码智能体架构设计文档

Pi 是一个模块化的 AI 编码智能体 Monorepo,使用 TypeScript 构建。它提供统一的 LLM 抽象层、通用的智能体运行时、丰富的终端 UI 框架,以及完全可扩展的编码智能体命令行工具。

1. 项目概览

Pi(@earendil-works/pi-mono)是由 Mario Zechner 开发的 AI 编码智能体 Monorepo,设计理念是模块化、可扩展、供应商无关。它将多个 LLM 供应商的复杂性抽象为统一 API,提供强大的智能体运行时和工具执行能力,并附带生产就绪的终端 UI。

核心能力

能力 说明
统一 LLM API 9 种 API 协议和 30+ 供应商品牌的单一接口。只需修改一个字符串即可切换供应商。
智能体运行时 完整的智能体循环,支持并行工具执行、消息注入队列和上下文压缩。
丰富的终端 UI 独立的终端 UI 框架,支持差异化渲染、文本编辑器、图片显示和浮层系统。
扩展系统 80+ 扩展示例、20+ 生命周期钩子。可注册工具、命令、快捷键和供应商。
Web 组件 基于 Lit 的聊天 UI,支持沙箱化 Artifact 渲染(HTML、SVG、PDF、DOCX 等)。
多运行模式 交互式终端、管道友好的打印模式,以及用于 IDE 集成的 JSONL RPC 模式。

包依赖关系图

graph TD
    subgraph "第一层:基础层"
        ai["<b>pi-ai</b><br/>统一 LLM API<br/>30+ 供应商"]
    end
    subgraph "第二层:运行时层"
        agent["<b>pi-agent-core</b><br/>智能体运行时<br/>工具执行"]
    end
    subgraph "第三层:UI 层"
        tui["<b>pi-tui</b><br/>终端 UI 框架<br/>零依赖"]
    end
    subgraph "第四层:应用层"
        coding["<b>pi-coding-agent</b><br/>编码智能体 CLI<br/>扩展与工具"]
        webui["<b>pi-web-ui</b><br/>Web UI 组件<br/>Lit + Tailwind"]
    end

    ai --> agent
    agent --> coding
    tui --> coding
    ai --> webui
    tui --> webui

    style ai fill:#1f6feb,stroke:#388bfd,color:#fff
    style agent fill:#238636,stroke:#3fb950,color:#fff
    style tui fill:#8957e5,stroke:#bc8cff,color:#fff
    style coding fill:#da3633,stroke:#f85149,color:#fff
    style webui fill:#e3b341,stroke:#d29922,color:#fff

图 1: Pi monorepo 包依赖关系图 — 4 层架构,5 个包