potpie

GitHub
5.3k 602 较难 1 次阅读 今天Apache-2.0Agent开发框架数据工具
AI 解读 由 AI 自动生成,仅供参考

Potpie 是一款专为大型代码库设计的开源开发辅助工具,它能将整个项目代码转化为结构化的“知识图谱”。通过深度索引每一个文件、类和函数,并梳理它们之间的复杂关联,Potpie 让 AI 智能体能够像原作者一样精准理解代码上下文,从而高效完成从故障调试到新功能开发的各种任务。

面对日益庞大的代码库,开发者常因难以快速理清模块依赖和逻辑脉络而降低效率。Potpie 正是为了解决这一痛点而生,它打破了传统搜索仅匹配文本的局限,提供了基于代码结构的深层推理能力,帮助团队在维护遗留系统或扩展复杂架构时更加得心应手。

这款工具非常适合需要处理大规模项目的软件工程师、技术负责人以及希望提升代码理解效率的开发团队。其核心技术亮点在于构建了全量代码的知识图谱,并支持多种主流大语言模型(如 OpenAI、Ollama、Anthropic 等),允许用户根据需求灵活配置推理模型。此外,Potpie 提供了完善的本地部署方案,结合 Docker 与 Python 环境即可快速启动,既保障了数据安全,又赋予了极高的定制化自由度,是现代化规范驱动开发的得力助手。

使用场景

某电商平台的后端团队需要在拥有百万行代码的遗留系统中,紧急修复一个涉及订单、库存和支付模块的深层耦合 Bug。

没有 potpie 时

  • 开发人员需手动翻阅数十个文件,依靠记忆或全局文本搜索拼凑调用链路,极易遗漏间接依赖。
  • 修改核心逻辑时因无法预判影响范围,导致“修好一个 Bug 引出三个新 Bug"的回归问题频发。
  • 新入职成员面对复杂的代码迷宫无从下手,理解业务逻辑往往需要数周时间的摸索与请教。
  • AI 辅助编程工具因缺乏整体上下文,只能提供片段级建议,经常产生幻觉或错误的重构方案。

使用 potpie 后

  • potpie 将整个代码库转化为知识图谱,自动梳理出从订单创建到库存扣减的完整调用链,精准定位故障点。
  • 基于图谱的推理能力让 potpie 能预先分析变更影响面,明确指出哪些测试用例必须执行,大幅降低回归风险。
  • 新人可直接向 potpie 提问“支付失败如何触发库存回滚”,获得包含具体文件跳转的结构化解释,上手时间缩短至几天。
  • 构建在图谱之上的 AI Agent 具备“作者级”理解力,能生成符合项目架构规范的完整修复代码而非零散片段。

potpie 通过将静态代码转化为动态知识图谱,让开发团队在超大型项目中拥有了上帝视角般的精准掌控力。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具主要基于 Docker 运行,需安装 Docker、Git 和 uv 包管理器。核心组件包括用于知识图谱的 Neo4j、关系型数据库 PostgreSQL 以及消息队列 Redis。支持多种 LLM 提供商(OpenAI, Ollama, Anthropic 等),若使用本地模型(如 Ollama)则对本地硬件有相应要求,但 README 未明确具体 GPU 或内存数值。前端需使用 pnpm 构建。
python3.11+
FastAPI
Celery
Redis
PostgreSQL
Neo4j
uv
LiteLLM
Firebase Auth
Pydantic Logfire
potpie hero image

快速开始

Potpie AI logo

Potpie

Potpie 可以将您的整个代码库转换为一个知识图谱——即对每个文件、类和函数的结构化索引,捕捉它们之间的所有关系以及代码各部分在整体上下文中的作用。基于该图谱构建的 AI 代理能够像编写代码的人一样精确地理解并推理您的代码,从调试到功能开发都能胜任。

Potpie 控制面板

文档 Apache 2.0 GitHub 星标 Discord VSCode 扩展

快速入门

前置条件

安装步骤

  1. 克隆仓库

    git clone --recurse-submodules https://github.com/potpie-ai/potpie.git
    cd potpie
    
  2. 配置环境变量

    cp .env.template .env
    

    编辑 .env 文件,填写以下必填项:

    # 应用与环境
    isDevelopmentMode=enabled
    ENV=development
    defaultUsername=defaultuser
    
    # AI / LLM 配置
    LLM_PROVIDER=openai                    # openai | ollama | anthropic | openrouter
    OPENAI_API_KEY=sk-proj-your-key
    CHAT_MODEL=gpt-4o
    INFERENCE_MODEL=gpt-4o-mini
    
    # 数据库
    POSTGRES_SERVER=postgresql://postgres:mysecretpassword@localhost:5432/momentum
    NEO4J_URI=bolt://127.0.0.1:7687
    NEO4J_USERNAME=neo4j
    NEO4J_PASSWORD=mysecretpassword
    
    # Redis 与后台任务
    REDISHOST=127.0.0.1
    REDISPORT=6379
    BROKER_URL=redis://127.0.0.1:6379/0
    CELERY_QUEUE_NAME=dev
    
    # 项目与仓库管理
    PROJECT_PATH=projects
    

    CHAT_MODELINFERENCE_MODEL 分别用于代理推理和知识图谱生成。模型名称应遵循 LiteLLM 所要求的 provider/model_name 格式。

    💡 使用 Ollama?LLM_PROVIDER=ollama,并设置 CHAT_MODEL=ollama_chat/qwen2.5-coder:7bINFERENCE_MODEL=ollama_chat/qwen2.5-coder:7b

    您可以参考 .env.template 查看完整的可选配置列表(日志记录、功能开关、对象存储、邮件、分析等)。

  3. 安装依赖

    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv sync
    
  4. 启动所有服务

    chmod +x scripts/start.sh
    ./scripts/start.sh
    

    这将启动 Docker 服务、应用数据库迁移、启动 FastAPI 应用程序以及 Celery 工作进程。

  5. 健康检查

    curl -X GET 'http://localhost:8001/health'
    
  6. 查看解析状态

    curl -X GET 'http://localhost:8001/api/v1/parsing-status/your-project-id'
    

要停止所有服务:

./scripts/stop.sh

接下来设置 Potpie 前端

cd potpie-ui

cp .env.template .env

pnpm build && pnpm start

工作原理?

Potpie 会将您的代码仓库解析成一个存储在 Neo4j 中的知识图谱,其中包含每个文件、函数、类及其相互之间的关系。代理可以直接从该图谱中读取信息,从而根据您实际的代码回答问题或完成任务。

架构图

Potpie 架构

  • FastAPI 作为 API 层——所有请求通过 localhost:8001 进入,支持 CORS、Logfire 跟踪,并可选集成 Sentry 错误监控。
  • Firebase Auth 负责生产环境的身份验证。在开发模式下,本地会创建一个虚拟用户,无需 Firebase。
  • Celery Worker 结合 Redis 作为消息代理,负责异步解析代码库——克隆、AST 提取和知识图谱构建都在后台进行。
  • Conversation Service 管理多轮对话中的聊天会话及代理记忆。
  • Agent Router 根据意图将提示分发给合适的预构建或自定义代理。
  • Tool Service 向代理暴露可调用的功能——代码搜索、文件获取、知识图谱查询、网络工具等。
  • Neo4j Knowledge Graph 以属性图的形式存储您的代码库——函数、类、文件、导入关系及调用关系,是所有代理上下文的核心。
  • PostgreSQL 存储用户、项目、对话记录及消息历史。

GitHub 身份验证

方法 配置 适用场景
GitHub App GITHUB_APP_ID, GITHUB_PRIVATE_KEY 生产环境
PAT 池 GH_TOKEN_LIST=ghp_token1,ghp_token2 开发环境 / 更高速率限制
未认证 无需配置 仅限公开仓库(60 请求/小时)

通过设置 GITHUB_AUTH_MODEapppatnone 来选择相应的方法。


自托管 Git 服务提供商

对于自托管的 Git 服务器(例如 GitBucket、GitLab 等),请进行如下配置:

  uv sync

这将创建一个 .venv 目录,并从 pyproject.toml 中安装所有依赖项。

GitHub 身份验证设置

Potpie 支持多种身份验证方法来访问 GitHub 仓库:

对于 GitHub.com 仓库:

选项 1:GitHub 应用程序(推荐用于生产环境)

  • 在您的组织中创建一个 GitHub 应用程序
  • 设置环境变量:
    GITHUB_APP_ID=your-app-id
    GITHUB_PRIVATE_KEY=your-private-key
    

选项 2:个人访问令牌池

  • 创建一个或多个具有 repo 范围的 GitHub PAT
  • 设置环境变量(多个令牌用逗号分隔):
    GH_TOKEN_LIST=ghp_token1,ghp_token2,ghp_token3
    
  • Potpie 将从令牌池中随机选择以实现负载均衡
  • 速率限制:每个令牌每小时 5,000 次请求(已认证)

选项 3:未认证访问(仅限公共仓库)

  • 无需配置
  • 自动作为公共仓库的后备方案
  • 速率限制:每个 IP 每小时 60 次请求(非常有限)
对于自托管 Git 服务器(GitBucket、GitLab 等):
  设置以下环境变量:
  

  CODE_PROVIDER=github   # 选项:github、gitbucket
  CODE_PROVIDER_BASE_URL=http://your-git-server.com/api/v3
  CODE_PROVIDER_TOKEN=your-token

重要提示:无论 CODE_PROVIDER_BASE_URL 如何设置,GH_TOKEN_LIST 中的令牌始终用于 GitHub.com。

  1. 启动 Potpie

    要启动所有 Potpie 服务:

    chmod +x scripts/start.sh
    ./scripts/start.sh
    

    这将:

    • 启动所需的 Docker 服务
    • 等待 PostgreSQL 准备就绪
    • 应用数据库迁移
    • 启动 FastAPI 应用程序
    • 启动 Celery 工作器

    可选:Logfire 追踪设置

    若要使用 Pydantic Logfire 监控 LLM 跟踪和代理操作:

    1. https://logfire.pydantic.dev 获取 Logfire 令牌
    2. 将其添加到你的 .env 文件中:
    LOGFIRE_TOKEN=your_token_here
    
    1. Potpie 启动时会自动初始化追踪功能。你可以在 https://logfire.pydantic.dev 查看追踪记录。

    注意:在你的 .env 文件中设置 LOGFIRE_SEND_TO_CLOUD=false 可以禁用向 Logfire 云端发送追踪数据。

  2. 停止 Potpie

    要停止所有 Potpie 服务:

    ./scripts/stop.sh
    

    Windows

    ./stop.ps1
    

    这将优雅地停止:

    • FastAPI 应用程序
    • Celery 工作器
    • 所有 Docker Compose 服务

Potpie 的预构建代理

Potpie 提供了一系列专门的代码库代理,用于自动化和优化软件开发的关键方面:

调试代理

自动分析堆栈跟踪,并根据您的代码库提供逐步调试指导——而不是通用建议。

文档

代码库问答代理

回答有关您代码库的问题,并从基本原理出发解释函数、特性及架构。

文档

代码生成代理

为新功能生成代码、重构现有代码,并基于您实际的代码库提出优化建议。

文档

规格代理

根据您的代码库生成详细的软件规格说明、PRD 和架构文档。

文档

自定义代理

借助自定义代理,您可以设计个性化的工具,以精确处理重复性任务。定义:

  • 系统指令 - 代理的任务、目标和预期输出
  • 任务 - 完成工作所需的各个步骤
  • 工具 - 用于查询知识图谱或检索代码的函数
curl -X POST "http://localhost:8001/api/v1/custom-agents/agents/auto" \
     -H "Content-Type: application/json" \
     -d '{"prompt": "一个以堆栈跟踪为输入,输出根本原因分析和解决方案的代理"}'

更多内容请参阅我们的文档

使用场景

入职培训

让新开发者在数小时内就能高效工作,而不是几周。Potpie 会映射您的架构、入口点和设置流程,使任何人都能快速上手。

代码库问答

关于您的代码库,无论是函数、数据流还是设计决策,都可以随时提问。您将获得基于实际代码的精准答案,而非猜测。

调试

粘贴堆栈跟踪信息,即可获得针对您代码的根本原因分析和逐步修复方案——而不是通用的故障排除建议。

代码审查

在合并代码之前,了解您的更改可能带来的影响范围。Potpie 会展示受影响的 API、下游影响以及潜在的回归问题。

测试生成

生成能够理解您的代码结构的单元测试和集成测试——而不是千篇一律的模板。这些测试可以覆盖手动测试遗漏的边缘情况。

功能规划

将需求或开放问题转化为低层级的实施计划——包括组件分解、API 接口以及建议的代码结构。

探索所有使用场景

扩展与集成

VSCode 扩展

直接在你的编辑器中使用 Potpie 的 AI 助手——无需切换标签页,也不用复制粘贴。在不离开 VSCode 的情况下,提问、获取解释并完成代码提交。

  • 助手能够即时理解你当前打开的代码库
  • 适用于任何本地或远程代码库
安装 VSCode 扩展

Slack 集成

将 Potpie 引入你团队的 Slack 工作区。在团队已有的聊天线程中进行代码调试、解答代码库相关问题以及获取项目洞察。

  • 不到两分钟即可完成设置
  • 支持你自定义配置的助手
添加到 Slack   设置指南

API 访问

通过 API 密钥将 Potpie 集成到 CI/CD 流水线和自动化工作流中。以编程方式触发助手,以适应你现有的 DevOps 环境。

API 文档

自定义工具集成

通过构建并注册你自己的工具来扩展 Potpie 的功能。将文件放入 app/modules/intelligence/tools/ 目录,并在 tool_service.py 中进行注册。

社区与支持

  • GitHub Issues。适合:你在使用 Potpie 时遇到的 bug 和错误。
  • Discord。适合:分享你的项目并与社区交流。
  • 电子邮件支持。适合:关于你的设置或基础设施的问题。

更多详情请参阅 贡献指南

许可证

本项目采用 Apache 2.0 许可证授权——详细信息请参阅 LICENSE 文件。

贡献者

感谢你抽出时间帮助构建 Potpie。继续加油 🥂

想参与贡献吗?请阅读 贡献指南,开始行动吧。

贡献者

版本历史

v0.1.12025/02/25
v0.1.02025/02/19
v0.0.62025/02/13
v0.0.52025/01/14
v0.0.42024/12/21
v0.0.32024/12/13
v0.0.22024/11/29
v0.0.12024/11/22
v0.1.22025/03/09
v1.0.12026/04/15
v1.0.02026/02/23
v0.1.72025/06/13
v0.1.62025/04/25
v0.1.52025/04/15
v0.1.42025/03/30
v0.1.32025/03/15

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

161.1k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|3天前
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|2天前
开发框架图像Agent