openJiuwen Agent Store 进阶实战:用 TomatoReviewer 多智能体架构打造 PEP 驱动的 Python 代码审查工具

📅 发布时间:2026/9/24 14:32:33
openJiuwen Agent Store 进阶实战:用 TomatoReviewer 多智能体架构打造 PEP 驱动的 Python 代码审查工具
openJiuwen Agent Store 进阶实战用 TomatoReviewer 多智能体架构打造 PEP 驱动的 Python 代码审查工具【免费下载链接】agent-storeopenJiuwen agent-store承载基于openJiuwen构建的智能体欢迎各路英豪发挥想象力积极贡献项目地址: https://gitcode.com/openJiuwen/agent-storeTomatoReviewer 是 openJiuwen Agent Store 社区中一个智能的 Python 代码审查工具它基于 openJiuwen 框架的多智能体架构与 PEPPython 增强提案知识库实现审查—检索—修复一体化的自动代码审查与修复。本文带你拆解它的三大智能体设计、PEP 知识库构建方式以及如何快速上手配置并跑起来还能作为你自己构建知识库应用的参考实现。为什么需要PEP 驱动的代码审查工具传统的 linter如 pylint、ruff、mypy只能告诉你这里不合规却很少解释为什么、依据哪条规范、最好怎么改。TomatoReviewer 的思路是把三类信息融合起来静态分析结果pylint / mypy 找出的具体问题规范依据从 PEP 知识库中检索到对应提案条款大模型推理由 LLM 生成上下文相关的修复建议并自动应用这样产出的审查报告不仅指出问题行还附带 PEP 引用和修复前后对比对新手理解 Python 最佳实践尤其友好。多智能体架构3 个 Agent 各司其职TomatoReviewer 的核心是三个基于 ReActAgent 框架实现的智能体源码位于 tomato_review/agent/ 目录智能体职责关键源码️ ReviewerAgent运行 pylint针对报错生成检索问题产出 Markdown 审查报告reviewer.py SearcherAgent在 PEP 知识库中检索编码约定与最佳实践searcher.py FixerAgent结合审查建议与 PEP 上下文应用修复并运行代码验证fixer.py三个智能体协同完成一个迭代的审查-修复循环ReviewerAgent 对文件执行静态分析把每条报错转换成规范类问题SearcherAgent 带着问题附代码片段去 PEP 知识库做混合检索返回相关条款摘要ReviewerAgent 汇总生成带 PEP 引用的审查报告FixerAgent 按建议改写代码运行代码验证功能未被破坏再次审查循环往复直到问题清零或达到最大迭代次数默认 5 轮这种分工 循环的设计是多智能体应用的典型范式每个 Agent 只专注一类任务通过结构化输入如proposed_changes传递整体行为可解释、可控。PEP 知识库openJiuwen 框架的完整应用范例TomatoReviewer 不只是用了 openJiuwen它同时是一个知识库系统的参考实现自动索引、检索并应用 Python PEP 文档展示了一个可自动更新维护的知识库应用长什么样。知识库相关代码在 tomato_review/pep_kb/ 目录pep_processor.py把 PEP 文档解析为结构化模型摘要、关键词、状态pep_models.py定义PEPDocument等 Pydantic 数据模型get_pep_index.py抓取 PEP 索引并缓存支持自动检测远端更新pep_knowledge_base.py基于 openJiuwen 知识库框架完成向量存储与混合检索底层依赖 openJiuwen 提供的向量存储、嵌入模型与混合搜索hybrid search能力因此检索既有语义匹配也有关键词兜底召回质量明显好于纯关键词方案。快速上手一键安装与最小配置安装工具pip install githttps://gitcode.com/SushiNinja/TomatoReviewer.gitmain也可以把 community/tomato-reviewer/ 子目录源码放到本地用uv管理依赖见 requirements.txt。配置 tomato.yaml在项目根目录创建tomato.yaml或.tomato.yaml参考仓库中的 tomato.yaml 示例需要填三组信息tomato-review: milvus_uri: http://your-milvus-host:19530 # 向量数据库地址 embedding_model_name: your-embedding-model # 嵌入模型 embedding_base_url: http://your-embedding-server/v1/embeddings api_base: http://your-api-server/v1/ # LLM 服务地址 model_name: your-model-name # 对话模型 index_type: hybrid # 混合检索一个贴心的细节TomatoReviewer 会自动检测项目的 pylint / mypy 配置文件.pylintrc、.mypy.ini或pyproject.toml中的[tool.pylint]/[tool.mypy]段找不到时才回退到内置默认配置——这让静态分析标准与团队既有规范保持一致。构建知识库并运行审查# 从零构建 PEP 知识库 tomato-review --build # 审查当前目录所有 Python 文件 tomato-review *.py # 只审查不自动修复 tomato-review *.py --no-fix # 控制审查-修复循环轮数 tomato-review *.py --max-iter 5安全机制备份、日志与回滚自动改代码最怕改坏了没痕迹。TomatoReviewer 的输出目录设计如下tomato/reviews/每个文件的 Markdown 审查报告含 PEP 引用tomato/backup/修改前的原始文件备份logs/tomato/每个文件的处理日志更关键的是 cli.py 中实现了CtrlC 信号处理中断时自动把已修改的文件从备份还原回去避免半修复状态污染代码库。加上 FixerAgent 每轮修复后运行代码验证功能完整性整体改造是可回滚、可验证的。进阶思路把它当作知识库应用的起点如果你想在自己的领域复用这套架构建议按以下路径参考先跑通 Demo用--no-fix模式观察审查报告质量确认模型与知识库配置正确理解数据流从 cli.py 的入口看参数解析 → 知识库初始化 → Agent 编排的完整链路替换知识域把pep_kb换成你的领域文档内部规范、API 文档、FAQ复用抓取 → 结构化 → 向量化 → 混合检索的流水线扩展智能体在 tomato_review/agent/ 中仿照三个 Agent 的分工新增安全审查性能审查等专职角色项目完整说明可阅读 README.zh.md构建脚本见 Makefile。总结TomatoReviewer 展示了多智能体分工 迭代循环的工程化落地审查、检索、修复三个 Agent 各司其职基于 openJiuwen 知识库框架的 PEP 知识库让每次审查建议都有规范可依备份、日志、中断回滚、修复后运行验证让自动改代码足够安全对新手而言它是学习如何用 openJiuwen 搭建知识库应用的最佳实践范本下一步不妨克隆 agent-store 仓库进入community/tomato-reviewer/目录动手实践把这套多智能体 知识库的架构迁移到你自己的代码审查场景中。【免费下载链接】agent-storeopenJiuwen agent-store承载基于openJiuwen构建的智能体欢迎各路英豪发挥想象力积极贡献项目地址: https://gitcode.com/openJiuwen/agent-store创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考