mcpField
P
Pi Durateam

Pi Durateam

本地服务
github.comAI 与智能体16今天更新

关于 Pi Durateam

Pi Durateam 是一个 MCP 服务,可为 Claude Code 和 Codex 调度 Pi Agent,并支持在多个模型提供商间并行执行任务。它返回报告或文件路径,并提供运行预算、可选持久化会话及逐个委派任务的 MCP 工具权限控制。

主要功能

  1. 01并行运行委派任务
  2. 02将同一提示词分配给多个模型
  3. 03从已完成会话分叉任务
  4. 04引导、继续或中止运行
  5. 05设置运行预算和答案检查
  6. 06可选恢复持久化会话

适用场景

  1. 01用多个模型审查代码差异
  2. 02拆分研究或交叉核查任务
  3. 03跨会话继续委派工作
  4. 04向委派 Agent 提供指定 MCP 工具

MCP 相关

向 Claude Code、Codex 等 MCP 客户端提供任务委派和会话管理工具。委派任务可按任务获准使用已配置 MCP 服务中的指定工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nyarlathoteppppp-pi-durateam": {
"command": "npx",
"args": [
"-y",
"pi-durateam"
]
}
}
}
启动命令npx -y pi-durateam

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpi-durateam0.7.12

工具

14

收录的工具列表 · 更新于 2 天前

参数类型必填说明
cwdstring否计划委派任务的仓库;会加载其项目本地的 pi 模型范围
modelsstring否用于筛选模型列表的子字符串,例如 "deepseek"

详细介绍

pi-durateam — 将工作分配给不同模型。汇总各方发现。

English · 简体中文

pi-durateam

一支由 Pi Agent 组成的团队,适用于 Claude Code 和 Codex,支持任意提供商,运行设计为有始有终。

npm CI Node.js License: MIT

快速开始 · 团队 · MCP 工具 · Dura · 参考

已从 pi-durabletask-mcp 更名为 pi-durateam:请安装 pi-durateam。旧命令仍可使用;配置、PI_DELEGATE_* 变量、已存储状态和工具名称均未更改。


主 Agent 负责规划、选择模型并评估结果。阅读、搜索和交叉核查任务交由 Pi 代理执行——可使用 Gemini、Grok、GPT、DeepSeek 或 Pi 支持的其他提供商——消耗这些提供商的配额,而不是 Claude Code 或 Codex 的配额;返回内容是简明状态和最终报告,或者仅提供文件路径。在我们的发布前评审中,4 个 Agent 使用 Gemini、Grok 和 GPT 模型阅读了约 200 万个 token 的代码库,而 Claude 会话收到的报告约为 7 KB。

  • team — 执行一个或多个并行任务,将同一问题交给多个模型,分叉后只读一次并回答多个问题,选择启用协调器,以及按代理授予 MCP 服务(只读 GitHub、浏览器)。
  • dura — 每次运行都设有轮次、时间和工具调用预算,并预留最后一轮用于作答且不调用工具。还可选择启用软截止时间、提供商出错时的模型回退,以及在服务重启后仍可保留的会话。

例如,可以向 Agent 提出:“使用 Pi 并行调用 Gemini、Grok 和 GPT 审查附带的 diff。不要编辑文件。仅报告确实存在的缺陷,并注明 file:line。” 它会使用一个共享的 prompt 和 3 个模型调用 spawn_batch,再通过 wait 收集结果,并得到 3 份独立报告,其中包含 token 用量和费用。

快速开始

需要 macOS 或 Linux、Node.js 22.19+ 和 Pi。 CI 使用 Node.js 22 和 24,针对 Pi 1.0.0、1.0.4、1.1.0 和 1.3.0 运行测试。模型调用使用你自己的提供商凭据。

1 · 安装 Pi(如果已安装可跳过),并登录提供商:

curl -fsSL https://pi.dev/install.sh | sh
pi  # then /login, or configure a provider

2 · 安装 pi-durateam:

npm install -g pi-durateam@latest
或从源代码安装
git clone https://github.com/Nyarlathoteppppp/pi-durateam.git
cd pi-durateam && npm ci && npm run build
# below, use `node /absolute/path/pi-durateam/dist/index.js` instead of `pi-durateam`

3 · 连接。 Claude Code:

claude mcp add --scope user pi -- pi-durateam

Codex(~/.codex/config.toml):

[mcp_servers.pi]
command = "pi-durateam"

Codex 桌面应用使用精简的 PATH 启动 MCP 服务(不包含 Homebrew 或 nvm 目录),因此可能既找不到 pi-durateam,也找不到用于运行它的 node。这样服务就无法启动,会话中也不会出现 Pi 工具。请在此处使用绝对路径:

[mcp_servers.pi]
command = "/opt/homebrew/bin/node" # output of `which node`
args = ["/opt/homebrew/lib/node_modules/pi-durateam/dist/index.js"] # under `npm root -g`
[mcp_servers.pi.env]
PATH = "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin" # inherited by what the server starts

更新 pi-durateam 或 Pi 后,请重新连接 MCP 服务。其他客户端 →

4 · 试试看:“使用 Pi 检查 auth 模块是否缺少权限检查。只读。” init 会显示模型、提供商凭据和设置;models 会列出代理可以使用的模型。

可选:安装 Agent Skill

skill 会向 Agent 介绍工作流。将 SKILL.md 放入客户端的技能目录:

dir="$HOME/.claude/skills/pi-durateam" # Claude Code
# dir="$HOME/.agents/skills/pi-durateam" # Codex: use instead
mkdir -p "$dir"
curl -fsSL https://raw.githubusercontent.com/Nyarlathoteppppp/pi-durateam/main/skills/pi-durateam/SKILL.md \
  -o "$dir/SKILL.md"
## 团队:多个模型协同完成一项任务
  • 委派。 spawn 在后台启动一项任务,并立即返回一个 sessionId。spawn_batch 默认每次最多启动 4 项(PI_DELEGATE_BATCH_MAX),并会先检查每项任务;只要有一项无效,就不会启动任何任务。run 会阻塞,适合快速提问。使用 wait 和 until: "settled" 收集结果。
  • 一个问题,多个模型。 批次级的 prompt 会发送给每项任务;每项任务指定自己的 model,并附加自己的 prompt。不同模型系列会遗漏不同内容,但达成一致并不代表结论正确:采取行动前请核实发现。
  • 只读一次,多方提问。 forkFrom 会根据已完成会话的转录启动新任务,包括该会话已读取的文件;每个分支都会获得新的预算。
  • 引导并继续。 使用 steer 引导正在运行的委派任务,使用 answer 回答其问题,使用 follow_up 跟进已完成的任务(它会保留已读取的内容),必要时使用 abort 中止。status 会报告 idleMs 和 phase,帮助区分缓慢推理和请求卡住。
  • 输入材料,输出报告。 attachments 通过绝对路径传递差异或笔记;saveTo / saveDir 将长篇报告写入文件并返回路径;usage 提供令牌用量和费用。
  • 协调器(可选启用)。 向 spawn 传入 coordinator 计划:Pi 协调器会分派成员、向其中一名成员提出有针对性的后续问题,并撰写一份引用原始报告的综合报告。需要在 PI_DELEGATE_ALLOW_TOOLS 中启用 codemode。对于大多数工作,使用 spawn_batch 并自行判断更简单。工作流 →

每个委派任务可用的 MCP 工具

委派任务可以使用 Pi 的 mcp.json 中配置的 MCP 服务,例如只读 GitHub、Serena、浏览器和网络搜索;可按任务选择,默认不启用任何服务。将服务添加到 ~/.pi/agent/mcp.json,在 pi-durateam 的环境中允许其确切工具名称(PI_DELEGATE_ALLOW_TOOLS="mcp__github__get_file_contents,mcp__github__search_code"),然后重新连接。之后可在每次调用时选择:

{
  "cwd": "/absolute/repo",
  "nativeMcp": true,
  "mcpServers": ["github"],
  "tools": ["mcp__github__get_file_contents"],
  "prompt": "Read package.json of OWNER/REPO with GitHub MCP and report its version."
}
  • 只有 mcpServers 中的服务会连接。在这些服务的工具中,委派任务只能使用 tools 中列出且经 PI_DELEGATE_ALLOW_TOOLS 允许的 mcp__<server>__<tool> 名称;选择某个服务并不会授予其所有工具的访问权限。
  • 如果调用选择了服务,却未授予其中任何工具的权限,请求会在启动前被拒绝——例如省略 tools(只读默认设置),或只指定 codemode 或 tool_search,因为它们只能访问 tools 中列出的工具。tools: [] 仍会启动不使用工具的任务。
  • 按照 mcp.json 中服务的 exposure 设置可访问的名称来指定工具:使用 direct 时,只需提供 mcp__<server>__<tool> 名称(如上例);使用 codemode 时,需添加 codemode;使用 deferred 时,需添加 tool_search。
  • extensions 可以保持为 false。批次任务会继承 nativeMcp 和 mcpServers;协调器成员各自选择服务,且这些服务需要使用 direct 暴露模式。
  • 获准使用的 MCP 工具可能会在 cwd 之外写入内容或执行操作,而机密路径防护不涵盖外部服务。请谨慎授予功能权限。

GitHub、Serena 和 agent-browser 的设置:可选工具。网络搜索:研究。暴露模式与恢复:原生 MCP。

Dura:为顺利完成而运行

始终启用

  • 轮次、时间和工具调用预算。spawn 和 spawn_batch 默认最多运行 30 轮、10 分钟;run 默认最多运行 12 轮、5 分钟;上限由 PI_DELEGATE_MAX_TURNS(默认值为 50)和 PI_DELEGATE_MAX_DURATION_MS(默认值为 15 分钟)设定。maxToolCalls 限制委派任务自身的调用次数。
  • 当轮次或工具调用预算达到 75%,或已用时达到总时长的 2/3 时,委派任务会收到收尾提示;最后一轮不可使用工具,专用于给出答案。
  • answerState 用于标记答案为空(missing)或被截断(partial)。运行结束时若没有答案(aborted、error),则会将最近一段有实质内容的文本作为 salvagedText 返回。已完成的结果会标明作答所用的模型。

选择启用

  • 软截止时间(PI_DELEGATE_DEADLINE_GRACE_MS):到达截止时间后,工具调用会被禁用,且不会启动新的工具调用;委派任务会在这段宽限时间内作答,只有仍未给出答案的运行才会中止。
  • 模型回退(PI_DELEGATE_FALLBACK_MODELS,或按调用设置的 fallbackModels):如果供应商错误在 Pi 重试后仍未解决,运行会在同一会话中继续使用下一个列出的模型,例如 "xai/*:high,antigravity/gemini-*"。在我们的使用场景中,Codex 配额错误现在会在几秒内切换到 Grok 继续运行。
  • 对于持续调用工具的模型:PI_DELEGATE_ANSWER_GRACE=1 会额外提供一轮不可使用工具的机会;PI_DELEGATE_TOOL_CHOICE_NONE 会在该轮发送 toolChoice: "none";运行即将结束时,PI_DELEGATE_FINISH_THINKING 会降低思考级别。
  • 持久会话(durable: true):使用 SQLite 检查点;服务器重启后,会话会使用原有 ID、历史记录和预算恢复;结果未知的工具调用绝不会盲目重放。默认保留已完成的会话 7 天(retentionDays、PI_DELEGATE_RETENTION_DAYS)。
  • handoff:在一个 Claude/Codex 窗口中用 save 保存备注,再在另一个窗口中用 read 读取,以继续同一个持久会话。

安全默认设置

  • 未提供 tools 的调用会获得只读工具集(read、grep、find、ls 或你设置的 PI_DELEGATE_DEFAULT_TOOLS);其他工具必须通过 PI_DELEGATE_ALLOW_TOOLS 授权。这并非沙箱:如果委派任务获得了 bash,它就能执行你能执行的任何操作。
  • 附件、读取和搜索均会拒绝访问机密路径(.env、~/.ssh、凭据);将 PI_DELEGATE_SECRET_GUARD=0 设为 0 可关闭此保护。
  • 会话保存在内存中,并在 MCP 进程结束时终止。除非手动启用,否则持久化存储、模型回退、软截止时间、答案宽限轮次、原生 MCP 和协调器均处于关闭状态。
  • 默认情况下,每个服务进程最多同时运行 4 个委派任务(PI_DELEGATE_MAX_CONCURRENT)。无法解析的模型名称会被拒绝,不会替换为默认模型。

文档


MIT · 基于 howznguyen/pi-delegate-mcp 和 Pi Durable 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。