mcpField
P
polyphony

polyphony

github.com/alinaqiAgent 工作流711109 次安装2 周前更新
代码仓库

关于 polyphony

Polyphony 是多 Agent 编排系统,可在隔离的 Docker 工作区中运行任务。它依据可配置规则和复杂度评分,将任务分配给 Claude、Codex 或 Kimi,并为每项任务创建独立克隆和分支。

主要功能

  1. 01每项任务使用隔离的 Docker 工作区
  2. 02在 Claude、Codex 和 Kimi 之间路由
  3. 03按五个维度评估复杂度
  4. 04支持 GitHub Issues 或本地 SQLite 任务源
  5. 05管理任务生命周期与工作区

适用场景

  1. 01在隔离工作区中并行运行 Agent 任务
  2. 02按任务类型和风险分配任务
  3. 03管理任务从执行、验证到交付的流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alinaqi/maggy --skill polyphony

安装后在 Claude Code 中输入/polyphony确认已加载。

详细介绍

Polyphony —— 多 Agent 编排

通过容器隔离工作区,实现 Agent 并行执行。每个 Agent 都有自己的 Docker 容器,并在自己的分支上拥有完整的 Git 克隆副本。互不冲突、独立测试、生成干净的 PR。


架构(6 层)

  1. 工作来源 —— 来自 GitHub Issues(gh api)或本地 SQLite 队列的任务
  2. 编排器 —— 监督循环:发现 -> 认领 -> 路由 -> 配置 -> 运行 -> 验证 -> 合入
  3. 路由器 —— 纯函数:任务 x 策略 -> RunSpec(5 维复杂度评分)
  4. 身份代理 —— 将命名凭据解析为卷挂载和环境变量覆盖项
  5. 工作区管理器 —— 每个任务执行 git clone --reference、检出分支并清理
  6. 工作进程运行时 —— Docker 容器的创建/启动/停止/日志生命周期

任务生命周期

DISCOVERED -> CLAIMED -> ROUTED -> PROVISIONED -> RUNNING -> VERIFYING -> LANDED
                                                     |           |
                                                     v           v
                                                   FAILED --> BLOCKED
                                                     |
                                                     v
                                                   CLAIMED (retry)

前置条件

  • 已安装并运行 Docker 或 OrbStack
  • 至少有一个可用的 Agent CLI(Claude、Codex 或 Kimi)
  • 已配置 CLI 订阅(而非 API 密钥)

检查:

command -v docker &>/dev/null || command -v orbctl &>/dev/null

配置

所有配置均位于 ~/.polyphony/:

文件用途
config.yaml工作区根目录、轮询间隔、最大并发数
identities.yaml包含卷路径的命名凭据包
agents.yamlAgent 配置文件(CLI 命令、优势)
routing.yaml路由规则和回退链

使用 polyphony init 初始化


路由规则

规则按从上到下的顺序评估;匹配第一个规则后即停止。每条规则都有一个 match 谓词和一个 agent 目标。

rules:
  - match: { task_type: docs, risk: low }
    agent: kimi
  - match: { task_type: bugfix }
    agent: codex
  - match: { risk: high }
    agent: claude
default:
  agent: claude
  fallback: [codex, kimi]

复杂度评分(5 个维度)

每个维度评分为 0-2。总分为 0-10。

维度来源
圈复杂度LOC + 作用域大小
扇出调用方数量
安全边界Auth/PII 关键词
并发性锁/事务关键词
领域不变量风险级别 + 任务类型

路由阈值:

  • 0-3:交由 Kimi 单独处理
  • 4-6:Kimi + Codex 评审
  • 7-10:由 Claude 直接处理

容器隔离

每个任务都拥有:

  • 一个基于 polyphony-worker:latest 创建的专属 Docker 容器
  • /workspace 下的完整 Git 克隆副本(不是工作树)
  • 以只读方式挂载的身份验证卷(例如 ~/.claude:/home/worker/.claude:ro)
  • 独立的测试执行环境
  • 用于 PR 的专属分支

CLI 命令

polyphony init                    # Create ~/.polyphony/ with config templates
polyphony spawn "Fix auth bug"    # Create and route a task
polyphony status                  # Show task states
polyphony cleanup                 # Remove completed workspaces

与现有技能的集成

  • cross-agent-delegation:使用 Polyphony 的复杂度评分进行路由决策
  • agent-teams:使用 Polyphony 的工作区隔离,而非共享目录
  • spawn-team:使用 Polyphony 的容器配置功能为功能 Agent 提供环境

评论

支持 Markdown