← 返回
开发者工具 中文

Tutti

Orchestrate multiple AI coding agents (Claude Code, Codex, Aider) from a single config — launch teams, run workflows, track capacity, and manage handoffs.
通过单一配置协调多个AI编程代理(Claude Code、Codex、Aider)——启动团队、运行工作流、跟踪容量并管理交接。
nutt-adam
开发者工具 clawhub v1.1.0 1 版本 99856.3 Key: 无需
★ 0
Stars
📥 695
下载
💾 9
安装
1
版本
#latest

概述

Tutti — Multi-Agent Orchestration

Orchestrate a team of AI coding agents from a declarative tutti.toml config. Launch agents in isolated git worktrees, run verification workflows, track token usage, and manage context handoffs — all through a single CLI.

When to use this skill

Use when the user asks you to:

  • Launch, monitor, or stop a team of AI coding agents
  • Run or verify automated workflows across agents
  • Dispatch prompts to agents with auto-start and output capture
  • Land agent work back to the main branch or open PRs
  • Check agent status, health, or capacity usage
  • Generate or apply context handoff packets
  • Coordinate multi-agent development workflows

Prerequisites

  1. tt binary installed and on PATH (install from https://github.com/nutthouse/tutti)
  2. tmux installed
  3. python3 available
  4. A tutti.toml config file in the workspace root

Always run preflight checks before starting a workflow:

python3 tutti_openclaw.py doctor_check

Actions

All actions go through the wrapper script. Every action returns a consistent JSON envelope:

{
  "ok": true,
  "action": "action_name",
  "command": ["tt", "..."],
  "exit_code": 0,
  "data": {},
  "stdout": "",
  "stderr": ""
}

Lifecycle

ActionCommandPurpose
--------------------------
doctor_checkpython3 tutti_openclaw.py doctor_checkPreflight: verify tools, config, and environment
launch_teampython3 tutti_openclaw.py launch_teamLaunch all agents defined in tutti.toml
launch_agentpython3 tutti_openclaw.py launch_agent Launch a single agent
send_promptpython3 tutti_openclaw.py send_prompt [--auto-up] [--wait] [--output]Send a prompt to an agent with optional auto-start, wait-for-idle, and output capture
team_statuspython3 tutti_openclaw.py team_statusRead agent states from .tutti/state/
agent_outputpython3 tutti_openclaw.py agent_output --lines 50Peek at an agent's terminal output
stop_agentpython3 tutti_openclaw.py stop_agent Stop a single agent
stop_teampython3 tutti_openclaw.py stop_teamStop all agents

Workflows

ActionCommandPurpose
--------------------------
list_workflowspython3 tutti_openclaw.py list_workflowsDiscover available workflows
plan_workflowpython3 tutti_openclaw.py plan_workflow [--strict]Dry-run a workflow
run_workflowpython3 tutti_openclaw.py run_workflow [--agent ] [--strict]Execute a workflow
verify_teampython3 tutti_openclaw.py verify_team [--workflow ] [--strict]Run verification workflow
read_verify_statuspython3 tutti_openclaw.py read_verify_statusRead last verification result

Git Operations

ActionCommandPurpose
--------------------------
land_agentpython3 tutti_openclaw.py land_agent [--pr] [--force]Land an agent's branch back to current branch, or open a PR

Handoffs

ActionCommandPurpose
--------------------------
generate_handoffpython3 tutti_openclaw.py generate_handoff [--reason ]Capture agent context to a packet
apply_handoffpython3 tutti_openclaw.py apply_handoff [--packet ]Inject a handoff packet into an agent
list_handoffspython3 tutti_openclaw.py list_handoffs [--agent ] [--limit 20]List available handoff packets

Permissions

ActionCommandPurpose
--------------------------
permissions_checkpython3 tutti_openclaw.py permissions_check Check if a command is allowed by policy

Workflow step types

Workflows in tutti.toml support these step types:

TypePurposeKey fields
---------------------------
promptSend text to an agent sessionagent, text, inject_files, wait_for_idle, wait_timeout_secs
commandExecute a shell commandrun, cwd, timeout_secs, fail_mode
ensure_runningStart an agent if not already runningagent, fail_mode
workflowExecute another workflow as a nested stepworkflow, agent, strict, fail_mode
landLand an agent's branchagent, pr, force, fail_mode
reviewSend an agent's diff to a revieweragent, reviewer, fail_mode

Prompt steps support inject_files — an array of workspace-relative file paths that are copied into the agent's worktree before the prompt is sent. This enables stateful context passing between agents (e.g., injecting a snapshot JSON produced by another agent).

Nested workflow steps enable composition: observe → dispatch → fix → verify → land as a chain of workflow invocations.

Execution pattern

Follow this sequence for orchestrating a workspace:

  1. Preflightdoctor_check. Stop and report if non-zero.
  2. Launchlaunch_team or launch_agent .
  3. Monitorteam_status and agent_output to observe progress.
  4. Dispatchsend_prompt "do something" --auto-up --wait --output to dispatch work and capture results.
  5. Workflowlist_workflows to discover, then run_workflow .
  6. Verifyverify_team --strict for gate-style quality checks.
  7. Landland_agent to cherry-pick work, or land_agent --pr to open a PR.
  8. Handoffgenerate_handoff when context is high, apply_handoff to resume.
  9. Stopstop_team or stop_agent when done.

Failure handling

  • Non-zero exit: Surface the action, command, and stderr from the JSON envelope. Do not retry blindly.
  • Verify warnings (non-strict): Report as warning. Include data from read_verify_status.
  • Missing state files: Treat as transient — retry up to 3 times with short delays. If still missing, the workspace may not have been launched.
  • Auth failures: If stderr contains auth errors, stop and escalate to the user. Do not retry auth failures.
  • Agent not running: Use --auto-up on send_prompt to automatically start agents on demand rather than failing.

Configuration override

If tt is not on PATH or you need a specific version:

python3 tutti_openclaw.py --tt-bin /path/to/tt doctor_check
# or via environment variable
TUTTI_BIN=/path/to/tt python3 tutti_openclaw.py doctor_check

Rules

  • Always run doctor_check before any launch or workflow operation.
  • Never retry auth failures — escalate to the user immediately.
  • Prefer team_status (reads state files directly) over agent_output for status checks.
  • Use --strict flag on verify_team and run_workflow when results gate further actions.
  • Use --auto-up on send_prompt when the target agent may not be running.
  • Use --output on send_prompt to capture the agent's response for programmatic verification.
  • Use --json output from tt commands when you need structured data (the wrapper handles this automatically).
  • Do not parse stdout text output — always use the data field from the JSON envelope.

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-29 21:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,535
developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,928
developer-tools

Agent Browser

matrixy
专为AI智能体优化的无头浏览器自动化CLI,支持无障碍树快照和基于引用的元素选择。
★ 427 📥 118,387