Loading...

文章背景图

GPT Pilot:让 AI 像真程序员一样分步写完整 App 的开源全栈助手|部署与使用全指南

2026-11-05
0
- 字
- 分钟
|

GPT Pilot:让 AI 像真程序员一样分步写完整 App 的开源全栈助手|部署与使用全指南

适用读者:想研究"LLM 到底能在多大程度上自动写完整应用"的开发者、想在本机跑一个多 Agent 协作代码生成器做学习参考的人。本文必须先读下面这条官方安全警告,再决定是否在本机 git clone && python main.py。

图1 GPT Pilot 官方 README:Pythagora VS Code 扩展宣传图

⚠️ 开篇必读:官方安全通告(原样摘自仓库 README)

仓库 README 顶部挂着一条 CAUTION 级别的警告,原文要点:

  • 2025-08-24 一个被伪装成"Revert 'Implemented weekend discount'"的恶意提交(commit 065ee8eb)被推到本仓库;
  • 该提交在 core/telemetry/ 目录下藏了一个凭证窃取器(supply-chain worm,被称作 Shai-Hulud 级别),程序一旦运行就自动下载 Bun 运行时并执行混淆 payload(core/telemetry/_runtime.bin),窃取 AWS/云 Key、GitHub/npm Token、SSH Key 等,并可能借机扩散到其他项目;
  • 外部安全研究员于 2026-06-08 公开报告,恶意文件于 2026-06-11 被移除;
  • 仓库同时声明:本仓库已不再积极维护,这次清理只是安全善后,不代表恢复开发。

如果你在 2025 年 8 月到 2026-06-11 之间从源码 clone 并真正运行过 GPT Pilot,官方要求:轮换该机上所有凭证;检查是否存在 core/telemetry/_runtime.bin、core/telemetry/_hooks.py、core/telemetry/.loader.lock、意外的 bun 二进制或 rt-* 临时目录;在确认干净之前把这台机器当作已失陷处理。只是 clone 下来没运行过的机器不受影响。

也就是说:这是一份历史/研究向部署指南。新生产环境请优先选择仍在维护的同类项目;本文仅在你理解风险、并在隔离环境(容器/虚拟机、无任何凭证的干净机器)中复现官方流程时才推荐照做。

一、项目简介

GPT Pilot 是 Pythagora 开源的一个命令行工具,目标是研究"LLM 能在多大程度上写出可上线的完整应用,而不是只补全一行代码"。它的核心思路写在 README 里:AI 能写大约 95% 的代码,但剩下 5% 在 AGI 到来之前仍需要人盯着。背后的团队是 YC 系的 Pythagora,README 上挂着 YC 的 Logo,并引导用户去 https://www.pythagora.ai/ 了解后续商业化产品。

它不是一次吐给你整个代码库,而是模拟一个软件团队:Product Owner、Specification Writer、Architect、Tech Lead、Developer、Code Monkey、Reviewer、Troubleshooter、Debugger、Technical Writer 共十个 Agent,按真实开发流程一步一步把 App 写出来。它也是 Pythagora VS Code 扩展背后的核心引擎——也就是说,这个仓库更多是研究与引擎代码,日常想用图形界面的人直接装 VS Code 扩展即可。

核心信息一览表

项目 内容
仓库 https://github.com/Pythagora-io/gpt-pilot
官方站点 https://www.pythagora.ai/
VS Code 扩展 https://marketplace.visualstudio.com/items?itemName=PythagoraTechnologies.pythagora-vs-code
运行形态 Python 命令行(python main.py)
运行时要求 Python 3.9+
数据库 默认 SQLite;可选 PostgreSQL(需额外装 asyncpg、psycopg2)
模型提供商 openai / anthropic / groq(Azure、OpenRouter 走 openai 配置)
仓库状态 官方声明已不再积极维护(见开篇安全通告)

适用场景

  • 研究多 Agent 协作写代码的真实流程(10 个 Agent 分工);
  • 在隔离环境里看"从一句需求到可运行 App"是怎么一步步被拆任务的;
  • 配合 Pythagora VS Code 扩展做学习型二次开发。

能力边界

  • 它生成的是完整 App 骨架,但 README 自己强调:任务拆得太粗 bug 难修,拆得太细 AI 又接不上已有代码,需要人在中间 review;
  • 不适合直接在生产/有凭证的机器上长期运行(见安全通告);
  • 仓库已停更,遇到新模型/新依赖版本问题官方不会再修;
  • 生成代码默认落在 workspace/<app-name>/ 目录,是普通文件,请自行备份;
  • 官方 README 对比了 Smol Developer / GPT Engineer 这类"一次吐整个代码库"的工具:GPT Pilot 选择像真人一样分步写、边写边调试,并通过上下文裁剪只把当前任务相关的文件喂给 LLM,号称能 scale 到更大的项目,但代价是要你陪着一步步走。

二、功能特性

  • 十 Agent 流水线:Product Owner(README 自嘲"像现实中一样啥也不干")→ Specification Writer(在需求不够清楚时反问几个问题)→ Architect(选技术栈并本机检查/安装依赖)→ Tech Lead(把功能拆成开发任务)→ Developer(把每个任务写成人类可读说明)→ Code Monkey(按说明真正改文件)→ Reviewer(每步审查,不对就打回 Code Monkey)→ Troubleshooter(帮你把"哪里不对"组织成模型能懂的反馈)→ Debugger(出问题时上场,README 说"谁也不想见他,但他是你最好的朋友")→ Technical Writer(最后写项目文档);
  • 按步推进、可回滚:每个 App 有"分支"(目前只支持 main),可以指定从某一步继续;
  • 上下文裁剪:不会把整个代码库塞进 LLM 上下文,只给当前任务相关的文件,号称"可 scale";
  • 三种模型提供商:openai(兼容 Azure 与 OpenRouter)、anthropic、groq;
  • SQLite 默认:零配置开箱即用;PostgreSQL 可选;
  • VS Code 扩展一体化:不想敲命令行就装 Pythagora 扩展,由扩展调 CLI;
  • 遥测可关:README 指向 docs/TELEMETRY.md,随时 opt-out。

三、官方界面预览

官方 README 顶部挂的是 Pythagora VS Code 扩展的宣传图(见文首图1)。CLI 本身是命令行交互,没有图形界面可截。

四、官方链接汇总

资源 地址
GitHub 仓库 https://github.com/Pythagora-io/gpt-pilot
Pythagora 官网 https://www.pythagora.ai/
VS Code 扩展 https://marketplace.visualstudio.com/items?itemName=PythagoraTechnologies.pythagora-vs-code
示例 App 集合 https://github.com/Pythagora-io/gpt-pilot/wiki/Apps-created-with-GPT-Pilot
Discord https://discord.gg/HaqXugmxr9
安全事件 commit https://github.com/Pythagora-io/gpt-pilot/commit/065ee8ebee7385cb644fd1608587a18edb91f4fb
遥测说明 仓库内 docs/TELEMETRY.md

五、前置要求

项 要求
Python Python 3.9+(README 明文要求)
操作系统 任意能跑 Python 3.9+ 的系统;Windows 激活虚拟环境用 venv\Scripts\activate
模型 Key 至少一家:OpenAI / Anthropic / Groq;写在 config.json 里,或留 null 走环境变量
数据库 默认 SQLite,无需额外装;选 PostgreSQL 才需要装库
强烈建议 在隔离容器/VM 里跑,机器上不要放任何真实云凭证、SSH Key、npm Token

六、安装部署(仅在隔离环境)

官方 README 原文照抄:

git clone https://github.com/Pythagora-io/gpt-pilot.git
cd gpt-pilot
python3 -m venv venv
# Windows 用: venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
cp example-config.json config.json
# 编辑 config.json:填 LLM Provider 与 API Key
python main.py

如果要用 PostgreSQL:

pip install asyncpg psycopg2

然后把 config.json 里的 db.url 改成:

postgresql+asyncpg://<user>:<password>@<db-host>/<db-name>

启动前再次确认:这台机器上没有你舍不得丢的凭证;config.json 里的 API Key 只在隔离环境里用一次;跑完把整个 workspace/ 与 config.json 一起删掉。

七、配置项说明(config.json)

按 README,config.json 至少要填这几项:

字段 说明
LLM Provider 三选一:openai / anthropic / groq;Azure 与 OpenRouter 走 openai 配置并填对应 endpoint,默认 endpoint 留 null
API Key 写在这里;留 null 则从环境变量读
db.url 默认 SQLite;换 PostgreSQL 用上面那条 postgresql+asyncpg://...
fs.ignore_paths 让 GPT Pilot 不要跟踪的目录/文件,例如编译器产物目录;加在这里可以避免它把 node_modules、构建缓存之类当成代码去读

配好 config.json 之前,建议先确认你打算用哪家模型:OpenAI / Anthropic / Groq 三选一,endpoint 留 null 就走官方默认;Azure 和 OpenRouter 不是独立 provider,而是在 openai 这一项里改 endpoint 与 Key。Key 写在 config.json 里或者从环境变量读都行,但既然这是隔离环境,直接写在 config.json 里、跑完连文件一起删掉最干净。

八、使用流程

  1. python main.py 启动;
  2. 输入 App 名称与一句话描述;
  3. Specification Writer Agent 会反问几个问题把需求问清楚——如果你的描述本身已经够具体,它会跳过这一步;
  4. Architect Agent 选技术栈,并在本机检查对应工具链是否已装、没装就尝试装;这一步会真实动你的环境,所以更要在隔离容器里跑;
  5. Tech Lead 拆开发任务,Developer 把每个任务写成人类可读说明,Code Monkey 真正改文件;
  6. Reviewer 每步审查,发现不对打回给 Code Monkey 重来;
  7. 出错时 Troubleshooter 帮你组织反馈语言,Debugger 上场定位;
  8. Technical Writer 最后写项目文档;
  9. 全部产物在 workspace/<app-name>/ 目录下,按 App 名分子目录存放。

常用 CLI 命令:

python main.py --list                  # 列出已建过的 App(同时列出每个 App 的"分支",目前只支持 main)
python main.py --project <app_id>      # 从最近一步继续
python main.py --project <app_id> --step <step>   # 回到指定步(警告:会删除该步之后的全部进度)
python main.py --delete <app_id>       # 删除 App(警告:不可恢复)
python main.py --help                  # 查看其余主要服务 VS Code 扩展调用的选项

九、常用运维 / 更新命令

git pull
pip install -r requirements.txt

# 切 PostgreSQL 时额外
pip install asyncpg psycopg2

仓库已停更,git pull 不会再收到新功能;如收到新提交,先看 commit 历史再决定要不要拉——这正是上次恶意提交混入的路径。

十、常见故障排查

现象 原因 / 处理
python main.py 报语法/依赖错 Python 版本低于 3.9;README 明确要求 3.9+
config.json 不知道怎么填 直接 cp example-config.json config.json,在模板基础上改;Key 留 null 则读环境变量
想连 Azure / OpenRouter LLM Provider 仍选 openai,把对应 endpoint 写进配置,不要新建 provider 名
默认 SQLite 想换 PostgreSQL 先 pip install asyncpg psycopg2,再把 db.url 改成 postgresql+asyncpg://...
AI 写的代码反复返工 README 自己说:任务拆太粗 bug 难修、太细又接不上;在 Developer 阶段把任务描述写具体一点
怀疑机器被埋了 payload 按开篇安全通告逐项排查 core/telemetry/_runtime.bin、_hooks.py、.loader.lock、意外 bun、rt-* 目录;发现即轮换全部凭证
不想被遥测 看仓库 docs/TELEMETRY.md 按说明 opt-out
生成的 App 在哪 默认在仓库根目录 workspace/<你输入的 App 名>/ 下
想接着上次继续 python main.py --project <app_id>;先 --list 拿到 app_id
想回到某一步重跑 python main.py --project <app_id> --step <n>,警告会删掉该步之后所有进度
不想用命令行 直接装 Pythagora VS Code 扩展(链接见汇总表),由扩展调 CLI
Architect Agent 要装系统工具 这正是不要在日常机器上跑的原因之一;在隔离容器里它能装就装、装不上就换技术栈

十一、风险与责任使用声明

  1. 本仓库 2025-08 至 2026-06-11 期间被植入过凭证窃取 payload,官方已清理但仓库不再维护;本文命令仅作研究/复现用途,强烈建议在无任何真实凭证的隔离容器或虚拟机里运行;
  2. 调用 OpenAI / Anthropic / Groq 会产生真实 API 账单;Key 写在 config.json,不要把该文件提交到公开仓库;
  3. AI 生成的代码未经审计,不得直接上生产;尤其要检查有没有外联可疑地址、有没有读取本机 ~/.ssh、~/.aws、~/.npmrc 等凭证文件的行为;
  4. 不得用它批量复刻受版权保护的商业产品或他人作品;
  5. 本文所有命令、Python 版本要求(3.9+)、CLI 参数、Agent 分工均来自官方 README 与 docs/TELEMETRY.md,不构成对该仓库安全性的任何背书;后续任何安全事件以官方仓库通告为准;
  6. 如果你只是想体验"AI 写整个 App",优先用 Pythagora 官方 VS Code 扩展或其商业化产品(https://www.pythagora.ai/),而不是从这个已停更的仓库源码起步;本文之所以仍把部署流程写全,是为了让你在隔离环境里能复现它的多 Agent 设计思路,而不是推荐你把它带进生产。
评论交流

文章目录