Token导航 LogoToken导航TokenDH.com
GitHub Debate System logo
开发工具stdio官方级别未说明来源级核验

GitHub Debate System

MCP Server

一个结合Agent to Agent (A2A)和Model Context Protocol (MCP)的AI辩论系统,用于分析GitHub Pull Request并评估合并的合理性。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
Python多代理协作开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kazukk12

提供方

kazukk12

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

GitHub辩论系统(A2A×MCP)

这是一个结合了Agent to Agent(A2A)和Model Context Protocol(MCP)的、以GitHub PR为主题的AI辩论系统。

概要

这个项目两个AI代理(代码评估AI与文档一致性AI)将分析实际的GitHub拉取请求,并就是否合并展开辩论。由评判AI最终判定胜负。

特点

  • MCP(模型上下文协议) 与GitHub API的协作
  • A2A(代理对代理) 基于此的多个代理的协同操作
  • 基于真实GitHub PR数据的有理有据的讨论
  • 三轮制辩论(开场陈词→反驳→终局陈词)
  • 基于JSON Schema的评判打分

架构

┌─────────────────────────────────────┐
│  Python CLI (debate_github.py)      │
│  - ReviewerBot (コード評価)         │
│  - DocGuard (ドキュメント整合性)     │
│  - ArbiterJudge (審判)              │
└──────────────┬──────────────────────┘
               │ stdio
┌──────────────▼──────────────────────┐
│  GitHub MCP Server (Node.js)        │
│  - get_pull_request                 │
│  - get_pull_request_files           │
│  - get_file_content                 │
└──────────────┬──────────────────────┘
               │ GitHub API
┌──────────────▼──────────────────────┐
│         GitHub.com                   │
└─────────────────────────────────────┘

设置

1. 安装依赖包

Node.js 包

npm install

Python包

pip install -r requirements.txt

2. 设置环境变量

.env.example 进行复制 .env 制作:

cp .env.example .env

.env 编辑文件,进行以下设置:

# OpenAI API Key
OPENAI_API_KEY=sk-...

# GitHub Personal Access Token
# 必要な権限: repo (read-only)
GITHUB_TOKEN=ghp_...

# Optional: GPT Model
GPT_MODEL=gpt-4o-mini

获取GitHub Token的方法

  1. 访问 https://github.com/settings/tokens
  2. 点击“生成新令牌(经典)”
  3. 权限: repo 仅选择(只读)
  4. 复制代币 .env 粘贴到

使用方法

基本使用方法

python3 debate_github.py --repo openai/openai-python --pr 1724

选项

python3 debate_github.py \
  --repo OWNER/REPO \
  --pr PR_NUMBER \
  --rounds 3 \
  --model gpt-4o-mini \
  --log-dir ./logs
  • --repo仓库(owner/name 格式)
  • --pr拉取请求编号
  • --rounds辩论轮数(默认:3)
  • --model所使用的GPT模型(默认:gpt-4o-mini)
  • --log-dir日志保存目录(默认:./logs)

辩论的流程

第一轮:开场陈述(初步主张)

  • 评论者机器人从代码质量、测试和技术合理性的角度主张合并
  • DocGuard(可译为“文档卫士”或根据具体语境调整为更贴切的名称)鉴于文档一致性问题以及破坏性变更通知不足,主张暂不合并

第二轮:反驳

  • 各代理对对方主张进行反驳

第三轮:Final(最终主张)

  • 各代理机构应强化自身立场并阐明结论

裁判的判定

  • 评估逻辑性、依据的恰当性、反驳的准确性、清晰度以及实务上的合理性
  • 以JSON格式输出评分和获胜者

项目结构

github-debate-system/
├── README.md                 # このファイル
├── requirements.txt          # Python 依存パッケージ
├── package.json              # Node.js 依存パッケージ
├── .env.example             # 環境変数テンプレート
├── .gitignore               # Git 除外設定
├── mcp-server.js            # GitHub MCP Server
├── debate_github.py         # メイン CLI スクリプト
├── mcp/
│   ├── __init__.py
│   └── client.py           # Python MCP Client
├── agents/
│   ├── __init__.py
│   ├── reviewer.py         # ReviewerBot
│   ├── docguard.py         # DocGuard
│   └── judge.py            # ArbiterJudge
├── prompts/
│   ├── reviewer_system.txt # ReviewerBot のシステムプロンプト
│   ├── docguard_system.txt # DocGuard のシステムプロンプト
│   └── judge_system.txt    # Judge のシステムプロンプト
└── logs/                    # ディベートログ保存先

关于MCP(模型上下文协议)

MCP是用于使LLM应用程序能够与外部数据源和工具安全协作的标准协议。

该项目中MCP的角色

  1. GitHub MCP 服务器(Node.js)

- 提供对GitHub API的访问 - 通过stdio与Python客户端通信 - 提供工具: - github.get_pull_request获取PR信息和diff - github.get_pull_request_files获取变更文件列表 - github.get_file_content获取文件内容

  1. Python MCP 客户端

- 与MCP服务器的接口 - 通过JSON-RPC 2.0协议进行通信

MCP的优势

  • 标准化可通过统一的API访问不同的数据源
  • 安全在服务器端管理认证信息
  • 可再利用性一旦实现,即可在其他项目中使用
  • 可扩展性可轻松添加新工具

关于A2A(代理对代理)

A2A是一种方法,即多个AI代理相互通信、协同解决问题。

该项目中A2A的实施

  1. 评论机器人DocGuard(可译为“文档卫士”或根据具体语境调整为更贴切的名称) 独立思考
  2. 在每一轮中参照对方的主张进行反驳
  3. 仲裁裁判员 评价双方的论点

A2A的优点

  • 多角度分析从不同视角的评价
  • 讨论的深入通过反驳使论点明确化
  • 品质提升通过相互核对提高精度

故障排除

GitHub Token 错误

Error: GITHUB_TOKEN environment variable is not set

.env 请在文件中设置GitHub Token

OpenAI API错误

Error code: 429 - You exceeded your current quota

请确认OpenAI API的使用量限制

MCP服务器启动错误

Server error: ...

请确认Node.js的版本(建议使用v18以上)

许可证

麻省理工学院(MIT)

参考资料

-

目录标签

目录标签

Python多代理协作开发工具AI辩论本地部署GitHubPR分析代码评审文档整合

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP