MAGI系统MCP
本地专用多功能LLM发动机。提案之战和共识中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长LLM配备了使用限制时的自动回退功能。
特徴
- 两种执行模式
- 提案之战: Codex →Claude →Gemini の顺次実行(CursorがJudge) - 共识:三个佩尔索纳并行评估和投票系统
- 自动回退功能: LLM已达到使用限制LLM自动代理角色
- MCP通过服务器: Cursor直接利用
- CLI仅支持版本:全部LLM啊CLI仅版本(全面禁止HTTP API/SDK调用)
快速启动
1.环境构筑
bash scripts/setup_environment.sh此脚本自动执行:
- Python创建虚拟环境(使用uv)
- 安装相关性
- LLM CLI确认
- Docker确认环境
2.系统启动
bash scripts/start_magi.sh此脚本自动执行:
- 启动主机包装器(端口9001-9004)
- Docker启动容器(magi-mcp)(端口8787)
3. MCP设定
MAGI系统包括:Cursor、Claude Desktop、Claude Code三个MCP可供客户端使用。
Cursor用设定
方法1:项目本地设置(建议)
项目根目录.cursor/mcp.json创建:
mkdir -p .cursor
cat > .cursor/mcp.json > "$GLOBAL_MCP" **注意**:如果全局配置文件已存在,请单击JSON手动编辑格式,或将其设置为现有设置`magi`请添加条目。
Cursor中所述修改相应参数的值。
#### Claude Desktop用设定
Claude Desktop在配置文件中添加:
**macOS如果:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows如果:** `%APPDATA%\Claude\claude_desktop_config.json`
{ "mcpServers": { "magi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "http://127.0.0.1:8787", "OPENAPI_SPEC_PATH": "http://127.0.0.1:8787/openapi.json" } } } }
设置后Claude Desktop中所述修改相应参数的值。
#### Claude Code用设定
Claude Code的项目设置文件(`.mcp.json`)项目根目录:
{ "mcpServers": { "magi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "http://127.0.0.1:8787", "OPENAPI_SPEC_PATH": "http://127.0.0.1:8787/openapi.json" } } } }
单击功能区上Claude Code的全局设置(`~/.claude/settings.json`),模板名称将采用不同的格式。
### 4.动作确认
ヘルスチェック
curl http://127.0.0.1:8787/health
所有CLI的`true`在工作空间的边缘`wrapper_running`的`true`的规格化距离的幂函数。
## 主要机能
### Proposal Battle模式
Proposal Battle模式是三个LLM将条目添加到文档注册表。最终Cursor的Judge进行动态观察时的轴心点。
#### 执行流程
1. **Codex (Execution - 実装者)**
- 角色:以可实施性为优先,创建具体可行的方案
- 出力内容:
- 目的明确化
- 可行的结构方案
- 手順(一步一步)
- 所需技术/库
- 具体输出(代码/伪代码/架构等)
- 特征:避免模糊表达,必要时包括代码或伪代码
1. **Claude (Evaluation - 评似者)**
- 角色:Codex批判性地评论的方案,指出改善点
- 输入:Codex输出
- 出力内容:
- 指摘事项
- 风险评估
- 改善案
- 修改后的建议结构
- 評価観点:
- 风险
- 不整合
- 长期保守性
- 安全/道德
- 構造的弱点
1. **Gemini (Exploration - 探索者)**
- 角色:Claude的改善方案,提供发散性的提案
- 输入:Claude输出
- 出力内容:
- 新方法
- 类似领域的参考知识
- 替代方案Pros/Cons
- 发散方案转换为实用方案
- 特徴:
- 备选体系结构建议
- 基于类推的新观点
- 外部知识整合
1. **Cursor (Judge - 判定者)**
- 角色:比较3个方案,选择最佳方案
- 判定内容:
- 3方案摘要
- 比较表
- 优势、弱点、风险
- 最值得推荐的方案的选择和理由
- 合成方案的有效性评价
- 对用户的行动提问(选择、合成、复核)
#### 使用例
{ "initial_prompt": "Pythonでリストをソートする関数を作成してください。セキュリティとパフォーマンスの両方を考慮してください。", "mode": "proposal_battle", "verbose": true, "fallback_policy": "lenient" }
#### 响应结构
{ "session_id": "...", "results": { "codex": { "model": "codex", "content": "Codexの実装提案...", "metadata": { "status": "ok", "duration_ms": 1234, "trace_id": "..." } }, "claude": { "model": "claude", "content": "Claudeの評価と改善案...", "metadata": {...} }, "gemini": { "model": "gemini", "content": "Geminiの探索的提案...", "metadata": {...} } }, "logs": [...], "summary": "codex(ok) -> claude(ok) -> gemini(ok)", "timeline": [ "[start] codex (trace_id=...)", "[codex] ok (ok, trace_id=...)", "[start] claude (trace_id=...)", "[claude] ok (ok, trace_id=...)" ] }
#### 选项
- `skip_claude`: Claude跳过Codex和Gemini仅运行(可选)
- `fallback_policy`:
- `lenient` (默认值):LLM失败时也用存根继续,准备3个方案
- `strict`:第一次失败LLM以后不执行`status: "skipped"` 归还
- `verbose`:运行路径日志 `logs`、`summary`、`timeline` (默认值: `true`)。`false`可禁用
### Consensus模式(默认)
Consensus模式是3个珀尔索纳(Melchior/Gemini、Balthasar/Claude、Caspar/Codex)**并列**的评价,用加权投票系统做出最终决定的模式。适用于代码更改的评估和决策。
#### 统一persona模板(UPT)
所有persona都遵循统一的精确输出格式(Unified Persona Template,UPT):
VOTE: YES | NO | CONDITIONAL
REASON:
- 箇条書きで具体的理由を列挙
OPTIONAL_NOTES:
- 必要なら補足を書く(なければ空欄でよい)
通过该统一格式LLM可提供耐输出波动的坚固透视。了解更多信息 `docs/MAGI_CONSENSUS_PROMPTS.md` 来修改标记元素的显示属性。
#### 执行流程
1. **并列评似**
- 三个佩尔索纳同时执行评估(`asyncio.gather`),模板名称将采用不同的格式
- 根据统一的persona模板(UPT),在独立的提示下评估每个persona
- 回退功能已达到使用限制LLM是自动的LLM替换为
- 自定义persona配置文件(`persona_override`),模板名称将采用不同的格式
1. **投票汇总**
- 每个佩尔索纳 `YES`、`NO`、`CONDITIONAL` 投票
- 加权分数计算:
- `YES`:+1×权重
- `NO`:-1×权重
- `CONDITIONAL`:+0.3×权重(默认值)
- 权重设置(默认值):
- 梅尔基奥尔(双子座):0.4
- 巴尔塔萨(克劳德):0.35
- 卡斯帕(食品法典委员会):0.25
1. **最终决定**
- 合计分数和criticality根据级别确定
- 确定类型: `APPROVED`、`REJECTED`、`CONDITIONAL`
- 风险级别: `LOW`、`MEDIUM`、`HIGH`
#### 佩尔索纳的详细角色
所有珀尔索那均按照统一珀尔索那模板(UPT)输出:
- `VOTE`:是|否|有条件
- `REASON`:分条列举具体理由
- `OPTIONAL_NOTES`:必要时补充(可空白)
**Melchior (Gemini) - 科学者**
- **評価観点**:仅与逻辑一致性、技术正确性、规格一致
- **评似基准**:
- 逻辑一致性:建议是否在逻辑上一致
- 技术准确性:技术正确实施
- 与规格匹配:是否与现有规格或文档匹配
- 実装可能性:技术的に実装可能か
- **不评价的东西**:安全性、安全性、实用性、时间限制
- **重量**: 0.4(最高)
**Balthasar (Claude) - 安全性重视**
- **評価観点**:最优先考虑安全性、安全性、稳定性、可维护性和风险
- **评似基准**:
- 安全风险:SQL注入XSS、认证授权问题
- 稳定性:错误处理、异常处理、边缘情况
- 可维护性:代码可读性、可测试性、文档
- 风险:未来技术负债、可扩展性问题
- **不评价的东西**:实施速度和效率
- **重量**: 0.35
- **特殊规则**: `CRITICAL` criticality的BALTHASAR的`NO`的双曲正切值`REJECTED`
**Caspar (Codex) - 実用主义者**
- **評価観点**:实用性、速度、“现在行动”、最优先达成用户目标
- **评似基准**:
- 实用性:建议是否实际解决问题
- 速度:安装是否快速或立即使用
- 达成目标:能否实现用户的目标
- 易于实施:是否简单且易于实施
- **许容范围**:轻微的技术负债或违反规则,如果结果有用,则可以接受
- **重量**: 0.25
#### persona_override(自定义persona配置文件)
为每个佩尔索纳提供额外的评估标准和说明:
{ "initial_prompt": "新しい認証システムの実装", "mode": "consensus", "persona_overrides": { "melchior": "このプロジェクトではPython 3.11以上を必須とする", "balthasar": "GDPR準拠を最優先で確認すること", "caspar": "MVPとして2週間以内にリリース可能な範囲で評価" } }
`persona_override`如果未指定,模板中将显示“(无附加配置文件)”。
#### Criticality等级
- **`CRITICAL`**:更改安全关系等
- BALTHASAR的`NO`自动`REJECTED`
- 适用更严格的判定标准
- **`NORMAL`** (默认):常规更改
- 适用标准的判定基准
- **`LOW`**:低风险更改
- 适用更宽松的判定基准
#### 使用例
{ "initial_prompt": "このコード変更を評価してください: ユーザー認証システムに新しいパスワード強度チェック機能を追加する", "mode": "consensus", "criticality": "CRITICAL", "verbose": true }
#### 响应结构
{ "session_id": "...", "results": {}, "magi_decision": { "decision": "APPROVED | REJECTED | CONDITIONAL", "decision_label": "Approved | Rejected | Conditional Approval", "risk_level": "LOW | MEDIUM | HIGH", "risk_label": "Low Risk | Medium Risk | High Risk", "persona_results": [ { "persona": "melchior", "persona_name": "Melchior (Scientist)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "技術的な評価理由...", "optional_notes": "補足情報(オプション、nullの場合あり)" }, { "persona": "balthasar", "persona_name": "Balthasar (Safety)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "安全性・リスク評価...", "optional_notes": null }, { "persona": "caspar", "persona_name": "Caspar (Pragmatist)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "実用性・速度評価...", "optional_notes": "実装時の注意点など" } ], "aggregate_reason": "集約された判断理由", "suggested_actions": [ "推奨アクション1", "推奨アクション2" ] }, "logs": [...], "summary": "Decision: APPROVED (MEDIUM risk). 2 persona(s) approved: melchior, caspar. 1 persona(s) conditionally approved: balthasar", "timeline": [ "[start] parallel evaluation (trace_id=...)", "[melchior] YES - 技術的に正しい実装...", "[balthasar] CONDITIONAL - セキュリティリスクは低いが...", "[caspar] YES - 実用的で迅速に実装可能..." ] }
#### 投票聚合逻辑详细信息
1. **分数计算**
合計スコア = Σ(各ペルソナのスコア × 重み)
各ペルソナのスコア: - YES: +1.0 - NO: -1.0 - CONDITIONAL: +0.3 (デフォルト、設定可能)
1. **决策逻辑**
- `CRITICAL` 关键性:
- BALTHASAR的`NO` -自动`REJECTED`
- 总分>0.3→ `APPROVED`
- 总分\0.2→ `APPROVED`
- 总分\0.1→ `APPROVED`
- 总分\ claude(ok) -> gemini(ok)",
"timeline": [
"[start] codex (trace_id=...)",
"[codex] ok (ok, trace_id=...)",
"[codex] fallback to claude (rate limit, trace_id=...)"
]
}POST/magi/step
取得通过方案。
请求:
{
"session_id": "...",
"decision": "codex|claude|gemini|judge"
}POST/magi/stop
停止会话。
请求:
{
"session_id": "..."
}GET/健康
健康检查(获取CLI状态)。
响应示例:
{
"status": "ok",
"commands": {
"codex": true,
"claude": true,
"gemini": true
},
"details": {
"codex": {
"available": true,
"type": "real",
"path": "http://host.docker.internal:9001",
"wrapper_running": true,
"wrapper_message": "Host wrapper is available"
}
}
}环境构筑
建议的系统环境
操作系统
- macOS: 10.15 (Catalina) 以上(推奨: macOS 12以上)
- Linux: Ubuntu 20.04大于或等于分配
- 视窗: Windows 10/11(WSL2推奨)
硬件要求
- 中央处理器:2核以上(4核以上推荐)
- 内存: 4GB以上(8GB以上推奨)
- 磁盘空间: 2GB以上可用空间(包括Docker映像)
软件要求
- python: 3.11以上(3.12推奨)
- 紫外线:最新版本(Python包管理器)
- 安装: curl -LsSf https://astral.sh/uv/install.sh | sh
- Docker 桌面版: 最新版
- macOS/Windows: - Linux: Docker Engine 20.10以上
- LLM-CLI:单击CLI已安装
- codex -OpenAI Codex命令行界面 - claude - Anthropic Claude CLI(Judge机能も兼用) - gemini -谷歌Gemini CLI
网络要求
- 互联网连接(用于访问LLM API)
- 本地端口可用性:
- 8787: MCP服务器 - 9001-9004:主机包装器(Codex,Claude,Gemini,Judge)
其他要求
- 光标:最新版本(用作MCP客户端)
- Git:版本控制(可选)
确认前提条件
您可以使用以下命令查看环境:
# Pythonバージョン確認
python3 --version # 3.11以上であることを確認
# uvの確認
uv --version
# Dockerの確認
docker --version
docker compose version
# LLM CLIの確認
codex --version
claude --version
gemini --version手动设置
1. Python创建虚拟环境
uv venv
source .venv/bin/activate2.安装相关性
uv pip install -r requirements.txt
uv pip install -r host_wrappers/requirements.txt3. LLM CLI确认
以下CLI确认已安装:
codex-Codex CLIclaude-Claude CLIgemini-Gemini CLI
在动态输入提示中CLI可自定义命令:
CODEX_COMMAND(默认值:codex exec --skip-git-repo-check)CLAUDE_COMMAND(默认值:claude generate --model opus)GEMINI_COMMAND(默认值:gemini generate)
运用
启动/停止包装器
方法1:使用脚本(推荐)
bash scripts/start_host_wrappers.sh此脚本将在后台启动四个包装器,并检查它们的启动状态。
要停止:
bash scripts/stop_host_wrappers.sh方法2:手动启动
- 从属安装:
pip install -r host_wrappers/requirements.txt - 在不同的终端分别启动(端口:codex=9001, claude=9002, gemini=9003, judge=9004)
uvicorn host_wrappers.codex_wrapper:app --host 127.0.0.1 --port 9001
uvicorn host_wrappers.claude_wrapper:app --host 127.0.0.1 --port 9002
uvicorn host_wrappers.gemini_wrapper:app --host 127.0.0.1 --port 9003
uvicorn host_wrappers.judge_wrapper:app --host 127.0.0.1 --port 9004CLI命令是环境变量 CODEX_COMMAND 等已弃用的函数的缺少的支持。
MCP桥接器启动
方法1:使用自动启动脚本(推荐)
默认(主机包装模式):
bash scripts/start_magi.sh此脚本自动执行:
- 启动主机包装器(
scripts/start_host_wrappers.sh) - Docker启动容器(仅magi-mcp)(
docker-compose up -d --build --no-deps magi-mcp) - 确认启动状态
容器包装模式(可选):
USE_CONTAINER_WRAPPERS=1 bash scripts/start_magi.sh要停止:
bash scripts/stop_magi.sh方法2:手动启动
主机包装模式(默认):
# 1. ホストラッパーを起動
bash scripts/start_host_wrappers.sh
# 2. Dockerコンテナ(magi-mcpのみ)を起動
USE_CONTAINER_WRAPPERS=0 docker-compose up -d --build --no-deps magi-mcp容器包装模式:
# 1. 全サービス(ラッパー含む)を起動
USE_CONTAINER_WRAPPERS=1 docker-compose up -d --build起动顺序:
- 启动包装器(主机或容器)
- Docker启动容器
- Cursor的MCP使用工具
架构确认
curl http://127.0.0.1:8787/openapi.json操作注意事项
- 接続先: Docker从里面
host.docker.internal、从主机直接运行时自动127.0.0.1后退。如果需要的话*_WRAPPER_URL中所述修改相应参数的值。 - 起动顺:1)在主机上启动包装器→2)
docker-compose up。如果未启动包装,则为短截线响应。 - 超时:默认值为900秒(15分钟)。根据需要
WRAPPER_TIMEOUT和CODEX_TIMEOUT/GEMINI_TIMEOUT进行调试。对整体有效的情况下LLM_TIMEOUT。 - 504/读取超时: CLI等待完成。延长超时
ps等确认死机,在短提示下测量所需时间的话容易区分。 - 短截线响应:
/health的ok 或者CODEX_COMMAND查看项目中可用的所有族。 - 权限错误:
Operation not permitted啊EPERM: operation not permitted, uv_cwd中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。了解更多信息docs/setup/TROUBLESHOOTING_MCP.md问题5:Codex/Gemini的权限错误。
故障排除
常见问题
- 主机包装器未启动
- 症状: wrapper_running: false 对话框,您可以在此定义自定义格式"All connection attempts failed" 错误 - 解决方法:
# プロセス確認
ps aux | grep uvicorn | grep host_wrappers
# ポート確認
lsof -i :9001 -i :9002 -i :9003 -i :9004
# ホストラッパーを起動
bash scripts/start_host_wrappers.sh
# 起動状態を確認
curl http://127.0.0.1:9001/health
curl http://127.0.0.1:9002/health
curl http://127.0.0.1:9003/health- Codex/Gemini权限错误
- 症状: Operation not permitted 啊 EPERM: operation not permitted, uv_cwd 发生 - 解决: docs/setup/PERMISSION_ERROR_FIX.md 的双曲正切值 - 在新终端上设置时很重要:必须 docs/setup/PERMISSION_ERROR_FIX.md 查看项目中可用的所有族
- MCP未显示工具
- 症状:Cursor的MCP未显示工具 - 解决方法: 1. Docker确认容器是否已启动: docker compose ps 1. MCP确认服务器是否响应: curl http://127.0.0.1:8787/openapi.json 1. .cursor/mcp.json的设置是否正确(通过容器的URL引用 http://127.0.0.1:8787/openapi.json ),模板名称将采用不同的格式 1. Cursor完全重新启动 - 详细: docs/setup/CURSOR_MCP_SETUP.md 的双曲正切值
- 使用限制错误
- 症状:LLM已达到使用限制 - 解决方案:回退功能将自动运行。fallback_info字段确认 - 动作确认:在时间轴上[codex] fallback to claude (rate limit, ...)记录
- 未找到架构
- 症状:出现架构错误 - 解决方法: - schema将条目添加到文档注册表URL(http://127.0.0.1:8787/openapi.json)来定义自定义外观 - Docker确认容器是否正常启动 - curl http://127.0.0.1:8787/openapi.json 中查看连接状态
- 连接错误
- 症状:无法连接 - 解决方法: - Docker集装箱127.0.0.1:8787确认是否监听 - 检查防火墙设置 - 检查其他进程是否使用了端口8787 - 检查主机包装器是否已启动(必需)
详细故障排除
- MCP关连:
docs/setup/TROUBLESHOOTING_MCP.md - 权限错误:
docs/setup/PERMISSION_ERROR_FIX.md(在新终端安装时一定要确认) - 已知问题:
docs/development/ISSUES.md
如果为难的话: README.md → docs/development/ISSUES.md → docs/setup/TROUBLESHOOTING_MCP.md → docs/setup/PERMISSION_ERROR_FIX.md 中所述修改相应参数的值。
项目配置
magi-system-mcp/
├── src/
│ ├── api/
│ │ └── server.py # FastAPI MCPサーバー
│ └── magi/
│ ├── clients/ # LLMクライアント実装
│ ├── modes/ # ProposalBattleMode実装
│ ├── consensus.py # Consensus Engine
│ ├── fallback_manager.py # フォールバック管理
│ ├── rate_limit.py # 利用制限検出
│ ├── models.py # データモデル
│ ├── controller.py # MAGI Controller
│ └── prompts.py # プロンプト定義
├── host_wrappers/ # HTTPラッパー(FastAPI)
├── scripts/ # 起動・停止スクリプト
├── docs/ # ドキュメント
└── tests/ # テスト测试
# すべてのテストを実行
pytest
# 統合テストのみ実行
pytest -m integration
# 統合テストを除外して実行(高速)
pytest -m "not integration"高级设置
LLM CLI设定
全LLM啊HTTP通过包装CLI命令。默认情况下,可以使用主机包装器并使用环境变量覆盖(如果使用容器包装器) USE_CONTAINER_WRAPPERS=1 ):
- 食品法典:
CODEX_COMMAND(默认值:codex exec --skip-git-repo-check) - 克劳德:
CLAUDE_COMMAND(默认值:claude generate --model opus) - 双子座:
GEMINI_COMMAND(默认值:gemini generate) - 裁判:
JUDGE_COMMAND(默认值:claude generate --model opus)
每个CLI接受来自标准输入的提示,并将结果返回到标准输出。
超时设置
默认值为900秒(15分钟)。MAGI_TIMEOUT_DEFAULT 对较大场景进行渲染期间已观察到该故障。即使是长句提示和复杂的任务也能确保足够的时间。
超时调整:
- HTTP客户端:
LLM_TIMEOUT或单独CODEX_TIMEOUT/CLAUDE_TIMEOUT/GEMINI_TIMEOUT/JUDGE_TIMEOUT(默认值:MAGI_TIMEOUT_DEFAULT继承) - 包装侧:
WRAPPER_TIMEOUT(FastAPI在旁边CLI等待执行的上限,默认值:MAGI_TIMEOUT_DEFAULT)
默认模式设置
MAGI可以使用环境变量设置系统的默认模式:
MAGI_DEFAULT_MODE:指定默认模式(consensus或proposal_battle)
- 默认值: consensus - 例: MAGI_DEFAULT_MODE=proposal_battle 的Proposal Battle将模式设置为默认值
API请求 mode 如果显式指定了参数,则该值将被替代。
Verbose模式设置
verbose默认情况下,模式处于启用状态。可以更改环境变量的默认值:
MAGI_VERBOSE_DEFAULT: verbose指定模式的默认值(true、false、1、0、yes、no、on、off)
- 默认值: true(verbose模式有效) - 例: MAGI_VERBOSE_DEFAULT=false 的verbose默认情况下禁用模式
API请求 verbose 如果显式指定了参数,则该值将被替代。
包装器操作模式
MAGI系统以两种模式运行:
- 主机包装模式(默认):在主机端启动包装器,然后在主机上安装CLI执行二进制(codex,claude,gemini,judge)
- 容器包装模式(可选): Docker在容器中启动包装器(仅当CLI二进制文件在容器中可用时)
默认为主机包装模式。 现有的主机先决工作流将继续运行。在容器中CLI仅在想要移动时Dockerfile的CLI添加安装后 USE_CONTAINER_WRAPPERS=1 中所述修改相应参数的值。
使用容器包装模式:
USE_CONTAINER_WRAPPERS=1 bash scripts/start_magi.shDockerfile的CLI添加示例(RUN pip install ... ):
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl ca-certificates gnupg \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y --no-install-recommends nodejs \
&& npm install -g @openai/codex @anthropic-ai/claude-code @google/gemini-cli \
&& apt-get clean && rm -rf /var/lib/apt/lists/*HTTP包装URL设置
可以用环境变量覆盖(默认:主机包装模式为 http://host.docker.internal:900{1-4}、集装箱化包装模式 http://-wrapper:900{1-4}):
CODEX_WRAPPER_URLCLAUDE_WRAPPER_URLGEMINI_WRAPPER_URLJUDGE_WRAPPER_URL
动作确认
检查主机包装器和桥接器是否正常工作:
# 1. ホストラッパーの起動状態を確認
curl http://127.0.0.1:9001/health # Codex
curl http://127.0.0.1:9002/health # Claude
curl http://127.0.0.1:9003/health # Gemini
curl http://127.0.0.1:9004/health # Judge
# 2. MAGIシステムのヘルスチェック(ホストラッパーの状態も含む)
curl http://127.0.0.1:8787/health所有命令 true 在工作空间的边缘wrapper_running 的 true 如果是HTTP包装器工作正常。
注意:
- 如果主机包装器未启动
wrapper_running的false将条目添加到文档注册表。 - macOS的二进制(claude/gemini)也在主机侧运行,所以没有问题。
开发人员信息
有关实施细节、技术改进和已知问题,请参阅以下文档:
- 実装详细:
docs/development/PHASE1_IMPLEMENTATION.md-类型安全错误处理、设置管理、结构化记录等 - 已知问题:
docs/development/ISSUES.md-超时、流程清扫等
