patchwork
AI Agent 工作流自动化框架,用 Steps + Patchflows 组合完成 PR 评审、Bug 修复、依赖升级等开发杂活
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 工作流自动化框架,用 Steps + Patchflows 组合完成 PR 评审、Bug 修复、依赖升级等开发杂活
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Patchwork 项目 Banner
想象一下:每次收到 PR 都要花 15 分钟 review 代码、每次依赖更新都要手动改一堆配置文件、每次发现漏洞都要逐行排查修复——这些重复劳动,正在蚕食开发者最宝贵的创造力。Patchwork 正是为解决这一痛点而生的开源 AI 自动化框架。
Patchwork 是一个面向企业的 AI Agent 工作流自动化框架,诞生于 2024 年 4 月,由独立开发者组织 patched.codes 创建和维护。它通过自托管 CLI 工具配合主流大语言模型(LLM),自动化完成 PR 评审、Bug 修复、安全补丁、依赖升级等日常开发杂活,让工程师把精力集中在真正有创造性的工作上。
框架的核心设计哲学是原子化可组合:用最小的功能单元拼装出复杂的工作流,降低了定制和扩展的门槛,同时保证了每个环节的可审计性。
项目 Banner,展示了 CLI 运行效果
Patchwork 的架构围绕三个核心概念展开:
Steps(步骤):框架中最小的原子动作单元。一个 Step 就是一个独立的 Python 类,继承自 patchwork.step.Step,实现了 run() 方法。从 Git 操作(CreatePR、CommitChanges)、LLM 调用(CallLLM、AgenticLLM)到代码分析(ScanSemgrep、ReadPRDiffs),每种操作都被封装为可复用的 Step。
Prompt Templates(提示模板):驱动 LLM 行为的提示词配置,以 JSON 格式存储。每个 patchflow 自带经过优化的默认提示词,也可完全自定义。模板使用 {{variable}} 占位符,在运行时由 Step 输出或用户输入填充,支持高度灵活的提示词工程。
Patchflows(流程):将多个 Steps 按特定顺序串联执行的自动化流程,本质是一个组合了 Steps + Prompt Templates 的执行管道。以 AutoFix patchflow 为例,其执行链路为:Semgrep 安全扫描 → LLM 生成修复代码 → 代码修改 → Git 提交 → 创建 PR,形成完整的自动化修复闭环。
内置 patchflow 清单包括:
CLI 入口:patchwork/app.py 中使用 Click 框架构建命令行入口,动态扫描 patchwork/patchflows/ 目录加载所有可用 patchflow,并通过 find_patchflow() 支持从外部路径加载自定义 patchflow,实现热插拔扩展。
Step 基类:patchwork/step.py 定义了核心抽象基类。Step 采用 TypedDict 验证输入/输出类型(通过 input_class 和 output_class 元参数),运行时自动检查缺失字段并抛出 ValueError。每个 Step 支持四种状态(COMPLETED / SKIPPED / WARNING / FAILED),配合装饰器模式包装 run() 方法,实现统一的错误处理和日志记录。
LLM 多客户端路由:patchwork/common/client/llm/aio.py 实现了智能路由层(AioLlmClient),自动将请求分发至 OpenAI / Anthropic / Google 任一客户端,支持流式输出和多模型协作。代码中通过 client_base_url 参数无缝对接任何 OpenAI 兼容端点(Groq、Together AI、HuggingFace Inference、本地 ollama / llama.cpp / vLLM)。
版本与依赖:pyproject.toml 显示项目使用 Poetry 管理依赖,当前版本 0.0.124,支持 Python 3.9+,核心依赖包括 Pydantic 2.x、Pydantic-AI、Click、Rich(终端美化)、Anthropic SDK、OpenAI SDK 及 GitPython。
扩展机制:patchflow 目录下每个子目录即为一个独立的 patchflow 模块(patchwork/patchflows/{Name}/{Name}.py),只需继承 Step、实现 __init__ 和 run(),并在 __init__.py 中注册,即可无缝纳入 CLI 命令体系。
Patchwork 是纯 CLI 工具,无 Web UI、无 Docker 支持,通过 pip 一键安装:
pip install 'patchwork-cli[all]' --upgrade
不同功能模块支持按需安装(security、rag、notifications),推荐从 [all] 开始以获得完整能力。运行任意 patchflow 只需一行命令:
patchwork AutoFix openai_api_key=<YOUR_KEY> github_api_key=<YOUR_TOKEN>
最低硬件要求:无需 GPU,普通开发机即可流畅运行。依赖安装约需 200MB 磁盘空间,首次安装约 2 分钟。
AGPL-3.0 许可证:这是最需要评估的风险点。AGPL 要求任何将 Patchwork 作为网络服务运行的用户也必须开源其修改版本。对企业内部工具使用影响较小,但若基于 Patchwork 开发商业 SaaS 产品,法律风险不可忽视。相比之下,自定义 patchflow 和 steps 可通过独立仓库(Apache-2.0)发布,不受此限制。
早期阶段:项目当前版本为 alpha(v0.0.124),维护模式中仍有近 200 个 open issues,API 和 CLI 参数可能随版本更新而变化,企业引入前需评估版本稳定性策略。
本地模型门槛:虽然框架支持本地 LLM(通过 OpenAI 兼容端点),但要真正实现完全私有化部署,还需额外部署 ollama / vLLM 等推理服务,对运维能力有一定要求。
Patchwork 代表了 AI 编程工具领域的一个新兴方向:用可组合的工作流单元替代单一 AI 助手。与 Cursor、Windsurf 等 AI 增强 IDE 不同,Patchwork 专注于后台自动化,适合集成到 CI/CD 流水线中,实现"提交即触发 AI 评审"、"发现漏洞即自动修复"的工程实践。
从增长数据看,项目在 14 个月内获得 1563 stars 和 104 forks,且近期更新活跃(2026-06-11 仍有 commit),说明维护状态健康。随着 roadmap 中 GUI 界面和微调模型的落地,受众将从开发者向更广泛的技术团队扩展。
如果你正在寻找将 AI 能力嵌入开发流程的自动化工具,Patchwork 值得关注。
数据来源:GitHub API(2026-06-13)、项目 README 及源码分析