plandex
开源 AI 编程 Agent,专为大规模项目设计,支持 2M Token 上下文和累积 Diff 沙
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI 编程 Agent,专为大规模项目设计,支持 2M Token 上下文和累积 Diff 沙
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Plandex — 面向大项目的 AI 编程助手
想象一下这个场景:你的代码库已经膨胀到几十万行,此时一个 AI 编程工具连「在哪里插入这个函数」都搞不清楚,频繁产生上下文丢失、代码冲突、无效重写。你该怎么办?
Plandex 正是为解决这个痛点而生的——它是一个专为大规模真实项目设计的终端 AI 编程 Agent。与传统 AI 编程工具不同,Plandex 的核心设计理念是「长程规划 + 累积diff沙箱」,让它在处理复杂任务时依然保持高度可靠。
Plandex 由独立开发者 Matt Range 创建,灵感来源于对现有 AI 编程工具的深度不满——当 Claude Code、GitHub Copilot 等工具在小规模代码库中表现出色后,一旦面对超过数万行代码、跨多目录的复杂重构任务,它们的上下文窗口管理和文件修改策略就开始力不从心。
Plandex 引入了一个创新的 累积 Diff 沙箱(Cumulative Diff Sandbox) 机制:AI 对项目文件的修改不会直接生效,而是先写入一个独立的沙箱区域。开发者可以逐条审查 AI 的改动,选择接受、拒绝或修改其中的任何一步。只有明确确认后,变更才会真正应用到项目文件中。
这种设计解决了 AI 编程工具最大的两个问题:
图2:Plandex 的典型工作流:规划 - 编辑 - 审查 - 应用
Plandex 默认模型包支持约 200 万 Token 的有效上下文。技术实现上,它采用「按需加载」策略:每个执行步骤只加载与当前任务相关的代码片段,而非一次性把整个项目塞入上下文。这种分层加载机制使得它在处理包含 20M+ Token 的超大代码库时依然流畅。
项目索引基于 tree-sitter 语法解析器,支持 30+ 编程语言。Plandex 首先生成项目的语法树地图(Project Map),用于快速定位相关文件和代码结构,然后结合向量检索实现精确的上下文注入。相比简单的文本匹配,tree-sitter 能理解代码的语义结构,在重构和跨文件修改场景中尤为重要。
Plandex 支持同时调用来自 Anthropic(Claude)、OpenAI(GPT-4)、Google(Gemini)以及开源模型(如 Ollama)的多个模型,并根据任务类型动态选择最合适的模型。例如:规划阶段用 Claude Sonnet,设计审查用 GPT-4,代码生成用成本更低的小模型。
Plandex 内置 Terminal Command Debugger:当 make、npm run build、pytest 等命令执行失败时,它会自动分析错误输出,调整参数或修复问题代码,然后重新执行。若系统安装了 Chrome,还能自动调试 Web 应用。
每个 Plan 的每次更新都有完整历史记录,支持分支(Branch)功能——可以同时探索多条实现路径,或者对比不同模型生成的方案。所有变更记录可随时回滚。
服务端(Go + PostgreSQL)
Plandex 服务端采用 Go 语言开发,核心依赖包括:gorilla/mux(HTTP 路由)、sashabaranov/go-openai(OpenAI/Claude API 调用)、golang-migrate/migrate(数据库迁移管理)、lib/pq(PostgreSQL 驱动)、aws/aws-sdk-go(AWS S3 文件存储集成)。
数据库使用 PostgreSQL,通过 docker-compose 一键启动,无需额外部署。
CLI(Go + TUI)
CLI 同样使用 Go 开发,包含完整的 TUI(终端用户界面),支持 REPL 模式模糊自动补全。关键组件包括:smacker/go-tree-sitter(代码解析)、gen2brain/beeep(桌面通知)、fatih/color(彩色终端输出)。
文档站(Docusaurus + TypeScript)
文档站点基于 Docusaurus 构建,用 TypeScript 开发,提供了完整的多语言文档支持。
图3:Plandex 演示视频截图
项目提供完整的 docker-compose.yml,包含 plandex-server + PostgreSQL 两个服务:
git clone https://github.com/plandex-ai/plandex.git
cd plandex/app
docker-compose up -d
服务启动后:API 服务运行于 localhost:8099,WebSocket 连接于 localhost:4000,数据库自动初始化。
curl -sL https://plandex.ai/install.sh | bash
通过 Ollama 接入本地开源模型,实现完全离线的 AI 编程体验。
随着 AI 编程工具从「尝鲜玩具」进化为「日常生产工具」,大项目支持能力成为下一阶段的核心竞争点。Plandex 通过累积 Diff 沙箱和超长上下文两项创新设计,为这个方向提供了一个值得关注的参考实现。Tree-sitter 项目地图的引入也标志着 AI 编程工具开始真正「读懂」代码结构,而不仅仅是匹配文本模式。