{
  "canonical_name": "HKUDS/ClawTeam",
  "compilation_id": "pack_0c0225ae06534074969a715fae9f60f5",
  "created_at": "2026-05-17T05:44:20.783872+00:00",
  "created_by": "project-pack-compiler",
  "feedback": {
    "carrier_selection_notes": [
      "viable_asset_types=skill, recipe, host_instruction, eval, preflight",
      "recommended_asset_types=skill, recipe, host_instruction, eval, preflight"
    ],
    "evidence_delta": {
      "confirmed_claims": [
        "identity_anchor_present",
        "capability_and_host_targets_present",
        "install_path_declared_or_better"
      ],
      "missing_required_fields": [],
      "must_verify_forwarded": [
        "Run or inspect `pip install clawteam` in an isolated environment.",
        "Confirm the project exposes the claimed capability to at least one target host."
      ],
      "quickstart_execution_scope": "allowlisted_sandbox_smoke",
      "sandbox_command": "pip install clawteam",
      "sandbox_container_image": "python:3.12-slim",
      "sandbox_execution_backend": "docker",
      "sandbox_planner_decision": "llm_execute_isolated_install",
      "sandbox_validation_id": "sbx_699f7c19a079426ea190eecbcd877ad2"
    },
    "feedback_event_type": "project_pack_compilation_feedback",
    "learning_candidate_reasons": [],
    "template_gaps": []
  },
  "identity": {
    "canonical_id": "project_a8b73955f6aa380e7ef03998f94c732d",
    "canonical_name": "HKUDS/ClawTeam",
    "homepage_url": null,
    "license": "unknown",
    "repo_url": "https://github.com/HKUDS/ClawTeam",
    "slug": "clawteam",
    "source_packet_id": "phit_a1b6526e827542a0bd818f6d1bcb2b57",
    "source_validation_id": "dval_ba964ae4c6fe456582e7a5dbcfd8408e"
  },
  "merchandising": {
    "best_for": "需要软件开发与交付能力，并使用 claude的用户",
    "github_forks": null,
    "github_stars": null,
    "one_liner_en": "<h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>",
    "one_liner_zh": "<h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>",
    "primary_category": {
      "category_id": "software-development",
      "confidence": "medium",
      "name_en": "Software Development",
      "name_zh": "软件开发与交付",
      "reason": "matched_keywords:code, git"
    },
    "target_user": "使用 claude, claude_code, cursor 等宿主 AI 的用户",
    "title_en": "ClawTeam",
    "title_zh": "ClawTeam 能力包",
    "visible_tags": [
      {
        "label_en": "Browser Agents",
        "label_zh": "浏览器 Agent",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "product_domain-browser-agents",
        "type": "product_domain"
      },
      {
        "label_en": "Web Task Automation",
        "label_zh": "网页任务自动化",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "user_job-web-task-automation",
        "type": "user_job"
      },
      {
        "label_en": "Browser Automation",
        "label_zh": "浏览器自动化",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "core_capability-browser-automation",
        "type": "core_capability"
      },
      {
        "label_en": "Checkpoint Resume",
        "label_zh": "断点恢复流程",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "workflow_pattern-checkpoint-resume",
        "type": "workflow_pattern"
      },
      {
        "label_en": "Evaluation Suite",
        "label_zh": "评测体系",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "selection_signal-evaluation-suite",
        "type": "selection_signal"
      }
    ]
  },
  "packet_id": "phit_a1b6526e827542a0bd818f6d1bcb2b57",
  "page_model": {
    "artifacts": {
      "artifact_slug": "clawteam",
      "files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json",
        "REPO_INSPECTION.md",
        "CAPABILITY_CONTRACT.json",
        "EVIDENCE_INDEX.json",
        "CLAIM_GRAPH.json"
      ],
      "required_files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json"
      ]
    },
    "detail": {
      "capability_source": "Project Hit Packet + DownstreamValidationResult",
      "commands": [
        {
          "command": "pip install clawteam",
          "label": "Python / pip · 官方安装入口",
          "source": "https://github.com/HKUDS/ClawTeam#readme",
          "verified": true
        }
      ],
      "display_tags": [
        "浏览器 Agent",
        "网页任务自动化",
        "浏览器自动化",
        "断点恢复流程",
        "评测体系"
      ],
      "eyebrow": "软件开发与交付",
      "glance": [
        {
          "body": "判断自己是不是目标用户。",
          "label": "最适合谁",
          "value": "需要软件开发与交付能力，并使用 claude的用户"
        },
        {
          "body": "先理解能力边界，再决定是否继续。",
          "label": "核心价值",
          "value": "<h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>"
        },
        {
          "body": "未完成验证前保持审慎。",
          "label": "继续前",
          "value": "publish to Doramagic.ai project surfaces"
        }
      ],
      "guardrail_source": "Boundary & Risk Card",
      "guardrails": [
        {
          "body": "Prompt Preview 只展示流程，不证明项目已安装或运行。",
          "label": "Check 1",
          "value": "不要把试用当真实运行"
        },
        {
          "body": "claude, claude_code, cursor, chatgpt",
          "label": "Check 2",
          "value": "确认宿主兼容"
        },
        {
          "body": "publish to Doramagic.ai project surfaces",
          "label": "Check 3",
          "value": "先隔离验证"
        }
      ],
      "mode": "skill, recipe, host_instruction, eval, preflight",
      "pitfall_log": {
        "items": [
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_d8bd96f00b7c46c6813bc15c32a84625 | https://github.com/HKUDS/ClawTeam/issues/76 | 来源类型 github_issue 暴露的待验证使用条件。"
            ],
            "severity": "high",
            "suggested_check": "来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。",
            "title": "来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing",
            "user_impact": "可能影响授权、密钥配置或安全边界。"
          },
          {
            "body": "项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。",
            "category": "配置坑",
            "evidence": [
              "capability.host_targets | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | host_targets=claude, claude_code, cursor, chatgpt"
            ],
            "severity": "medium",
            "suggested_check": "列出会写入的配置文件、目录和卸载/回滚步骤。",
            "title": "可能修改宿主 AI 配置",
            "user_impact": "安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM plugin + reaction engine",
            "category": "配置坑",
            "evidence": [
              "community_evidence:github | cevd_114771b2a1474b358b05a6a9e61807f6 | https://github.com/HKUDS/ClawTeam/issues/157 | 来源类型 github_issue 暴露的待验证使用条件。"
            ],
            "severity": "medium",
            "suggested_check": "来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。",
            "title": "来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…",
            "user_impact": "可能增加新用户试用和生产接入成本。"
          },
          {
            "body": "README/documentation is current enough for a first validation pass.",
            "category": "能力坑",
            "evidence": [
              "capability.assumptions | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | README/documentation is current enough for a first validation pass."
            ],
            "severity": "medium",
            "suggested_check": "将假设转成下游验证清单。",
            "title": "能力判断依赖假设",
            "user_impact": "假设不成立时，用户拿不到承诺的能力。"
          },
          {
            "body": "未记录 last_activity_observed。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | last_activity_observed missing"
            ],
            "severity": "medium",
            "suggested_check": "补 GitHub 最近 commit、release、issue/PR 响应信号。",
            "title": "维护活跃度未知",
            "user_impact": "新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。"
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "downstream_validation.risk_items | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "进入安全/权限治理复核队列。",
            "title": "下游验证发现风险项",
            "user_impact": "下游已经要求复核，不能在页面中弱化。"
          },
          {
            "body": "No sandbox install has been executed yet; downstream must verify before user use.",
            "category": "安全/权限坑",
            "evidence": [
              "risks.safety_notes | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | No sandbox install has been executed yet; downstream must verify before user use."
            ],
            "severity": "medium",
            "suggested_check": "转成明确权限清单和安全审查提示。",
            "title": "存在安全注意事项",
            "user_impact": "用户安装前需要知道权限边界和敏感操作。"
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "risks.scoring_risks | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "把风险写入边界卡，并确认是否需要人工复核。",
            "title": "存在评分风险",
            "user_impact": "风险会影响是否适合普通用户安装。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Agent Definitions Feature is Non-Functional: Parsed but Not Applied",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_dc9ad856da7a4a828860da94afadc7ec | https://github.com/HKUDS/ClawTeam/issues/146 | 来源讨论提到 python 相关条件，需在安装/试用前复核。"
            ],
            "severity": "medium",
            "suggested_check": "来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。",
            "title": "来源证据：Agent Definitions Feature is Non-Functional: Parsed but Not Applied",
            "user_impact": "可能影响授权、密钥配置或安全边界。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_61dec732a08f4279a590654f0eecea51 | https://github.com/HKUDS/ClawTeam/issues/104 | 来源类型 github_issue 暴露的待验证使用条件。"
            ],
            "severity": "medium",
            "suggested_check": "来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。",
            "title": "来源证据：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches",
            "user_impact": "可能阻塞安装或首次运行。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Worker agents exit after first turn despite 'ongoing job' task prompt",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_26124d52e6d948b2bf15809390ef2589 | https://github.com/HKUDS/ClawTeam/issues/148 | 来源讨论提到 python 相关条件，需在安装/试用前复核。"
            ],
            "severity": "medium",
            "suggested_check": "来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。",
            "title": "来源证据：Worker agents exit after first turn despite 'ongoing job' task prompt",
            "user_impact": "可能影响授权、密钥配置或安全边界。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_63b04b7d23e74c71a8c1f8dddcaa9281 | https://github.com/HKUDS/ClawTeam/issues/45 | 来源讨论提到 node 相关条件，需在安装/试用前复核。"
            ],
            "severity": "medium",
            "suggested_check": "来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。",
            "title": "来源证据：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC",
            "user_impact": "可能影响授权、密钥配置或安全边界。"
          },
          {
            "body": "GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：v0.2.0 — Stabilization Release",
            "category": "安全/权限坑",
            "evidence": [
              "community_evidence:github | cevd_2aca0ffb17f94d8bb219737c9f275e7f | https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0 | 来源类型 github_release 暴露的待验证使用条件。"
            ],
            "severity": "medium",
            "suggested_check": "来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。",
            "title": "来源证据：v0.2.0 — Stabilization Release",
            "user_impact": "可能影响授权、密钥配置或安全边界。"
          },
          {
            "body": "issue_or_pr_quality=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | issue_or_pr_quality=unknown"
            ],
            "severity": "low",
            "suggested_check": "抽样最近 issue/PR，判断是否长期无人处理。",
            "title": "issue/PR 响应质量未知",
            "user_impact": "用户无法判断遇到问题后是否有人维护。"
          },
          {
            "body": "release_recency=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | release_recency=unknown"
            ],
            "severity": "low",
            "suggested_check": "确认最近 release/tag 和 README 安装命令是否一致。",
            "title": "发布节奏不明确",
            "user_impact": "安装命令和文档可能落后于代码，用户踩坑概率升高。"
          }
        ],
        "source": "ProjectPitfallLog + ProjectHitPacket + validation + community signals",
        "summary": "发现 15 个潜在踩坑项，其中 1 个为 high/blocking；最高优先级：安全/权限坑 - 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing。",
        "title": "踩坑日志"
      },
      "snapshot": {
        "contributors": null,
        "forks": null,
        "license": "unknown",
        "note": "站点快照，非实时质量证明；用于开工前背景判断。",
        "stars": null
      },
      "source_url": "https://github.com/HKUDS/ClawTeam",
      "steps": [
        {
          "body": "不安装项目，先体验能力节奏。",
          "code": "preview",
          "title": "先试 Prompt"
        },
        {
          "body": "理解输入、输出、失败模式和边界。",
          "code": "manual",
          "title": "读说明书"
        },
        {
          "body": "把上下文交给宿主 AI 继续工作。",
          "code": "context",
          "title": "带给 AI"
        },
        {
          "body": "进入主力环境前先完成安装入口与风险边界验证。",
          "code": "verify",
          "title": "沙箱验证"
        }
      ],
      "subtitle": "<h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>",
      "title": "ClawTeam 能力包",
      "trial_prompt": "# ClawTeam - Prompt Preview\n\n> Copy the prompt below into your AI host before installing anything.\n> Its purpose is to let you safely feel the project's workflow, not to claim the project has already run.\n\n## Copy this prompt\n\n```text\nYou are using an independent Doramagic capability pack for HKUDS/ClawTeam.\n\nProject:\n- Name: ClawTeam\n- Repository: https://github.com/HKUDS/ClawTeam\n- Summary: <h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>\n- Host target: claude, claude_code, cursor, chatgpt\n\nGoal:\nHelp me evaluate this project for the following task without installing it yet: <h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>\n\nBefore taking action:\n1. Restate my task, success standard, and boundary.\n2. Identify whether the next step requires tools, browser access, network access, filesystem access, credentials, package installation, or host configuration.\n3. Use only the Doramagic Project Pack, the upstream repository, and the source-linked evidence listed below.\n4. If a real command, install step, API call, file write, or host integration is required, mark it as \"requires post-install verification\" and ask for approval first.\n5. If evidence is missing, say \"evidence is missing\" instead of filling the gap.\n\nPreviewable capabilities:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCapabilities that require post-install verification:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCore service flow:\n1. page-introduction: Introduction to ClawTeam. Produce one small intermediate artifact and wait for confirmation.\n2. page-quickstart: Quick Start Guide. Produce one small intermediate artifact and wait for confirmation.\n3. page-architecture: System Architecture. Produce one small intermediate artifact and wait for confirmation.\n4. page-agent-spawning: Agent Spawning System. Produce one small intermediate artifact and wait for confirmation.\n5. page-task-management: Task Management System. Produce one small intermediate artifact and wait for confirmation.\n\nSource-backed evidence to keep in mind:\n- https://github.com/HKUDS/ClawTeam#readme\n- .agents/skills/clawteam-dev/SKILL.md\n- .agents/skills/frontend-design/SKILL.md\n- docs/skills/clawteam/SKILL.md\n- skills/clawteam/SKILL.md\n- README.md\n- clawteam/__init__.py\n- clawteam/identity.py\n- pyproject.toml\n- scripts/install_clawteam.sh\n\nFirst response rules:\n1. Start Step 1 only.\n2. Explain the one service action you will perform first.\n3. Ask exactly three questions about my target workflow, success standard, and sandbox boundary.\n4. Stop and wait for my answers.\n\nStep 1 follow-up protocol:\n- After I answer the first three questions, stay in Step 1.\n- Produce six parts only: clarified task, success standard, boundary conditions, two or three options, tradeoffs for each option, and one recommendation.\n- End by asking whether I confirm the recommendation.\n- Do not move to Step 2 until I explicitly confirm.\n\nConversation rules:\n- Advance one step at a time and wait for confirmation after each small artifact.\n- Write outputs as recommendations or planned checks, not as completed execution.\n- Do not claim tests passed, files changed, commands ran, APIs were called, or the project was installed.\n- If the user asks for execution, first provide the sandbox setup, expected output, rollback, and approval checkpoint.\n```\n",
      "voices": [
        {
          "body": "来源平台：github, x。github/github_issue: Proposal: 8-PR sequence — canonical WorkerState, persistent event log, p（https://github.com/HKUDS/ClawTeam/issues/157）；github/github_issue: Security testing for multi-agent swarms: agent isolation, delegation tru（https://github.com/HKUDS/ClawTeam/issues/76）；github/github_issue: Agent Definitions Feature is Non-Functional: Parsed but Not Applied（https://github.com/HKUDS/ClawTeam/issues/146）；github/github_issue: Worker agents exit after first turn despite 'ongoing job' task prompt（https://github.com/HKUDS/ClawTeam/issues/148）；github/github_issue: [Feature Request] Optimize Worker Workspace Size and Enable Headless IPC（https://github.com/HKUDS/ClawTeam/issues/45）；github/github_issue: High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetc（https://github.com/HKUDS/ClawTeam/issues/104）；github/github_release: v0.2.0 — Stabilization Release（https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0）；x: This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...（https://x.com/smratitiwa86867/status/2053078904131514835）；x: This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...（https://x.com/RamSingh_369/status/2053376331476500937）；x: This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...（https://x.com/RamSingh_369/status/2052615950047035852）；x: This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...（https://x.com/LearnWithBrij/status/2048309643060126180）；x: This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...（https://x.com/RamSingh_369/status/2053376331476500937/photo/1）。这些是项目级外部声音，不作为单独质量证明。",
          "items": [
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Proposal: 8-PR sequence — canonical WorkerState, persistent event log, p",
              "url": "https://github.com/HKUDS/ClawTeam/issues/157"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Security testing for multi-agent swarms: agent isolation, delegation tru",
              "url": "https://github.com/HKUDS/ClawTeam/issues/76"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Agent Definitions Feature is Non-Functional: Parsed but Not Applied",
              "url": "https://github.com/HKUDS/ClawTeam/issues/146"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Worker agents exit after first turn despite 'ongoing job' task prompt",
              "url": "https://github.com/HKUDS/ClawTeam/issues/148"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC",
              "url": "https://github.com/HKUDS/ClawTeam/issues/45"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetc",
              "url": "https://github.com/HKUDS/ClawTeam/issues/104"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "v0.2.0 — Stabilization Release",
              "url": "https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0"
            },
            {
              "kind": "searxng_indexed",
              "source": "x",
              "title": "This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...",
              "url": "https://x.com/smratitiwa86867/status/2053078904131514835"
            },
            {
              "kind": "searxng_indexed",
              "source": "x",
              "title": "This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...",
              "url": "https://x.com/RamSingh_369/status/2053376331476500937"
            },
            {
              "kind": "searxng_indexed",
              "source": "x",
              "title": "This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...",
              "url": "https://x.com/RamSingh_369/status/2052615950047035852"
            },
            {
              "kind": "searxng_indexed",
              "source": "x",
              "title": "This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...",
              "url": "https://x.com/LearnWithBrij/status/2048309643060126180"
            },
            {
              "kind": "searxng_indexed",
              "source": "x",
              "title": "This is the Claude Code Resource Bible. 54 tools. Agents. MCP ...",
              "url": "https://x.com/RamSingh_369/status/2053376331476500937/photo/1"
            }
          ],
          "status": "已收录 12 条来源",
          "title": "社区讨论"
        }
      ]
    },
    "homepage_card": {
      "category": "软件开发与交付",
      "desc": "<h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>",
      "effort": "安装已验证",
      "forks": null,
      "icon": "code",
      "name": "ClawTeam 能力包",
      "risk": "可发布",
      "slug": "clawteam",
      "stars": null,
      "tags": [
        "浏览器 Agent",
        "网页任务自动化",
        "浏览器自动化",
        "断点恢复流程",
        "评测体系"
      ],
      "thumb": "gray",
      "type": "Skill Pack"
    },
    "manual": {
      "markdown": "# https://github.com/HKUDS/ClawTeam 项目说明书\n\n生成时间：2026-05-17 05:40:48 UTC\n\n## 目录\n\n- [Introduction to ClawTeam](#page-introduction)\n- [Quick Start Guide](#page-quickstart)\n- [System Architecture](#page-architecture)\n- [Event System](#page-event-system)\n- [Agent Spawning System](#page-agent-spawning)\n- [Task Management System](#page-task-management)\n- [Team Management](#page-team-management)\n- [Transport Layer](#page-transport)\n- [Messaging & Inbox System](#page-messaging)\n- [Board & Monitoring Dashboard](#page-board-dashboard)\n\n<a id='page-introduction'></a>\n\n## Introduction to ClawTeam\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Quick Start Guide](#page-quickstart)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n- [clawteam/spawn/session_locators/claude.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/claude.py)\n</details>\n\n# Introduction to ClawTeam\n\nClawTeam is an agent swarm orchestration CLI designed to coordinate multiple coding agents—including Claude Code, Codex, OpenClaw, nanobot, and other terminal-native clients—from a single command-line interface. It serves as the coordination layer that enables agents to plan, delegate, and ship code together as a unified team.\n\n## Purpose and Scope\n\nClawTeam addresses a fundamental limitation in modern AI-assisted development: isolated agent sessions working independently without coordination. The platform provides:\n\n- **Team Management**: Create and manage teams of agents with designated leaders\n- **Task Coordination**: Shared task boards with dependency tracking and priority levels\n- **Inter-Agent Communication**: File-based inbox system for point-to-point and broadcast messaging\n- **Session Management**: Spawn, monitor, and lifecycle control of agent processes\n- **Context Injection**: Git-aware context tools for worktree isolation and overlap detection\n\n资料来源：[skills/clawteam/SKILL.md]()\n\n## Architecture Overview\n\nClawTeam follows a leader-worker architecture where one agent serves as the coordinator while others perform specialized tasks.\n\n```mermaid\ngraph TD\n    A[Leader Agent] --> B[Worker Agent 1]\n    A --> C[Worker Agent 2]\n    A --> D[Worker Agent N]\n    B --> E[Task Store]\n    C --> E\n    D --> E\n    A --> F[Message Inboxes]\n    B --> F\n    C --> F\n    D --> F\n    G[CLI Interface] --> A\n    G --> H[Board Dashboard]\n```\n\n### Core Components\n\n| Component | Description |\n|-----------|-------------|\n| **CLI Interface** | Command-line entry point for all operations |\n| **Team Manager** | Handles team creation, membership, and discovery |\n| **Task Store** | File-based task board with dependency chains |\n| **Message Inbox** | Per-agent file-based message queue |\n| **Spawn Backends** | tmux, subprocess, wsh for launching agents |\n| **Session Locators** | Detects and captures existing agent sessions |\n\n资料来源：[clawteam/team/tasks.py:1-12]()\n\n## Data Storage Model\n\nAll data is persisted in `~/.clawteam/` with a structured directory layout:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Task Management System\n\nTasks form the backbone of team coordination, supporting four distinct statuses:\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Not yet started |\n| `in_progress` | Currently being worked on |\n| `completed` | Done (auto-unblocks dependents) |\n| `blocked` | Waiting on other tasks |\n\n### Task Dependencies\n\nTasks support dependency chains through two parameters:\n\n- `--blocks`: Task IDs this task blocks upon completion\n- `--blocked-by`: Task IDs blocking this task from starting\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n```mermaid\ngraph LR\n    T1[Task 1: Design] --> T2[Task 2: Implement]\n    T2 --> T3[Task 3: Test]\n    T3 --> T4[Task 4: Deploy]\n    T1 -->|blocks| T2\n    T2 -->|blocks| T3\n    T3 -->|blocks| T4\n```\n\n## Message Types\n\nThe inbox system supports various message types for inter-agent communication:\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all members |\n| `join_request` | Request to join team |\n| `join_approved` / `join_rejected` | Join response |\n| `plan_approval_request` | Plan submitted for review |\n| `plan_approved` / `plan_rejected` | Plan response |\n| `shutdown_request` | Shutdown request |\n| `shutdown_approved` / `shutdown_rejected` | Shutdown response |\n| `idle` | Agent idle notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Spawn Backends\n\nClawTeam supports multiple spawn backends for launching agents:\n\n| Backend | Description |\n|---------|-------------|\n| `tmux` | Default backend, sessions in tmux panes |\n| `subprocess` | Direct subprocess spawning |\n| `wsh` | WebSocket handler for IDE integration |\n\nThe spawn command configures team environment variables for spawned agents:\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-30]()\n\n## Session Management\n\nFor Claude Code specifically, ClawTeam integrates with existing sessions:\n\n```python\n# Session capture flow from clawteam/spawn/session_locators/claude.py\nsession_id = str(uuid.uuid4())\nreturn PreparedSession(\n    command=[*command, \"--session-id\", session_id],\n    client=self.client,\n    session_id=session_id,\n    source=\"generated\",\n    confidence=\"exact\",\n    cwd=context.cwd,\n)\n```\n\nThe system can detect existing sessions via:\n- Environment variables (`CLAUDE_CODE_SESSION`, `CLAUDE_SESSION_ID`)\n- Project directory session files (`.jsonl` format)\n\n资料来源：[clawteam/spawn/session_locators/claude.py:1-60]()\n\n## Lifecycle Management\n\nAgents support a complete lifecycle for graceful shutdown:\n\n```mermaid\ngraph TD\n    A[Agent Running] --> B{Shutdown Request}\n    B -->|approve| C[Agent Shuts Down]\n    B -->|reject| D[Agent Continues]\n    A --> E[Idle Notification]\n    E --> F[Leader Reassigns Tasks]\n```\n\n### Lifecycle Commands\n\n| Command | Purpose |\n|---------|---------|\n| `lifecycle request-shutdown` | Request an agent to shut down |\n| `lifecycle approve-shutdown` | Agent agrees to shut down |\n| `lifecycle reject-shutdown` | Agent rejects shutdown request |\n| `lifecycle idle` | Send idle notification to leader |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Quick Start\n\n### Installation\n\n```bash\nclawteam --version  # Check if installed\npip install clawteam  # Requires Python 3.10+\n```\n\n### Create and Manage a Team\n\n```bash\n# Set agent identity\nexport CLAWTEAM_AGENT_ID=\"leader-001\"\nexport CLAWTEAM_AGENT_NAME=\"leader\"\nexport CLAWTEAM_AGENT_TYPE=\"leader\"\n\n# Spawn a team with leader\nclawteam team spawn-team my-team -d \"Project team\" -n leader\n\n# Create tasks\nclawteam task create my-team \"Design system\" -o leader\nclawteam task create my-team \"Implement feature\" -o worker1\nclawteam task create my-team \"Write tests\" -o worker2\n\n# View team board\nclawteam board show my-team\n```\n\n### Spawn Worker Agents\n\n```bash\nclawteam spawn tmux claude-code --team my-team --agent-name builder\nclawteam spawn tmux claude-code --team my-team --agent-name reviewer\n```\n\n资料来源：[skills/clawteam/SKILL.md]()\n\n## Board Dashboard\n\nThe board command provides team visibility through multiple views:\n\n| Command | Description |\n|---------|-------------|\n| `board show` | Detailed kanban board with message history |\n| `board overview` | Summary of all teams in table format |\n| `board live` | Live-refreshing kanban board with auto-refresh |\n\n```bash\n# JSON output for integration\nclawteam --json board show my-team\n\n# Live monitoring\nclawteam board live my-team --interval 2.0\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Identity System\n\nEach agent requires environment variables for identification within the team:\n\n```bash\neval $(clawteam identity set --agent-name alice --team dev-team)\n```\n\nThe identity system exposes:\n- `CLAWTEAM_AGENT_ID`: Unique identifier\n- `CLAWTEAM_AGENT_NAME`: Human-readable name\n- `CLAWTEAM_AGENT_TYPE`: Role classification (leader, general-purpose, etc.)\n\n资料来源：[clawteam/harness/context_recovery.py:1-40]()\n\n## Context Recovery\n\nThe harness system provides role-based context recovery for agents:\n\n```python\n# Layer 5: One-liner teammate summaries from context_recovery.py\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    from clawteam.team.tasks import TaskStore\n    store = TaskStore(team_name)\n    tasks = store.list_tasks()\n    # Group by owner, exclude self\n    owner_status: dict[str, tuple[int, int]] = {}\n```\n\nThis enables leaders to understand team workload distribution and assign tasks appropriately.\n\n资料来源：[clawteam/harness/context_recovery.py:40-70]()\n\n## See Also\n\n- [CLI Reference](skills/clawteam/references/cli-reference.md) - Complete command documentation\n- [SKILL.md](skills/clawteam/SKILL.md) - Comprehensive usage guide\n\n---\n\n<a id='page-quickstart'></a>\n\n## Quick Start Guide\n\n### 相关页面\n\n相关主题：[Introduction to ClawTeam](#page-introduction), [Agent Spawning System](#page-agent-spawning)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [README.md](https://github.com/HKUDS/ClawTeam/blob/main/README.md)\n- [pyproject.toml](https://github.com/HKUDS/ClawTeam/blob/main/pyproject.toml)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [clawteam/spawn/session_locators/claude.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/claude.py)\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n</details>\n\n# Quick Start Guide\n\nClawTeam is an agent swarm orchestration CLI that enables coordination of multiple coding agents (Claude Code, Codex, OpenClaw, nanobot, and any terminal-native client) from a single command-line interface. This guide walks you through installation, team creation, agent spawning, and basic coordination workflows.\n\n## Prerequisites\n\nBefore getting started with ClawTeam, ensure your environment meets the following requirements:\n\n| Requirement | Version/Details | Notes |\n|-------------|-----------------|-------|\n| Python | 3.10+ | Required runtime |\n| tmux | Latest | Default spawn backend |\n| Git | Any recent version | For worktree isolation and context features |\n| Coding Agent CLI | Claude, Codex, Gemini, etc. | At least one agent client installed |\n\n资料来源：[skills/clawteam/SKILL.md:20-30]()\n\n## Installation\n\n### Standard Installation\n\nInstall ClawTeam via pip:\n\n```bash\npip install clawteam\n```\n\n### Installation with P2P Transport Support\n\nFor peer-to-peer transport capabilities:\n\n```bash\npip install \"clawteam[p2p]\"\n```\n\n### Verify Installation\n\nConfirm ClawTeam is installed correctly:\n\n```bash\nclawteam --version\n```\n\n资料来源：[skills/clawteam/SKILL.md:12-18]()\n\n## Core Concepts\n\nUnderstanding these fundamental concepts is essential before creating your first agent team.\n\n### Teams\n\nTeams are named groups of agents with one designated leader and zero or more worker agents. The leader coordinates task distribution and monitors team progress. 资料来源：[skills/clawteam/SKILL.md:32]()\n\n### Tasks\n\nShared task board with status tracking:\n- `pending` — Not yet started\n- `in_progress` — Currently being worked on\n- `completed` — Done; auto-unblocks dependent tasks\n- `blocked` — Waiting on other tasks to complete\n\nTasks support dependency chains and priority levels (low, medium, high, urgent). 资料来源：[skills/clawteam/references/cli-reference.md:80-88]()\n\n### Inbox\n\nFile-based message queue per agent. Messages can be destructive (`receive`) or non-destructive (`peek`). 资料来源：[skills/clawteam/SKILL.md:34]()\n\n### Spawn Backends\n\nClawTeam supports multiple agent spawning backends:\n\n| Backend | Description | Use Case |\n|---------|-------------|----------|\n| `subprocess` | Spawns agent as subprocess | Simple local execution |\n| `tmux` | Spawns agent in tmux session | Persistent sessions with terminal access |\n| `wsh` | Windows Subsystem for Host | Windows environment support |\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-50]()\n\n## Step 1: Create a Team\n\n### Spawn a New Team\n\nCreate a team with a leader agent:\n\n```bash\nclawteam team spawn-team <team-name> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--description, -d` | Team description | `\"\"` |\n| `--agent-name, -n` | Leader agent name | `\"leader\"` |\n| `--agent-type` | Leader agent type | `\"leader\"` |\n\n**Example:**\n\n```bash\nclawteam team spawn-team dev-sprint -d \"Backend development team\" -n alice\n```\n\nThe team leader will automatically be registered in the system. 资料来源：[skills/clawteam/references/cli-reference.md:100-115]()\n\n### Verify Team Creation\n\nCheck team status and members:\n\n```bash\nclawteam team status <team-name>\n```\n\n### List Existing Teams\n\nDiscover all teams in the network:\n\n```bash\nclawteam team discover\n```\n\nOr get JSON output for scripting:\n\n```bash\nclawteam --json team discover\n```\n\nReturns: name, description, leadAgentId, memberCount for each team. 资料来源：[skills/clawteam/references/cli-reference.md:116-120]()\n\n## Step 2: Spawn Agents\n\n### Spawn an Agent into a Team\n\nAdd a worker agent to your team:\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n**Example:**\n\n```bash\nclawteam spawn tmux claude --team dev-sprint --agent-name builder --agent-type researcher\n```\n\nThis spawns Claude Code in a tmux session named `builder` and registers it with the `dev-sprint` team. 资料来源：[skills/clawteam/references/cli-reference.md:35-45]()\n\n### Agent Identity Setup\n\nFor spawned agents to operate within the team context, set identity environment variables:\n\n```bash\neval $(clawteam identity set --agent-name alice --team dev-team)\n```\n\nView current agent identity:\n\n```bash\nclawteam identity show\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:46-55]()\n\n## Step 3: Manage Tasks\n\n### Create a Task\n\n```bash\nclawteam task create <team> <subject> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--owner, -o` | Task owner | None |\n| `--description, -d` | Task description | None |\n| `--priority, -p` | Priority: low, medium, high, urgent | medium |\n| `--blocks` | Comma-separated task IDs this blocks | None |\n| `--blocked-by` | Comma-separated task IDs blocking this | None |\n\n**Example:**\n\n```bash\nclawteam task create dev-team \"Implement auth\" -o alice -d \"Add JWT authentication\"\n```\n\n### Update Task Status\n\n```bash\nclawteam task update <team> <task-id> [options]\n```\n\n| Option | Description |\n|--------|-------------|\n| `--status, -s` | New status: pending, in_progress, completed, blocked |\n| `--owner, -o` | New owner |\n| `--add-blocks` | Task IDs to add to blocks |\n| `--add-blocked-by` | Task IDs to add to blocked-by |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain). 资料来源：[skills/clawteam/references/cli-reference.md:60-80]()\n\n### List Team Tasks\n\n```bash\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n```\n\n## Team Workflow Example\n\n```mermaid\ngraph TD\n    A[Install ClawTeam] --> B[Spawn Team with Leader]\n    B --> C[Leader Creates Initial Tasks]\n    C --> D[Spawn Worker Agents]\n    D --> E[Workers Pick Tasks]\n    E --> F[Complete Task]\n    F --> G{Tasks Blocked?}\n    G -->|Yes| H[Wait for Blockers]\n    G -->|No| I[Mark Complete]\n    H --> I\n    I --> J{More Tasks?}\n    J -->|Yes| E\n    J -->|No| K[Idle Notification]\n```\n\n### Terminal Workflow Demo\n\nThe following demonstrates the typical CLI workflow:\n\n```bash\n$ clawteam team spawn-team docs-sprint\n✓ Team \"docs-sprint\" created\n\n$ clawteam spawn tmux claude-code --agent-name builder\n✓ Agent \"builder\" spawned in tmux\n\n$ clawteam team status docs-sprint\ndocs-sprint  3 agents active\n● T-001 Build landing page  done\n● T-002 Write API docs  active\n○ T-003 Review & merge  blocked\n```\n\n资料来源：[website/src/App.jsx:1-60]()\n\n## Lifecycle Management\n\n### Request Agent Shutdown\n\n```bash\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n```\n\n### Approve/Reject Shutdown\n\n```bash\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n```\n\n### Send Idle Notification\n\nWhen an agent has no more work:\n\n```bash\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\nThis notifies the team leader that the agent is available for new tasks. 资料来源：[skills/clawteam/references/cli-reference.md:130-150]()\n\n## Communication Between Agents\n\n### Message Types\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all team members |\n| `join_request` | Request to join team |\n| `join_approved` / `join_rejected` | Join response |\n\n### Send a Message\n\n```bash\nclawteam message send <team> <to-agent> <content>\n```\n\n### Join a Team\n\nRequest to join an existing team:\n\n```bash\nclawteam team request-join <team> <proposed-name> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--capabilities, -c` | Agent capabilities description | `\"\"` |\n| `--timeout, -t` | Timeout in seconds | 60 |\n\nThe leader can approve or reject the request:\n\n```bash\nclawteam team approve-join <team> <request-id> [--assigned-name NAME]\nclawteam team reject-join <team> <request-id>\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:25-30]()\n\n## Plan Submission and Approval\n\n### Submit a Plan\n\n```bash\nclawteam plan submit <team> <agent> <plan-content-or-file> [--summary TEXT]\n```\n\n### Approve/Reject a Plan\n\n```bash\nclawteam plan approve <team> <plan-id> <agent> [--feedback TEXT]\nclawteam plan reject <team> <plan-id> <agent> [--feedback TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:95-108]()\n\n## Session Persistence\n\nClawTeam handles session persistence for agents like Claude Code. When spawning an agent:\n\n1. If `--continue` or `-c` flag is used, the agent continues from its last session\n2. Otherwise, a new session ID is generated automatically\n3. Session state is captured and stored for future restoration\n\n```python\n# Session capture flow\nif prepared.session_id:\n    return CapturedSession(\n        session_id=prepared.session_id,\n        client=self.client,\n        source=prepared.source or \"prepared\",\n        confidence=prepared.confidence or \"exact\",\n        cwd=context.cwd,\n    )\nreturn self.current_session(context)\n```\n\n资料来源：[clawteam/spawn/session_locators/claude.py:30-45]()\n\n## Data Storage\n\nAll team data is stored in `~/.clawteam/` by default:\n\n| Data Type | Storage Location |\n|-----------|------------------|\n| Teams | `~/.clawteam/teams/` |\n| Tasks | `~/.clawteam/teams/<team>/tasks/` |\n| Messages | `~/.clawteam/teams/<team>/inbox/<agent>/` |\n| Sessions | `~/.clawteam/sessions/` |\n\nTask operations are backed by `FileTaskStore`:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\nfrom clawteam.store.file import FileTaskStore\n\nTaskStore = FileTaskStore\n```\n\n资料来源：[clawteam/team/tasks.py:1-20]()\n\n## Next Steps\n\n- Review the [CLI Reference](skills/clawteam/references/cli-reference.md) for complete command documentation\n- Explore [Git-aware execution](skills/clawteam/SKILL.md) features for repository integration\n- Configure [runtime profiles](skills/clawteam/SKILL.md) for different agent environments\n\n---\n\n<a id='page-architecture'></a>\n\n## System Architecture\n\n### 相关页面\n\n相关主题：[Introduction to ClawTeam](#page-introduction), [Transport Layer](#page-transport), [Event System](#page-event-system)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n</details>\n\n# System Architecture\n\n## Overview\n\nClawTeam is an agent swarm orchestration CLI that coordinates multiple coding agents (Claude Code, Codex, OpenClaw, nanobot, and any terminal-native client) from a single command-line interface. The system provides shared task graphs, persistent coordination, and git-aware execution across distributed agent workers.\n\nThe architecture follows a modular design with clear separation between spawning backends, team management, task storage, event handling, and transport layers. All data persists in `~/.clawteam/` by default, with support for P2P transport when agents operate on different machines.\n\n资料来源：[skills/clawteam/SKILL.md:1-15]()\n\n## High-Level Component Architecture\n\n```mermaid\ngraph TD\n    subgraph \"CLI Layer\"\n        CLI[clawteam CLI]\n    end\n    \n    subgraph \"Core Services\"\n        TM[Team Manager]\n        TS[Task Store]\n        EB[Event Bus]\n        TR[Transport Layer]\n    end\n    \n    subgraph \"Spawn Backends\"\n        TMUX[Tmux Backend]\n        WSH[Wsh Backend]\n        SUB[Subprocess Backend]\n    end\n    \n    subgraph \"Agent Runtime\"\n        AG1[Agent 1]\n        AG2[Agent 2]\n        AGn[Agent N]\n    end\n    \n    subgraph \"Data Storage\"\n        ST[Store - FileSystem]\n        IN[Inbox - per-agent]\n        TK[Tasks JSON]\n        PL[Plan Files]\n    end\n    \n    CLI --> TM\n    CLI --> TS\n    CLI --> EB\n    CLI --> TR\n    TM --> TS\n    TM --> EB\n    EB --> TR\n    TR --> AG1\n    TR --> AG2\n    AG1 --> ST\n    AG2 --> ST\n    ST --> IN\n    ST --> TK\n    ST --> PL\n```\n\n## Core Modules\n\n### Task Store Layer\n\nThe task storage system provides a persistent, file-based task management interface. The `TaskStore` class serves as the primary abstraction, with implementations supporting different storage backends.\n\n```mermaid\nclassDiagram\n    class BaseTaskStore {\n        <<abstract>>\n        +create_task(task) Task\n        +get_task(task_id) Task\n        +update_task(task_id, updates) Task\n        +list_tasks() List~Task~\n        +delete_task(task_id)\n        +acquire_lock(task_id) ContextManager\n        +release_lock(task_id)\n    }\n    \n    class FileTaskStore {\n        +_base_path: Path\n        +create_task(task) Task\n        +get_task(task_id) Task\n        +update_task(task_id, updates) Task\n        +list_tasks() List~Task~\n    }\n    \n    class TaskLockError {\n        +Exception\n    }\n    \n    BaseTaskStore <|-- FileTaskStore\n    BaseTaskStore -- TaskLockError\n```\n\n**Task Data Model**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Unique task identifier |\n| `subject` | string | Task title/summary |\n| `description` | string | Detailed task description |\n| `status` | enum | `pending`, `in_progress`, `completed`, `blocked` |\n| `owner` | string | Agent responsible for task |\n| `priority` | enum | `low`, `medium`, `high`, `urgent` |\n| `blocks` | list[string] | Task IDs this blocks |\n| `blocked_by` | list[string] | Task IDs blocking this |\n\n资料来源：[clawteam/team/tasks.py:1-15]()\n\n**Task Status Transitions**\n\n| Current Status | Valid Transitions | Auto-Behavior |\n|----------------|-------------------|---------------|\n| `pending` | `in_progress`, `blocked` | - |\n| `in_progress` | `completed`, `blocked` | - |\n| `completed` | - | Unblocks all dependent tasks |\n| `blocked` | `pending`, `in_progress` | Auto-unblock when blockers complete |\n\n资料来源：[skills/clawteam/references/cli-reference.md:85-100]()\n\n### Event Bus\n\nThe event system enables inter-agent communication through a pub-sub pattern. Events flow through the transport layer to reach individual agent inboxes.\n\n```mermaid\ngraph LR\n    A[Agent A] -->|publish| EB[Event Bus]\n    EB -->|deliver| IN1[Inbox A]\n    EB -->|deliver| IN2[Inbox B]\n    EB -->|deliver| INn[Inbox N]\n    \n    subgraph \"Message Types\"\n        MSG[message]\n        BC[broadcast]\n        JR[join_request]\n        PA[plan_approval_request]\n        SR[shutdown_request]\n        IDL[idle]\n    end\n    \n    EB -.->|routes| MSG\n    EB -.->|routes| BC\n    EB -.->|routes| JR\n    EB -.->|routes| PA\n    EB -.->|routes| SR\n    EB -.->|routes| IDL\n```\n\n**Supported Message Types**\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | point-to-point | General communication between agents |\n| `broadcast` | one-to-all | Announcements to entire team |\n| `join_request` | worker→leader | Request to join team |\n| `join_approved` / `join_rejected` | leader→worker | Join response |\n| `plan_approval_request` | worker→leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | leader→worker | Plan response |\n| `shutdown_request` | any→any | Request agent shutdown |\n| `shutdown_approved` / `shutdown_rejected` | any→any | Shutdown response |\n| `idle` | worker→leader | Agent has no more work |\n\n资料来源：[skills/clawteam/references/cli-reference.md:110-125]()\n\n### Spawn Backend System\n\nThe spawn system launches agent processes using configurable backends. Each backend implements a common interface for process management and runtime injection.\n\n**Backend Architecture**\n\n```mermaid\ngraph TD\n    subgraph \"Spawn Factory\"\n        SF[Backend Factory]\n    end\n    \n    SF --> TMUX[Tmux Backend]\n    SF --> WSH[Wsh Backend]\n    SF --> SUB[Subprocess Backend]\n    \n    subgraph \"Agent Lifecycle\"\n        LAUNCH[Launch]\n        MONITOR[Monitor]\n        INJECT[Inject Runtime]\n        TERMINATE[Terminate]\n    end\n    \n    TMUX --> LAUNCH\n    WSH --> LAUNCH\n    SUB --> LAUNCH\n    TMUX --> MONITOR\n    WSH --> MONITOR\n    SUB --> MONITOR\n    WSH --> INJECT\n    TMUX --> INJECT\n    SUB --> INJECT\n```\n\n**Spawn Command Parameters**\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n**Example Usage**\n\n```bash\nclawteam spawn tmux claude --team dev-team --agent-name builder --agent-type researcher\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:25-45]()\n\n### Wsh Backend Implementation\n\nThe WebSocket-based spawn backend (`wsh_backend.py`) provides runtime message injection into running agent sessions.\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running wsh block.\"\"\"\n    from clawteam.spawn.registry import get_registry\n\n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\") or self._blocks.get(agent_name, \"\")\n    if not block_id:\n        return False, f\"wsh block for '{team}/{agent_name}' not found\"\n    if not _is_block_alive(block_id):\n        return False, f\"wsh block '{block_id}' is not alive\"\n    # ... RPC client payload delivery\n```\n\n**Agent Registration Flow**\n\n1. Agent spawns with `team_name`, `agent_name`, `backend` type\n2. Backend calls `register_agent()` with metadata\n3. Spawn data persisted via `persist_spawned_session()`\n4. Agent entry stored in registry for runtime lookups\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-55]()\n\n## Data Storage Layout\n\nAll persistent data resides under `~/.clawteam/` with a structured directory hierarchy:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n**Inbox Operations**\n\n| Operation | Behavior |\n|-----------|----------|\n| `receive` | Destructive read - message removed after retrieval |\n| `peek` | Non-destructive read - message remains in inbox |\n\n## Team Structure\n\n```mermaid\ngraph TD\n    subgraph \"Team: dev-team\"\n        L[Leader Agent]\n        W1[Worker: alice]\n        W2[Worker: bob]\n        W3[Worker: charlie]\n        \n        L -->|manages| W1\n        L -->|manages| W2\n        L -->|manages| W3\n        \n        subgraph \"Shared Resources\"\n            TB[Task Board]\n            CH[Inbox Channel]\n            CT[Context]\n        end\n        \n        W1 --> TB\n        W2 --> TB\n        W3 --> TB\n        W1 --> CH\n        W2 --> CH\n        W3 --> CH\n    end\n```\n\n**Team Commands**\n\n| Command | Description |\n|---------|-------------|\n| `clawteam team spawn-team` | Create team and register leader |\n| `clawteam team discover` | List all existing teams |\n| `clawteam team status` | Show team configuration and members |\n| `clawteam team request-join` | Request to join a team |\n| `clawteam team approve-join` | Approve join request (leader only) |\n\n资料来源：[skills/clawteam/references/cli-reference.md:130-160]()\n\n## Context and Recovery System\n\nThe context recovery module provides role-specific context injection for agents operating within the harness system.\n\n**Role-Based Context Layers**\n\n| Role | Context Provided |\n|------|------------------|\n| `worker` | Sprint contract artifacts assigned to agent |\n| `evaluator` | Specification + all contract criteria |\n| `planner` | Spec draft for planning |\n\n```python\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    \"\"\"Layer 5: One-liner teammate summaries.\"\"\"\n    try:\n        from clawteam.team.tasks import TaskStore\n        store = TaskStore(team_name)\n        tasks = store.list_tasks()\n\n        # Group by owner, exclude self\n        owner_status: dict[str, tuple[int, int]] = {}\n        for t in tasks:\n            if t.owner and t.owner != agent_name:\n                done, total = owner_status.get(t.owner, (0, 0))\n                total += 1\n                if t.status == TaskStatus.COMPLETED:\n                    done += 1\n                owner_status[t.owner] = (done, total)\n    except Exception:\n        pass\n```\n\n资料来源：[clawteam/harness/context_recovery.py:1-75]()\n\n## Frontend Architecture\n\nThe website provides a browser-based dashboard for visualizing team state.\n\n```mermaid\ngraph LR\n    subgraph \"React Components\"\n        App[App.jsx]\n        TM[TerminalMockup]\n        HG[HalfGlobe]\n    end\n    \n    subgraph \"UI Sections\"\n        H[Hero]\n        F[Features]\n        W[Workflow]\n        D[Docs]\n    end\n    \n    subgraph \"Data Display\"\n        TL[Terminal Output]\n        KB[Kanban Board]\n        ST[Status Grid]\n    end\n    \n    App --> TM\n    App --> HG\n    TM --> TL\n    H --> KB\n    F --> ST\n    W --> D\n```\n\n**Terminal Mockup Features**\n\n- Real-time team status display\n- Agent spawn simulation\n- Task progress visualization with status badges\n- Animated cursor for active states\n\n资料来源：[website/src/App.jsx:1-100]()\n\n## Communication Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant W1 as Worker Alice\n    participant W2 as Worker Bob\n    participant T as TaskStore\n    participant I as Inbox\n    \n    W1->>L: request-join(team, \"alice\")\n    L->>T: create_task()\n    L->>W1: join_approved\n    W1->>T: update_task(status=in_progress)\n    W1->>L: plan_approval_request\n    L->>W1: plan_approved\n    W1->>T: update_task(status=completed)\n    T->>W2: unblock(task_id)\n    W2->>L: idle(last_task=T-001)\n```\n\n## Key Dependencies\n\n| Component | Dependencies | Purpose |\n|-----------|-------------|---------|\n| Task Store | `clawteam/store/base.py` | Abstract store interface |\n| Spawn Backends | `tmux`, `wsh` | Process management |\n| Event Bus | File system / P2P | Inter-agent messaging |\n| CLI | Click/Typer | Command parsing |\n| Context | Git worktrees | Repository awareness |\n\n资料来源：[skills/clawteam/SKILL.md:1-40]()\n\n## Summary\n\nClawTeam's architecture centers on three pillars:\n\n1. **Team Coordination** - Leader-based hierarchy with worker registration and task distribution\n2. **Persistent Storage** - File-based task boards, inboxes, and plans under `~/.clawteam/`\n3. **Flexible Spawning** - Pluggable backends (tmux, subprocess, wsh) for agent lifecycle management\n\nThe system is designed for git-aware, multi-agent development workflows where agents share task context, communicate via typed messages, and maintain independent worktree isolation.\n\n---\n\n<a id='page-event-system'></a>\n\n## Event System\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Team Management](#page-team-management)\n\n<details>\n<summary>Relevant Source Files</summary>\n\nThe following source files are listed as relevant for generating this page, but **were not present in the retrieved repository context**:\n\n- [clawteam/events/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/__init__.py)\n- [clawteam/events/bus.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/bus.py)\n- [clawteam/events/global_bus.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/global_bus.py)\n- [clawteam/events/types.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/types.py)\n- [clawteam/events/hooks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/hooks.py)\n\nThe following files from the provided context were used to derive event-related information:\n\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n\n</details>\n\n# Event System\n\n> ⚠️ **Documentation Notice**: This page documents the Event System based on available repository context. The core event system source files (`clawteam/events/*.py`) were not available in the retrieved context. This page derives event system behavior from CLI reference documentation and related modules.\n\n## Overview\n\nThe Event System in ClawTeam provides the inter-agent communication backbone that enables coordination between multiple autonomous agents in a team. Rather than exposing a standalone event bus API, ClawTeam integrates event-driven communication through its messaging infrastructure, task lifecycle hooks, and board system.\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Message Types\n\nThe system defines several message/event types that flow between team members. These types represent the different categories of communication that agents use to coordinate.\n\n| Message Type | Description |\n|--------------|-------------|\n| `message` | General point-to-point message between agents |\n| `broadcast` | Broadcast message to all team members |\n| `join_request` | Request sent by an agent wanting to join the team |\n| `join_approved` / `join_rejected` | Response from team leader regarding join request |\n| `plan_approval_request` | Plan submitted by agent for leader review |\n| `plan_approved` / `plan_rejected` | Leader's decision on a submitted plan |\n| `shutdown_request` | Request to terminate an agent |\n| `shutdown_approved` / `shutdown_rejected` | Response to shutdown request |\n| `idle` | Notification sent when an agent has no more work |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Task Status Events\n\nTask state transitions trigger automatic event behavior. When a task status changes, the system automatically propagates effects to dependent tasks.\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Task not yet started |\n| `in_progress` | Task currently being worked on |\n| `completed` | Task done — auto-unblocks dependent tasks |\n| `blocked` | Task waiting on other tasks to complete |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Inter-Agent Communication Flow\n\n```mermaid\ngraph TD\n    A[Agent] -->|message| B[Team Inbox]\n    A -->|broadcast| C[All Members]\n    A -->|join_request| D[Leader]\n    D -->|join_approved| A\n    A -->|plan_approval_request| D\n    D -->|plan_approved<br>plan_rejected| A\n    A -->|shutdown_request| E[Target Agent]\n    E -->|shutdown_approved<br>shutdown_rejected| A\n    A -->|idle| D\n```\n\n## Board and Inbox Architecture\n\nThe board system serves as the persistent event store, maintaining message history and team state.\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n### Board Show Command\n\nThe `board show` command displays team board data with member-aware message aliases:\n\n```bash\nclawteam board show <team>\nclawteam --json board show <team>\n```\n\nRecent board payloads include:\n- `memberKey` — identifies team member\n- `inboxName` — target inbox identifier\n- `fromLabel` / `toLabel` — message source and destination\n\nThese fields are used by the browser board to filter inbox history.\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Lifecycle Event Commands\n\nThe CLI provides commands for managing agent lifecycle events:\n\n### Idle Notification\n\nSend when an agent has no more work:\n\n```bash\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\n### Shutdown Sequence\n\n```bash\n# Request shutdown\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n\n# Accept shutdown\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\n\n# Reject shutdown\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Plan Submission Events\n\nAgents submit plans for leader approval, creating an approval workflow:\n\n```mermaid\nsequenceDiagram\n    Agent->>Leader: plan submit <team> <agent> <plan-content>\n    Note over Leader: Reviews plan\n    Leader->>Agent: plan approve <team> <plan-id> <agent>\n    Note over Agent: Plan approved, proceed with work\n```\n\n### Plan Commands\n\n```bash\n# Submit a plan\nclawteam plan submit <team> <agent> <plan-content-or-file> [--summary TEXT]\n\n# Approve a plan\nclawteam plan approve <team> <plan-id> <agent> [--feedback TEXT]\n\n# Reject a plan\nclawteam plan reject <team> <plan-id> <agent> [--feedback TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Context Recovery Hooks\n\nThe harness system integrates with the event system through context recovery hooks that provide role-aware information to agents:\n\n```python\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    \"\"\"Layer 5: One-liner teammate summaries.\"\"\"\n    from clawteam.team.models import TaskStatus\n    from clawteam.team.tasks import TaskStore\n    store = TaskStore(team_name)\n    tasks = store.list_tasks()\n```\n\n资料来源：[clawteam/harness/context_recovery.py:53-59]()\n\nDifferent roles receive different context:\n\n| Role | Context Provided |\n|------|------------------|\n| `executor` | Sprint contract artifact containing their assignment |\n| `evaluator` | Full spec.md content and all contract criteria |\n| `planner` | Spec draft content for planning purposes |\n\n资料来源：[clawteam/harness/context_recovery.py:31-47]()\n\n## Spawn Backend Event Integration\n\nThe wsh backend demonstrates how spawned agents integrate with the event system for runtime message injection:\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running wsh block.\"\"\"\n    from clawteam.spawn.registry import get_registry\n\n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\") or self._blocks.get(agent_name, \"\")\n    if not block_id:\n        return False, f\"wsh block for '{team}/{agent_name}' not found\"\n```\n\nThe spawn registry tracks agent metadata (`team_name`, `agent_name`, `backend`, `block_id`, `pid`, `command`) enabling the event system to route messages to correct agent processes.\n\n资料来源：[clawteam/spawn/wsh_backend.py:52-61]()\n\n## See Also\n\n- [CLI Reference](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md) — Complete command documentation\n- [Task System](../team/tasks) — Task management and dependencies\n- [Spawn System](../spawn/index) — Agent spawning and backend management\n\n---\n\n<a id='page-agent-spawning'></a>\n\n## Agent Spawning System\n\n### 相关页面\n\n相关主题：[Quick Start Guide](#page-quickstart), [Team Management](#page-team-management)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/spawn/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/__init__.py)\n- [clawteam/spawn/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/base.py)\n- [clawteam/spawn/adapters.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/adapters.py)\n- [clawteam/spawn/tmux_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/tmux_backend.py)\n- [clawteam/spawn/subprocess_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/subprocess_backend.py)\n- [clawteam/spawn/profiles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/profiles.py)\n- [clawteam/spawn/presets.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/presets.py)\n- [clawteam/spawn/prompt.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/prompt.py)\n- [clawteam/spawn/sessions.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/sessions.py)\n- [clawteam/spawn/session_locators/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/base.py)\n</details>\n\n# Agent Spawning System\n\nThe Agent Spawning System is the core infrastructure in ClawTeam responsible for launching, managing, and coordinating multiple AI agent processes. It provides a unified interface to spawn various CLI-based agents (such as Claude Code, Codex, Gemini, nanobot, and OpenClaw) within a team context, handling environment setup, session persistence, and lifecycle management.\n\n## Architecture Overview\n\nThe spawning system follows a pluggable backend architecture that abstracts the underlying execution environment. This design allows ClawTeam to support multiple execution backends while presenting a consistent API to the rest of the system.\n\n```mermaid\ngraph TD\n    A[CLI Command: clawteam spawn] --> B[SpawnCommand Handler]\n    B --> C[Backend Factory]\n    C --> D[subprocess Backend]\n    C --> E[tmux Backend]\n    C --> F[wsh Backend]\n    D --> G[Agent Process]\n    E --> H[tmux Session]\n    F --> I[wsh Block]\n    G --> J[Session Store]\n    H --> J\n    I --> J\n    J --> K[Registry]\n    K --> L[Team Coordination]\n```\n\n## Core Components\n\n### Spawn Backends\n\nThe system supports three execution backends, each providing different isolation and management capabilities:\n\n| Backend | Description | Use Case |\n|---------|-------------|----------|\n| `subprocess` | Direct child process management | Simple single-agent scenarios |\n| `tmux` | Terminal multiplexer sessions | Persistent sessions with attach capability |\n| `wsh` | weish block isolation | Isolated workspace blocks |\n\n#### Base Backend Interface\n\nAll backends implement a common interface defined in `base.py`:\n\n```python\nclass SpawnBackend(ABC):\n    @abstractmethod\n    def spawn(\n        self,\n        command: list[str],\n        team_name: str,\n        agent_name: str,\n        agent_type: str,\n        cwd: str | None = None,\n        env: dict[str, str] | None = None,\n        **kwargs\n    ) -> str:\n        \"\"\"Spawn an agent process and return result message.\"\"\"\n        pass\n    \n    @abstractmethod\n    def list_running(self) -> list[dict[str, str]]:\n        \"\"\"List currently running agents.\"\"\"\n        pass\n    \n    @abstractmethod\n    def inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n        \"\"\"Inject a runtime notification into a running agent.\"\"\"\n        pass\n```\n\n资料来源：[clawteam/spawn/base.py:1-50]()\n\n### Agent Registry\n\nWhen an agent is spawned, it is registered in a centralized registry that tracks all active agents per team:\n\n```python\nfrom clawteam.spawn.registry import register_agent\n\nregister_agent(\n    team_name=team_name,\n    agent_name=agent_name,\n    backend=\"tmux\",\n    block_id=session_name,\n    pid=process.pid,\n    command=list(final_command),\n)\n```\n\n资料来源：[clawteam/spawn/tmux_backend.py](), [clawteam/spawn/wsh_backend.py:1-50]()\n\nThe registry maintains the following information per agent:\n- `team_name`: The team the agent belongs to\n- `agent_name`: Unique identifier within the team\n- `backend`: Backend type (subprocess/tmux/wsh)\n- `block_id` / `session_name`: Backend-specific identifier\n- `pid`: Process ID (for subprocess backend)\n- `command`: Original spawn command\n\n## Spawn Command Interface\n\n### CLI Syntax\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n### Command Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n### Example Usage\n\n```bash\n# Spawn Claude Code agent in tmux\nclawteam spawn tmux claude --team dev-team --agent-name builder --agent-type researcher\n\n# Spawn in subprocess backend\nclawteam spawn subprocess claude-code --team analysis --agent-name analyzer\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](), [clawteam/cli/commands.py]()\n\n## Agent Identity System\n\nWhen spawning an agent, the system automatically configures environment variables that establish the agent's identity within the team:\n\n```bash\nexport CLAWTEAM_AGENT_ID=\"<auto-generated-uuid>\"\nexport CLAWTEAM_AGENT_NAME=\"<agent-name>\"\nexport CLAWTEAM_AGENT_TYPE=\"<agent-type>\"\nexport CLAWTEAM_TEAM_NAME=\"<team-name>\"\n```\n\nAgents can verify their identity using:\n\n```bash\nclawteam identity show\n```\n\n资料来源：[clawteam/cli/commands.py](), [skills/clawteam/references/cli-reference.md]()\n\n## Session Management\n\n### Session Persistence\n\nThe system tracks agent sessions to enable resume functionality:\n\n```python\nfrom clawteam.spawn.sessions import SessionStore\n\nsession_store = SessionStore(team_name)\nsession = session_store.load(agent_name)\n\nif session and session.session_id:\n    resumed_command = build_cli_resume_command(command, session.session_id, client=client)\n```\n\n资料来源：[clawteam/spawn/sessions.py](), [clawteam/spawn/session_capture.py]()\n\n### Session Lifecycle\n\n```mermaid\ngraph LR\n    A[Spawn] --> B[Create Session]\n    B --> C[Store in SessionStore]\n    C --> D[Execute Agent]\n    D --> E[Agent Completes]\n    E --> F[Session Archived]\n    F --> G[Resume Available]\n    G --> H[Resume Command]\n    H --> D\n```\n\n### Session Locators\n\nSession locators find existing sessions across different backends:\n\n```python\nfrom clawteam.spawn.session_locators.base import SessionLocator\n\nclass SessionLocator(ABC):\n    @abstractmethod\n    def find_session(self, team: str, agent: str) -> SessionInfo | None:\n        \"\"\"Locate an existing session for the given team/agent.\"\"\"\n        pass\n```\n\n资料来源：[clawteam/spawn/session_locators/base.py]()\n\n## Profile and Preset System\n\n### Profiles\n\nProfiles are reusable configurations that define how agents should be spawned:\n\n```bash\n# List available profiles\nclawteam profile list\n\n# Test a profile\nclawteam profile test claude-kimi\n\n# Generate profile from preset\nclawteam preset generate-profile moonshot-cn claude --name claude-kimi\n```\n\n资料来源：[clawteam/spawn/profiles.py](), [skills/clawteam/SKILL.md]()\n\n### Presets\n\nPresets are provider templates used to generate profiles:\n\n| Preset | Provider |\n|--------|----------|\n| `moonshot-cn` | Moonshot CN |\n| `claude` | Anthropic Claude |\n| `openai` | OpenAI |\n| Custom | User-defined |\n\n```bash\n# List presets\nclawteam preset list\n\n# Show preset details\nclawteam preset show moonshot-cn\n```\n\n资料来源：[clawteam/spawn/presets.py](), [skills/clawteam/references/workflows.md]()\n\n## Prompt Generation\n\nWhen spawning an agent, ClawTeam generates a comprehensive system prompt that includes identity information, task details, and coordination instructions:\n\n```python\nfrom clawteam.spawn.prompt import build_agent_prompt\n\nprompt = build_agent_prompt(\n    agent_name=agent_name,\n    agent_id=agent_id,\n    agent_type=agent_type,\n    team_name=team_name,\n    leader_name=leader_name,\n    task=task,\n    user=user_name,\n    workspace_dir=cwd,\n    workspace_branch=ws_branch,\n    isolated_workspace=bool(workspace and cwd),\n    repo_path=repo,\n)\n```\n\n资料来源：[clawteam/spawn/prompt.py](), [clawteam/cli/commands.py]()\n\n### Prompt Components\n\nThe generated prompt includes:\n1. **Identity block**: Agent name, ID, type, and team\n2. **Task description**: Assigned work from the team leader\n3. **Coordination guide**: How to use ClawTeam CLI for task updates\n4. **Workspace context**: Directory, branch, git state\n\n## Skill Loading\n\nAgents can be spawned with predefined skills loaded from `~/.claude/skills/`:\n\n```python\ndef _load_skill_content(name: str) -> str | None:\n    \"\"\"Load skill content from ~/.claude/skills.\"\"\"\n    skills_root = Path.home() / \".claude\" / \"skills\"\n    skill_dir = skills_root / name\n    \n    # Support both directory and single-file formats\n    if skill_dir.is_dir():\n        skill_file = skill_dir / \"SKILL.md\"\n        # Fallback to first .md file\n    else:\n        single_file = skills_root / f\"{name}.md\"\n```\n\n资料来源：[clawteam/cli/commands.py]()\n\n### Supported Skill Formats\n\n- Directory format: `skills/<name>/SKILL.md`\n- Single file format: `skills/<name>.md`\n\n## Runtime Message Injection\n\nThe system supports injecting runtime notifications into running agents:\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running agent.\"\"\"\n    from clawteam.spawn.registry import get_registry\n    \n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\")\n    \n    if not block_id:\n        return False, f\"Agent '{team}/{agent_name}' not found\"\n    \n    # Render and send notification\n    payload = render_runtime_notification(envelope)\n```\n\n资料来源：[clawteam/spawn/wsh_backend.py](), [clawteam/spawn/base.py]()\n\n## Team Template Launch\n\nFor complex multi-agent scenarios, ClawTeam supports launching entire teams from templates:\n\n```bash\nclawteam launch <template> <backend> [options]\n```\n\n### Launch Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | From template |\n| `--user, -u` | User name | Current user |\n| `--workspace` | Workspace directory | Current directory |\n| `--repo` | Repository path | None |\n| `--isolated` | Isolated workspaces | False |\n\n### Template Structure\n\n```python\nteam_template = {\n    \"name\": \"dev-team\",\n    \"leader\": {\"name\": \"leader\", \"type\": \"leader\"},\n    \"members\": [\n        {\"name\": \"researcher\", \"type\": \"researcher\"},\n        {\"name\": \"coder\", \"type\": \"general-purpose\"},\n    ]\n}\n```\n\n资料来源：[clawteam/cli/commands.py](), [skills/clawteam/SKILL.md]()\n\n## Backend-Specific Details\n\n### TMUX Backend\n\nThe tmux backend creates named sessions for each agent:\n\n```bash\ntmux new-session -d -s clawteam-{team}-{agent} \"{command}\"\ntmux attach -t clawteam-{team}-{agent}\n```\n\nSessions are named using pattern: `clawteam-{team_name}-{agent_name}`\n\n资料来源：[clawteam/spawn/tmux_backend.py]()\n\n### Subprocess Backend\n\nThe subprocess backend provides direct process management:\n\n```python\nprocess = subprocess.Popen(\n    command,\n    env=full_env,\n    cwd=cwd,\n    stdout=subprocess.PIPE,\n    stderr=subprocess.STDOUT,\n)\n```\n\n资料来源：[clawteam/spawn/subprocess_backend.py]()\n\n### WSH Backend\n\nThe weish backend provides block-based isolation:\n\n```python\npane_id = spawn_wsh_block(\n    target=target,\n    command=final_command,\n    title=agent_name,\n)\n```\n\n资料来源：[clawteam/spawn/wsh_backend.py]()\n\n## Configuration Files\n\n### Profile Configuration\n\nProfiles are stored in JSON format:\n\n```json\n{\n  \"name\": \"claude-kimi\",\n  \"provider\": \"moonshot-cn\",\n  \"api_key_env\": \"MOONSHOT_API_KEY\",\n  \"model\": \"claude-3-5-sonnet\",\n  \"spawn_options\": {\n    \"backend\": \"tmux\",\n    \"agent_type\": \"general-purpose\"\n  }\n}\n```\n\n### Preset Configuration\n\nPresets define provider templates:\n\n```json\n{\n  \"name\": \"moonshot-cn\",\n  \"provider\": \"openai-compatible\",\n  \"base_url\": \"https://api.moonshot.cn/v1\",\n  \"models\": [\"claude-3-5-sonnet\", \"claude-3-sonnet\"]\n}\n```\n\n资料来源：[clawteam/spawn/profiles.py](), [clawteam/spawn/presets.py]()\n\n## Error Handling\n\n### Common Errors and Solutions\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `Backend not found` | Invalid backend name | Use `tmux`, `subprocess`, or `wsh` |\n| `Team not found` | Team doesn't exist | Create team with `clawteam team spawn-team` |\n| `Agent name conflict` | Agent already exists | Use unique name or `--force` flag |\n| `Permission denied` | tmux/socket access | Check user permissions |\n\n### Spawn Hint System\n\nThe CLI provides contextual hints when arguments are misordered:\n\n```python\ndef _spawn_hint(backend: str | None, team: str | None) -> str:\n    \"\"\"Provide helpful hint when spawn positional args are misordered.\"\"\"\n    if not backend or team:\n        return \"\"\n    return (\n        \" Hint: the first positional argument to `clawteam spawn` is the backend \"\n        \"(`tmux` or `subprocess`), not the team name. Use `--team <name>` to set \"\n        \"the team explicitly.\"\n    )\n```\n\n资料来源：[clawteam/cli/commands.py]()\n\n## Workflow Diagram\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant CLI\n    participant Backend\n    participant Registry\n    participant Agent\n\n    User->>CLI: clawteam spawn tmux claude --team dev --name worker1\n    CLI->>Backend: spawn(command, team, agent)\n    Backend->>Backend: Setup environment\n    Backend->>Backend: Create tmux session\n    Backend->>Agent: Launch agent process\n    Backend->>Registry: register_agent(...)\n    Registry-->>CLI: Agent registered\n    CLI-->>User: \"Agent 'worker1' spawned in tmux\"\n    Agent->>Agent: Read identity env vars\n    Agent->>Agent: Execute assigned task\n```\n\n## Best Practices\n\n1. **Use descriptive agent names**: Makes tracking and debugging easier\n2. **Set appropriate agent types**: Enables role-based task assignment\n3. **Use tmux backend for persistence**: Allows attaching to view progress\n4. **Leverage profiles**: Reuse configurations across multiple spawns\n5. **Use session resume**: Maintain continuity across agent restarts\n\n## See Also\n\n- [CLI Reference](skills/clawteam/references/cli-reference.md) - Full command documentation\n- [Workflows](skills/clawteam/references/workflows.md) - Common usage patterns\n- [Team Management](skills/clawteam/references/cli-reference.md#team-commands) - Team operations\n\n---\n\n<a id='page-task-management'></a>\n\n## Task Management System\n\n### 相关页面\n\n相关主题：[Agent Spawning System](#page-agent-spawning), [Messaging & Inbox System](#page-messaging), [Board & Monitoring Dashboard](#page-board-dashboard)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/team/models.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/models.py)\n- [clawteam/store/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/base.py)\n- [clawteam/store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py)\n- [clawteam/mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py)\n- [clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n</details>\n\n# Task Management System\n\n## Overview\n\nThe Task Management System is the core orchestration layer within ClawTeam that enables multi-agent teams to create, track, assign, and coordinate work items across collaborative agent swarms. It provides a task store abstraction with file-based persistence, supporting task dependencies, priority levels, status tracking, and automatic unblocking when dependent tasks complete.\n\n**资料来源：** [clawteam/team/tasks.py:1-17](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## Architecture\n\n### High-Level Component Diagram\n\n```mermaid\ngraph TD\n    subgraph \"CLI Layer\"\n        CLI[clawteam CLI Commands]\n    end\n    \n    subgraph \"Task Management\"\n        TaskStore[TaskStore<br/>Compatibility Shim]\n        BaseTaskStore[BaseTaskStore<br/>Abstract Interface]\n        FileTaskStore[FileTaskStore<br/>File-based Implementation]\n    end\n    \n    subgraph \"MCP Integration\"\n        MCPTools[clawteam/mcp/tools/task.py]\n    end\n    \n    subgraph \"Storage\"\n        FS[~/.clawteam/tasks/{team}/<br/>task-{id}.json]\n    end\n    \n    CLI --> TaskStore\n    MCPTools --> TaskStore\n    TaskStore --> BaseTaskStore\n    FileTaskStore -->|inherits| BaseTaskStore\n    FileTaskStore --> FS\n```\n\n### Task Store Abstraction\n\nThe system uses a compatibility shim pattern where `clawteam/team/tasks.py` preserves the historic import path while delegating to the modern store implementation:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\nfrom clawteam.store.file import FileTaskStore\n\nTaskStore = FileTaskStore\n```\n\n**资料来源：** [clawteam/team/tasks.py:9-16](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## Data Models\n\n### Task Model Fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Unique task identifier (auto-generated) |\n| `subject` | string | Task title/summary |\n| `description` | string | Detailed task description |\n| `status` | TaskStatus | Current state (pending/in_progress/completed/blocked) |\n| `owner` | string | Agent name assigned to the task |\n| `priority` | string | Priority level (low/medium/high/urgent) |\n| `blocks` | list[string] | Task IDs that this task blocks when completed |\n| `blocked_by` | list[string] | Task IDs that must complete before this can start |\n| `created_at` | timestamp | Creation timestamp |\n| `updated_at` | timestamp | Last modification timestamp |\n\n**资料来源：** [clawteam/team/models.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/models.py)\n\n### Task Statuses\n\n| Status | Value | Description |\n|--------|-------|-------------|\n| `pending` | `pending` | Not yet started |\n| `in_progress` | `in_progress` | Currently being worked on |\n| `completed` | `completed` | Done (auto-unblocks dependents) |\n| `blocked` | `blocked` | Waiting on other tasks |\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### Task Priority Levels\n\n| Priority | Description |\n|----------|-------------|\n| `low` | Non-critical work |\n| `medium` | Standard priority |\n| `high` | Important work |\n| `urgent` | Immediate attention required |\n\n---\n\n## Storage Layer\n\n### File Storage Layout\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### TaskStore Implementation\n\nThe `FileTaskStore` provides concrete implementation extending `BaseTaskStore`:\n\n- **Persistence**: Tasks stored as individual JSON files named `task-{id}.json`\n- **Team Isolation**: Each team has its own subdirectory under `~/.clawteam/tasks/`\n- **Task Locking**: Uses `TaskLockError` for concurrent access control\n\n**资料来源：** [clawteam/store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py)\n\n---\n\n## Task Dependencies\n\n### Dependency Model\n\n```mermaid\ngraph LR\n    A[Task A<br/>Design API] -->|blocks| B[Task B<br/>Implement Backend]\n    A -->|blocks| C[Task C<br/>Build Frontend]\n    B -->|blocks| D[Task D<br/>Integration Testing]\n    C -->|blocks| D\n    \n    style A fill:#90EE90\n    style B fill:#FFD700\n    style C fill:#FFD700\n    style D fill:#FFA500\n```\n\n### Automatic Unblocking\n\nWhen a task is marked `completed`, the system automatically unblocks any tasks that were waiting on it:\n\n```\nTask A marked completed → Tasks B and C auto-transition from blocked → pending\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n---\n\n## CLI Commands\n\n### Task Create\n\n```bash\nclawteam task create <team> <subject> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--owner, -o` | Agent assigned to this task | `None` |\n| `--description, -d` | Detailed description | `\"\"` |\n| `--priority, -p` | Priority level | `\"medium\"` |\n| `--blocks` | Comma-separated task IDs this blocks | `None` |\n| `--blocked-by` | Comma-separated task IDs blocking this | `None` |\n\n**Example:**\n```bash\nclawteam task create dev-team \"Implement auth\" -o alice -d \"Add JWT authentication\"\n```\n\n**资料来源：** [clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n### Task Get\n\nRetrieve a single task by ID:\n\n```bash\nclawteam task get <team> <task-id>\n```\n\n### Task Update\n\nUpdate task properties:\n\n```bash\nclawteam task update <team> <task-id> [options]\n```\n\n| Option | Description |\n|--------|-------------|\n| `--status, -s` | New status: `pending`, `in_progress`, `completed`, `blocked` |\n| `--owner, -o` | New owner |\n| `--subject` | New subject |\n| `--description, -d` | New description |\n| `--priority, -p` | New priority: `low`, `medium`, `high`, `urgent` |\n| `--add-blocks` | Comma-separated task IDs to add to blocks |\n| `--add-blocked-by` | Comma-separated task IDs to add to blocked-by |\n| `--force, -f` | Force override task lock |\n\n### Task List\n\nList all tasks for a team with optional filters:\n\n```bash\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n---\n\n## MCP Tool Integration\n\nThe MCP (Model Context Protocol) layer exposes task operations to AI agents:\n\n```python\n# Pseudo-structure from clawteam/mcp/tools/task.py\n- task_create_tool()   # Create tasks via MCP\n- task_get_tool()      # Retrieve task details\n- task_update_tool()   # Modify task state\n- task_list_tool()    # Query tasks with filters\n```\n\n**资料来源：** [clawteam/mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py)\n\n---\n\n## Workflow Examples\n\n### Sequential Dependency Chain\n\n```bash\n# 1. Create design task\nclawteam task create my-team \"Design API schema\" -o leader\n# => Task ID: aaa11111\n\n# 2. Create backend task (blocked by design)\nclawteam task create my-team \"Implement backend\" -o backend-dev --blocked-by aaa11111\n# => Task ID: bbb22222 (auto-set to blocked status)\n\n# 3. Create integration task (blocked by backend)\nclawteam task create my-team \"Integration testing\" --blocked-by bbb22222\n# => Task ID: ccc33333\n\n# 4. Complete tasks in order\nclawteam task update my-team aaa11111 --status completed\n# bbb22222 auto-unblocks from blocked → pending\n\nclawteam task update my-team bbb22222 --status completed\n# ccc33333 auto-unblocks from blocked → pending\n```\n\n**资料来源：** [skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n### Parallel Task Assignment\n\n```bash\n# Design task (owned by leader)\nclawteam task create my-team \"Design system\" -o leader\n\n# Backend and frontend (both blocked by design)\nclawteam task create my-team \"Implement backend\" -o backend-dev --blocked-by <design-id>\nclawteam task create my-team \"Build frontend\" -o frontend-dev --blocked-by <design-id>\n\n# Integration (blocked by both backend and frontend)\nclawteam task create my-team \"Integration testing\" --blocked-by <backend-id>,<frontend-id>\n```\n\n---\n\n## Error Handling\n\n### TaskLockError\n\nConcurrent access to task files is controlled via `TaskLockError`:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\n```\n\nWhen a task is locked by another process, operations that modify the task will raise `TaskLockError`.\n\n**资料来源：** [clawteam/team/tasks.py:9](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## API Summary\n\n| Operation | Method | File Reference |\n|-----------|--------|----------------|\n| Create Task | `task create <team> <subject>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Get Task | `task get <team> <task-id>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Update Task | `task update <team> <task-id>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| List Tasks | `task list <team>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Store Base | Abstract interface | [store/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/base.py) |\n| Store File | File implementation | [store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py) |\n| MCP Tools | Tool definitions | [mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py) |\n\n---\n\n<a id='page-team-management'></a>\n\n## Team Management\n\n### 相关页面\n\n相关主题：[Agent Spawning System](#page-agent-spawning), [Task Management System](#page-task-management), [Event System](#page-event-system)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/manager.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/manager.py)\n- [clawteam/team/lifecycle.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/lifecycle.py)\n- [clawteam/team/router.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/router.py)\n- [clawteam/team/routing_policy.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/routing_policy.py)\n- [clawteam/team/snapshot.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/snapshot.py)\n- [clawteam/harness/orchestrator.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/orchestrator.py)\n- [clawteam/harness/roles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/roles.py)\n</details>\n\n# Team Management\n\nTeam Management is the core orchestration layer in ClawTeam that enables multiple AI agents to collaborate within a structured hierarchy. It provides facilities for creating teams, managing agent lifecycles, routing messages, coordinating tasks with dependency chains, and facilitating graceful shutdowns.\n\n## Overview\n\nClawTeam's Team Management system treats a multi-agent workflow as a first-class organizational unit called a **Team**. Each team has:\n\n- A designated **Leader** agent responsible for coordination\n- Member agents with distinct roles and capabilities\n- A shared **Board** for task visualization and status tracking\n- An **Inbox** system for point-to-point and broadcast messaging\n- Task management with dependency tracking\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Team Architecture\n\n```mermaid\ngraph TD\n    A[Leader Agent] --> B[Board - Kanban Tasks]\n    A --> C[Inbox - Message Routing]\n    A --> D[Task Store]\n    B --> E[Task Status: pending, in_progress, completed, blocked]\n    C --> F[Message Types: broadcast, plan, shutdown, idle]\n    D --> G[Dependency Chains]\n```\n\nThe architecture follows a hub-and-spoke model where the leader agent serves as the central coordinator. The Board provides a kanban-style visualization, while the Inbox handles all inter-agent communication.\n\n资料来源：[clawteam/team/manager.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/manager.py)\n\n## Team Lifecycle\n\n### Lifecycle States\n\nAgents in a team progress through well-defined lifecycle states:\n\n| State | Description |\n|-------|-------------|\n| `active` | Agent is running and processing tasks |\n| `idle` | Agent has completed current work and awaits new assignments |\n| `shutdown_requested` | Leader has requested agent termination |\n| `terminated` | Agent has gracefully shut down |\n\n资料来源：[clawteam/team/lifecycle.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/lifecycle.py)\n\n### Lifecycle Commands\n\n```bash\n# Leader requests agent shutdown\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n\n# Agent approves shutdown\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\n\n# Agent rejects shutdown\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n\n# Agent signals idle state to leader\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Message Routing\n\nThe routing system determines how messages flow between agents within a team.\n\n```mermaid\ngraph LR\n    A[Agent A] -->|message| B[Router]\n    A -->|broadcast| B\n    A -->|plan_approval_request| B\n    B -->|route| C[Agent B]\n    B -->|route| D[All Members]\n    B -->|route| E[Leader]\n```\n\n### Routing Policies\n\n| Policy | Behavior |\n|--------|----------|\n| `direct` | Point-to-point message to specific agent |\n| `broadcast` | Message delivered to all team members |\n| `leader_only` | Message routed exclusively to team leader |\n\n资料来源：[clawteam/team/router.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/router.py)\n资料来源：[clawteam/team/routing_policy.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/routing_policy.py)\n\n### Message Types\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | point-to-point | General communication |\n| `broadcast` | team-wide | Announcements to all members |\n| `join_request` | candidate → leader | Request to join team |\n| `join_approved` / `join_rejected` | leader → candidate | Join response |\n| `plan_approval_request` | agent → leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | leader → agent | Plan response |\n| `shutdown_request` | leader → agent | Termination request |\n| `shutdown_approved` / `shutdown_rejected` | agent → leader | Shutdown response |\n| `idle` | agent → leader | No more work notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Task Management\n\nTasks are the fundamental work units within a team. They support dependency chains, priorities, and automatic status transitions.\n\n### Task Statuses\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Not yet started |\n| `in_progress` | Currently being worked on |\n| `completed` | Done (auto-unblocks dependents) |\n| `blocked` | Waiting on other tasks |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n### Task Commands\n\n```bash\n# Create a task\nclawteam task create <team> <subject> [options]\n    -o, --owner NAME          Task owner\n    -d, --description TEXT    Task description\n    -p, --priority LEVEL      low, medium, high, urgent\n    --blocks ID               Task IDs this blocks\n    --blocked-by ID           Comma-separated task IDs blocking this\n\n# Update task\nclawteam task update <team> <task-id> [options]\n    -s, --status STATUS       New status\n    -o, --owner NAME          New owner\n    --add-blocks ID           Add tasks this blocks\n    --add-blocked-by ID       Add tasks blocking this\n    -f, --force               Force override task lock\n\n# List tasks\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n\n# Get single task\nclawteam task get <team> <task-id>\n```\n\n### Task Dependency Example\n\n```bash\n# Task 1: Design system (no dependencies)\nclawteam task create my-project \"Design system\" -o leader\n# => Task ID: aaa11111\n\n# Task 2: Implement backend (blocked by Task 1)\nclawteam task create my-project \"Implement backend\" -o backend-dev --blocked-by aaa11111\n# => Task ID: bbb22222 (auto-set to blocked status)\n\n# Task 3: Integration testing (blocked by Tasks 1 and 2)\nclawteam task create my-project \"Integration testing\" --blocked-by bbb22222,ccc33333\n# => Task ID: ddd44444\n\n# When Task 1 completes, Task 2 unblocks\nclawteam task update my-project aaa11111 --status completed\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Agent Roles\n\nClawTeam supports role-based agent assignments through the harness system.\n\n### Available Roles\n\n| Role | Purpose |\n|------|---------|\n| `leader` | Team coordinator, approves plans, assigns tasks |\n| `planner` | Drafts specifications and implementation plans |\n| `coder` | Executes implementation tasks |\n| `evaluator` | Reviews and validates work against specifications |\n| `researcher` | Gathers information and best practices |\n\n资料来源：[clawteam/harness/roles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/roles.py)\n\n### Role-Specific Context Recovery\n\nEach role has context recovery layers that inject relevant information:\n\n| Role | Context Provided |\n|------|------------------|\n| `leader` | Sprint contract, team task summary by owner |\n| `planner` | Spec draft for planning |\n| `evaluator` | Full specification + contract criteria |\n| `researcher` | Sprint contract with agent name highlighted |\n\n资料来源：[clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n\n## Orchestration\n\nThe orchestrator coordinates multiple agents within a team template, spawning agents with proper identity and environment setup.\n\n### Orchestration Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant O as Orchestrator\n    participant A as Agent\n    participant S as Spawn Backend\n\n    L->>O: Launch team from template\n    O->>O: Parse template and roles\n    loop For each agent\n        O->>S: Spawn agent with identity env vars\n        S->>A: Start agent process\n        A->>A: Set CLAWTEAM_AGENT_* vars\n    end\n    O->>L: Return launch summary\n```\n\n### Spawn Command\n\n```bash\nclawteam spawn <backend> <command...> [options]\n    -t, --team NAME         Team name (default: \"default\")\n    -n, --agent-name NAME   Agent name (auto-generated)\n    --agent-type TYPE       Agent type (default: \"general-purpose\")\n```\n\nBackends: `subprocess`, `tmux`\n\nExample:\n```bash\nclawteam spawn subprocess claude --team dev-team --agent-name bob --agent-type researcher\n```\n\n资料来源：[clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n## Board and Monitoring\n\nThe Board provides real-time visualization of team state.\n\n### Board Commands\n\n```bash\n# Show detailed team board (kanban view)\nclawteam board show <team>\nclawteam --json board show <team>\n\n# Overview of all teams\nclawteam board overview\nclawteam --json board overview\n\n# Live-refreshing kanban board\nclawteam board live <team> [--interval 2.0]\n```\n\n### Board Data Structure\n\nThe board includes:\n- Kanban task visualization with status badges\n- Member inbox counts\n- Message history from event log\n- Member-aware message aliases (`memberKey`, `inboxName`, `fromLabel`, `toLabel`)\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Team Snapshots\n\nSnapshots capture the complete state of a team at a point in time for debugging, auditing, or resumption.\n\n```mermaid\ngraph TD\n    A[Snapshot Request] --> B[Snapshot Generator]\n    B --> C[Team Config]\n    B --> D[Task States]\n    B --> E[Agent Status]\n    B --> F[Message History]\n    B --> G[File Storage: ~/.clawteam/teams/{team}/]\n```\n\n资料来源：[clawteam/team/snapshot.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/snapshot.py)\n\n## File Storage Layout\n\nTeam data persists to disk under `~/.clawteam/`:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Workflow: Complete Team Lifecycle\n\n```mermaid\ngraph TD\n    A[Create Team] --> B[Spawn Agents]\n    B --> C[Assign Tasks]\n    C --> D[Agent Work]\n    D --> E{Status}\n    E -->|in_progress| D\n    E -->|completed| F[Unblock Dependents]\n    E -->|idle| G[Report to Leader]\n    F --> H{Tasks Remaining?}\n    H -->|Yes| D\n    H -->|No| I[Request Shutdown]\n    I --> J[Approve Shutdown]\n    J --> K[Cleanup Team]\n```\n\n### Step-by-Step Workflow\n\n1. **Create team with leader**\n   ```bash\n   clawteam team spawn-team my-team -d \"Project team\" -n leader\n   ```\n\n2. **Spawn worker agents**\n   ```bash\n   clawteam spawn tmux claude --team my-team --agent-name researcher\n   clawteam spawn tmux claude --team my-team --agent-name coder\n   ```\n\n3. **Create and assign tasks**\n   ```bash\n   clawteam task create my-team \"Research phase\" -o researcher\n   clawteam task create my-team \"Implementation\" -o coder --blocked-by <research-task-id>\n   ```\n\n4. **Monitor progress**\n   ```bash\n   clawteam board live my-team\n   ```\n\n5. **Graceful shutdown**\n   ```bash\n   clawteam lifecycle request-shutdown my-team leader coder\n   clawteam lifecycle approve-shutdown my-team <request-id> coder\n   clawteam team cleanup my-team --force\n   ```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Quick Reference: Team Commands\n\n| Command | Description |\n|---------|-------------|\n| `clawteam team spawn-team <name>` | Create new team with leader |\n| `clawteam team discover` | List all existing teams |\n| `clawteam team status <team>` | Show team configuration and members |\n| `clawteam team request-join <team> <name>` | Request to join a team |\n| `clawteam team approve-join <team> <request-id>` | Approve join request (leader) |\n| `clawteam team reject-join <team> <request-id>` | Reject join request (leader) |\n| `clawteam identity show` | Show current agent identity |\n| `clawteam inbox send <team> <to> <message>` | Send message to agent |\n| `clawteam inbox receive <team> --agent <name>` | Check agent inbox |\n\n资料来源：[clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n---\n\n<a id='page-transport'></a>\n\n## Transport Layer\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Messaging & Inbox System](#page-messaging)\n\n```markdown\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/transport/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/__init__.py)\n- [clawteam/transport/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/base.py)\n- [clawteam/transport/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/file.py)\n- [clawteam/transport/p2p.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/p2p.py)\n- [clawteam/transport/claimed.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/claimed.py)\n</details>\n\n# Transport Layer\n\n## Overview\n\nThe Transport Layer in ClawTeam is a modular communication subsystem that enables inter-agent messaging within a team. It provides abstract interfaces and concrete implementations for different transport mechanisms, allowing agents to send, receive, and route messages regardless of the underlying delivery mechanism.\n\nThe transport layer is designed with a pluggable architecture, supporting multiple backends including file-based transport and peer-to-peer (P2P) transport for direct agent-to-agent communication.\n\n## Architecture\n\n```mermaid\ngraph TB\n    subgraph \"Transport Layer\"\n        API[Transport API]\n        BASE[BaseTransport]\n        FILE[FileTransport]\n        P2P[P2PTransport]\n        CLM[ClaimedTransport]\n    end\n    \n    subgraph \"Message Flow\"\n        SND[Sender Agent]\n        RCV[Receiver Agent]\n        INBOX[Inbox Store]\n    end\n    \n    API --> BASE\n    BASE --> FILE\n    BASE --> P2P\n    BASE --> CLM\n    \n    SND -->|send_message| API\n    API --> INBOX\n    INBOX --> RCV\n```\n\n## Core Components\n\n### Base Transport (`clawteam/transport/base.py`)\n\nThe `BaseTransport` abstract class defines the interface that all transport implementations must follow.\n\n| Method | Purpose |\n|--------|---------|\n| `send(envelope)` | Send a message envelope to destination |\n| `receive(agent_name)` | Retrieve messages from agent's inbox |\n| `peek(agent_name)` | View messages without consumption |\n| `list_pending(agent_name)` | List pending message IDs |\n\n资料来源：[clawteam/transport/base.py]()\n\n### File Transport (`clawteam/transport/file.py`)\n\nFile-based transport provides reliable message delivery using filesystem-based inboxes. Messages are stored as JSON files in the team's inbox directory structure.\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   └── inboxes/{agent}/\n│       └── msg-{timestamp}-{uuid}.json\n```\n\n资料来源：[clawteam/transport/file.py]()\n\n**Key Features:**\n- Persistent message storage\n- Non-destructive `peek` operations\n- Destructive `receive` operations\n- Atomic file operations for consistency\n\n### P2P Transport (`clawteam/transport/p2p.py`)\n\nPeer-to-peer transport enables direct agent-to-agent communication without centralized message storage. This is an optional backend that requires the `p2p` extra: `pip install \"clawteam[p2p]\"`\n\n资料来源：[clawteam/transport/p2p.py]()\n\n**Use Cases:**\n- Low-latency communication\n- Decentralized team topologies\n- Environments without shared filesystem\n\n### Claimed Transport (`clawteam/transport/claimed.py`)\n\nThe `ClaimedTransport` wraps another transport backend and adds message claiming semantics. This prevents duplicate message processing in concurrent scenarios.\n\n资料来源：[clawteam/transport/claimed.py]()\n\n## Message Envelope\n\nMessages are encapsulated in an envelope structure containing routing and payload information.\n\n```python\n@dataclass\nclass Envelope:\n    to: str              # Destination agent name\n    from_: str           # Source agent name\n    msg_type: str        # Message type identifier\n    payload: dict        # Message content\n    timestamp: float     # Unix timestamp\n    id: str              # Unique message ID\n```\n\n## Message Types\n\n| Type | Description | Used By |\n|------|-------------|---------|\n| `message` | General point-to-point message | Core |\n| `broadcast` | Broadcast to all team members | Core |\n| `join_request` | Request to join a team | Team module |\n| `join_approved` / `join_rejected` | Join response | Team module |\n| `plan_approval_request` | Plan submitted for review | Plan module |\n| `plan_approved` / `plan_rejected` | Plan response | Plan module |\n| `shutdown_request` | Agent shutdown request | Lifecycle module |\n| `shutdown_approved` / `shutdown_rejected` | Shutdown response | Lifecycle module |\n| `idle` | Agent idle notification | Lifecycle module |\n\n资料来源：[clawteam/transport/__init__.py]()\n\n## Transport Selection\n\n```mermaid\ngraph LR\n    A[Agent Spawns] --> B{Configured Backend}\n    B -->|default| F[FileTransport]\n    B -->|p2p| P[P2PTransport]\n    B -->|claimed| C[ClaimedTransport]\n```\n\nThe transport backend is typically specified in the agent's runtime profile or configured via environment variables.\n\n## Configuration\n\nTransport backends can be configured through:\n\n1. **Runtime Profiles** - Stored in `~/.clawteam/profiles/`\n2. **Environment Variables** - `CLAWTEAM_TRANSPORT_BACKEND`\n3. **Profile Wizard** - Interactive TUI: `clawteam profile wizard`\n\n资料来源：[skills/clawteam/SKILL.md]()\n</details>\n\n---\n\n<a id='page-messaging'></a>\n\n## Messaging & Inbox System\n\n### 相关页面\n\n相关主题：[Transport Layer](#page-transport), [Agent Spawning System](#page-agent-spawning)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/mailbox.py)\n- [clawteam/mcp/tools/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n- [clawteam/team/plan.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/plan.py)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n</details>\n\n# Messaging & Inbox System\n\n## Overview\n\nThe Messaging & Inbox System in ClawTeam provides inter-agent communication capabilities for coordinating agent swarms. It enables point-to-point messaging, broadcasts, and structured request/response patterns for team coordination including plan approvals, join requests, and graceful shutdowns.\n\nMessages are stored persistently in team-specific inboxes as JSON files, allowing asynchronous communication between agents that may not be running simultaneously. Each agent has its own inbox within a team's directory structure at `~/.clawteam/teams/{team}/inboxes/{agent}/`. 资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Architecture\n\n```mermaid\ngraph TD\n    A[Agent] -->|mailbox_send| B[TeamMailbox]\n    A -->|mailbox_receive| B\n    A -->|mailbox_broadcast| B\n    B --> C[File System]\n    C --> D[~/.clawteam/teams/{team}/inboxes/]\n    E[Leader] -->|Plan messages| B\n    F[Worker] -->|Plan messages| B\n    \n    subgraph \"Message Types\"\n        G[message]\n        H[broadcast]\n        I[join_request]\n        J[plan_approval_request]\n        K[shutdown_request]\n        L[idle]\n    end\n```\n\n## Message Types\n\nThe system supports the following message types defined in the `MessageType` enum:\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | Point-to-point | General communication between agents |\n| `broadcast` | One-to-all | Broadcast to all team members |\n| `join_request` | Worker → Leader | Request to join a team |\n| `join_approved` / `join_rejected` | Leader → Worker | Join request response |\n| `plan_approval_request` | Worker → Leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | Leader → Worker | Plan review response |\n| `shutdown_request` | Leader → Worker | Request worker shutdown |\n| `shutdown_approved` / `shutdown_rejected` | Worker → Leader | Shutdown response |\n| `idle` | Worker → Leader | Agent has no more work |\n\n资料来源：[clawteam/team/plan.py:12-40](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/plan.py)\n\n## Core API Functions\n\n### mailbox_send\n\nSend a message to a specific agent within a team.\n\n```python\ndef mailbox_send(\n    team_name: str,\n    from_agent: str,\n    to_agent: str,\n    content: str,\n    msg_type: str | None = None,\n    request_id: str | None = None,\n    key: str | None = None,\n    proposed_name: str | None = None,\n    capabilities: str | None = None,\n    feedback: str | None = None,\n    reason: str | None = None,\n    assigned_name: str | None = None,\n    agent_id: str | None = None,\n    team_name: str | None = None,\n    plan_file: str | None = None,\n    summary: str | None = None,\n    plan: str | None = None,\n    last_task: str | None = None,\n    status: str | None = None,\n) -> dict\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_broadcast\n\nBroadcast a message to all team members, with optional exclusions.\n\n```python\ndef mailbox_broadcast(\n    team_name: str,\n    from_agent: str,\n    content: str,\n    msg_type: str | None = None,\n    key: str | None = None,\n    exclude: list[str] | None = None,\n) -> list[dict]\n```\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `team_name` | str | Target team name |\n| `from_agent` | str | Sender identifier |\n| `content` | str | Message content |\n| `msg_type` | str | Message type (defaults to `broadcast`) |\n| `key` | str | Optional categorization key |\n| `exclude` | list[str] | Agent names to exclude from broadcast |\n\n资料来源：[clawteam/mcp/tools/mailbox.py:28-41](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_receive\n\nReceive and consume pending inbox messages. Messages are removed from the inbox after retrieval.\n\n```python\ndef mailbox_receive(\n    team_name: str,\n    agent_name: str,\n    limit: int = 10,\n) -> list[dict]\n```\n\n| Parameter | Type | Description | Default |\n|-----------|------|-------------|---------|\n| `team_name` | str | Team identifier | Required |\n| `agent_name` | str | Agent inbox to check | Required |\n| `limit` | int | Maximum messages to retrieve | 10 |\n\n资料来源：[clawteam/mcp/tools/mailbox.py:44-47](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_peek\n\nPreview pending inbox messages without consuming them. Messages remain available for future retrieval.\n\n```python\ndef mailbox_peek(\n    team_name: str,\n    agent_name: str,\n) -> list[dict]\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:50-53](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_peek_count\n\nGet the count of pending messages without retrieving content.\n\n```python\ndef mailbox_peek_count(\n    team_name: str,\n    agent_name: str,\n) -> dict\n```\n\nReturns:\n```json\n{\n  \"agentName\": \"alice\",\n  \"count\": 5\n}\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:56-59](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n## CLI Commands\n\n### inbox send\n\nSend a message to another agent.\n\n```bash\nclawteam inbox send <team> <from-agent> <to-agent> <content> [--type TYPE]\n```\n\n### inbox receive\n\nReceive and consume pending messages.\n\n```bash\nclawteam inbox receive <team> --agent <agent-name> [--limit N]\n```\n\n### inbox peek\n\nPreview messages without consuming.\n\n```bash\nclawteam inbox peek <team> --agent <agent-name>\n```\n\n### inbox count\n\nCount pending messages.\n\n```bash\nclawteam inbox count <team> --agent <agent-name>\n```\n\n### inbox broadcast\n\nBroadcast to all team members.\n\n```bash\nclawteam inbox broadcast <team> <from-agent> <content> [--exclude AGENT1,AGENT2]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Message Flow Patterns\n\n### Point-to-Point Messaging\n\n```mermaid\nsequenceDiagram\n    participant A as Agent Alice\n    participant M as TeamMailbox\n    participant B as Agent Bob\n    \n    A->>M: mailbox_send(to=Bob, content=\"Task update\")\n    M->>M: Store msg-{timestamp}-{uuid}.json\n    B->>M: mailbox_receive(agent=Bob)\n    M->>B: Return and remove message\n```\n\n### Plan Approval Flow\n\n```mermaid\ngraph LR\n    A[Worker] -->|plan_approval_request| B[Leader]\n    B -->|Review| B\n    B -->|plan_approved| A\n    B -->|plan_rejected| A\n```\n\nExample workflow:\n```bash\n# Worker submits plan\nclawteam plan submit dev-team coder \"Auth system redesign\" \\\n  --summary \"Modernize auth system\"\n\n# Leader reviews inbox\nclawteam inbox receive dev-team --agent leader\n# => plan_approval_request with planId\n\n# Leader approves or rejects\nclawteam plan approve dev-team <plan-id> coder --feedback \"Looks good, proceed\"\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n### Shutdown Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant M as TeamMailbox\n    participant W as Worker\n    \n    L->>M: lifecycle request-shutdown\n    M->>W: shutdown_request\n    W->>W: Complete current work\n    W->>M: lifecycle approve-shutdown\n    M->>L: shutdown_approved\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Storage Layout\n\nMessages are persisted in the following structure:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   └── inboxes/\n│       └── {agent}/\n│           ├── msg-{timestamp}-{uuid}.json   # Individual messages\n│           ├── msg-{timestamp}-{uuid}.json\n│           └── ...\n└── plans/\n    └── {agent}-{id}.md                        # Plan documents\n```\n\nEach message file contains structured JSON with metadata including sender, recipient, message type, timestamp, and type-specific fields.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Data Model\n\n### Message Payload\n\n```python\n@dataclass\nclass MessagePayload:\n    msg_type: MessageType\n    from_agent: str\n    to_agent: str\n    content: str\n    request_id: str | None\n    key: str | None\n    proposed_name: str | None\n    capabilities: str | None\n    feedback: str | None\n    reason: str | None\n    assigned_name: str | None\n    agent_id: str | None\n    team_name: str | None\n    plan_file: str | None\n    summary: str | None\n    plan: str | None\n    last_task: str | None\n    status: str | None\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:1-20](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n## Best Practices\n\n1. **Always check inbox before declaring idle** - Agents should check `clawteam task list {team}` and inbox before reporting idle status.\n\n2. **Use peek before receive** - Preview messages with `mailbox_peek` when you need to selectively process messages without consuming all pending items.\n\n3. **Set request IDs for tracking** - When sending plan or shutdown requests, include a unique `request_id` to correlate responses.\n\n4. **Send cost reports** - After completing work, report costs using:\n   ```bash\n   clawteam cost report {team} --input-tokens <N> --output-tokens <N> --cost-cents <N>\n   ```\n\n5. **Monitor team health** - Use JSON output for scripting:\n   ```bash\n   clawteam --json board show dev-team | jq '.members[] | select(.inboxCount > 0) | .name'\n   ```\n\n资料来源：[clawteam/spawn/prompt.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/prompt.py)\n\n---\n\n<a id='page-board-dashboard'></a>\n\n## Board & Monitoring Dashboard\n\n### 相关页面\n\n相关主题：[Task Management System](#page-task-management), [Team Management](#page-team-management)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/board/server.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/server.py)\n- [clawteam/board/renderer.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/renderer.py)\n- [clawteam/board/collector.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/collector.py)\n- [clawteam/board/gource.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/gource.py)\n- [clawteam/mcp/tools/board.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/board.py)\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n</details>\n\n# Board & Monitoring Dashboard\n\nThe Board is ClawTeam's centralized monitoring and coordination interface for agent swarms. It provides real-time visibility into team tasks, agent statuses, message exchanges, and activity history through both CLI commands and a browser-based dashboard.\n\n## Purpose & Scope\n\nThe Board system serves as the coordination nerve center for multi-agent teams:\n\n- **Task Visualization** — Kanban-style task boards showing blockers, priority, ownership, and progress across all agents\n- **Persistent Coordination** — Handoffs, aliases, and notes remain visible after prompts scroll away\n- **Team Awareness** — Inbox counts, member status, and message history accessible in one view\n- **Activity Visualization** — Gource-based git activity rendering to visualize team contributions over time\n\n资料来源：[skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n\n## Architecture\n\n```mermaid\ngraph TD\n    subgraph \"Board Subsystem\"\n        A[board show] --> B[Board Server]\n        C[board live] --> B\n        D[board overview] --> B\n        \n        B --> E[Collector Module]\n        B --> F[Renderer Module]\n        B --> G[Gource Module]\n        \n        E --> H[Task Store]\n        E --> I[Message Store]\n        E --> J[Team Config]\n    end\n    \n    subgraph \"Output Formats\"\n        F --> K[Human Readable]\n        F --> L[JSON API]\n        G --> M[Gource Visualization]\n    end\n```\n\nThe Board module consists of four primary components:\n\n| Component | File | Responsibility |\n|-----------|------|----------------|\n| **server.py** | `clawteam/board/server.py` | HTTP/web server, API endpoints, command handlers |\n| **collector.py** | `clawteam/board/collector.py` | Aggregates data from task stores, message stores, team configs |\n| **renderer.py** | `clawteam/board/renderer.py` | Formats board data for human or JSON output |\n| **gource.py** | `clawteam/board/gource.py` | Generates git activity visualizations |\n\n资料来源：[clawteam/board/server.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/server.py)\n\n## Data Model\n\nThe Board draws data from three primary storage locations under `~/.clawteam/`:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n### Task Statuses\n\n| Status | Description | Behavior |\n|--------|-------------|----------|\n| `pending` | Not yet started | Available for assignment |\n| `in_progress` | Currently being worked on | Blocks dependent tasks |\n| `completed` | Done | Auto-unblocks dependent tasks |\n| `blocked` | Waiting on other tasks | Remains blocked until blockers complete |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### Message Types\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all members |\n| `join_request` / `join_approved` / `join_rejected` | Team join lifecycle |\n| `plan_approval_request` / `plan_approved` / `plan_rejected` | Plan review lifecycle |\n| `shutdown_request` / `shutdown_approved` / `shutdown_rejected` | Agent shutdown lifecycle |\n| `idle` | Agent idle notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Board Commands\n\n### `board show`\n\nDisplay detailed team board data with kanban visualization.\n\n```bash\nclawteam board show <team>\nclawteam --json board show <team>\n```\n\n| Output Mode | Description |\n|-------------|-------------|\n| Human | Renders kanban board with tasks grouped by status |\n| JSON | Includes member inbox identity fields plus persistent message history |\n\nThe JSON output includes member-aware message aliases:\n\n- `memberKey` — Unique member identifier\n- `inboxName` — Agent's inbox directory name\n- `fromLabel` / `toLabel` — Human-readable sender/recipient labels\n\nThese fields enable the browser board to filter inbox history by team member.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### `board overview`\n\nShow summary of all teams in a table format.\n\n```bash\nclawteam board overview\nclawteam --json board overview\n```\n\nReturns metadata for each team:\n\n| Field | Description |\n|-------|-------------|\n| `name` | Team identifier |\n| `description` | Team purpose description |\n| `leadAgentId` | Leader agent ID |\n| `memberCount` | Number of active members |\n\n### `board live`\n\nLaunch a live-refreshing kanban board that auto-updates at configurable intervals.\n\n```bash\nclawteam board live <team> [--interval 2.0]\n```\n\nPress `Ctrl+C` to stop the live view. Default refresh interval is 2.0 seconds.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## MCP Board Tools\n\nFor integration with AI agents, the Board exposes MCP (Model Context Protocol) tools in `clawteam/mcp/tools/board.py`:\n\n```python\n# Available MCP tools for board interaction\n- board_show       # Show team board data\n- board_overview   # List all teams summary\n- board_live       # Start live monitoring\n```\n\nThese tools allow AI agents to query board state programmatically without CLI invocation.\n\n资料来源：[clawteam/mcp/tools/board.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/board.py)\n\n## Browser Dashboard (website/src/App.jsx)\n\nThe website provides a browser-accessible board interface at `website/src/App.jsx`. The browser board includes:\n\n### Visual Components\n\n| Component | Description |\n|-----------|-------------|\n| **Hero Section** | Main landing area with CLI mockup visualization |\n| **Features Grid** | Cards highlighting core capabilities |\n| **Workflow Steps** | Installation and setup instructions |\n| **Documentation Links** | Quick access to SKILL.md and CLI reference |\n\nThe TerminalMockup component renders a simulated CLI session showing team operations:\n\n```jsx\n<TeamTerminalMockup/>\n```\n\nThis mockup demonstrates:\n- Team creation: `clawteam team spawn-team docs-sprint`\n- Agent spawning: `clawteam spawn tmux claude-code --agent-name builder`\n- Status checks: `clawteam team status docs-sprint`\n\n资料来源：[website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n\n## Gource Activity Visualization\n\nThe `gource.py` module provides git-aware execution visualization:\n\n```mermaid\ngraph LR\n    A[Git Repos] --> B[Gource Renderer]\n    C[Worktrees] --> B\n    D[Diffs] --> B\n    E[Merge State] --> B\n    \n    B --> F[Activity Timeline]\n```\n\nGource renders agent activity as a timeline visualization, showing:\n- File changes over time\n- Agent contribution patterns\n- Merge and branch activity\n\n资料来源：[clawteam/board/gource.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/gource.py)\n\n## Integration with Task System\n\nThe Board integrates closely with the task management system:\n\n```mermaid\ngraph LR\n    A[Task Create] --> B[Task Store]\n    C[Task Update] --> B\n    D[Task Complete] --> E[Auto-Unblock]\n    \n    B --> F[Board Collector]\n    F --> G[Board Renderer]\n    G --> H[CLI / Browser]\n    \n    E --> B\n```\n\nTask commands that feed into the Board:\n\n| Command | Board Impact |\n|---------|-------------|\n| `task create` | Adds new task to kanban |\n| `task update --status` | Moves task between columns |\n| `task update --owner` | Assigns/reassigns task |\n| `task list` | Filters visible tasks |\n\nWhen a task is marked `completed`, the system automatically unblocks any tasks that were blocked by it (moving them from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Configuration\n\nBoard behavior is controlled through team configuration stored in `~/.clawteam/teams/{team}/config.json`:\n\n```json\n{\n  \"name\": \"team-name\",\n  \"members\": [\"leader\", \"agent-1\", \"agent-2\"],\n  \"leader\": \"leader\"\n}\n```\n\nThe collector module reads this config along with task and message stores to build the complete board view.\n\n资料来源：[clawteam/board/collector.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/collector.py)\n\n## Quick Reference\n\n| Command | Purpose |\n|---------|---------|\n| `clawteam board show <team>` | View team kanban board |\n| `clawteam board overview` | List all teams summary |\n| `clawteam board live <team>` | Live-refreshing board view |\n| `clawteam task list <team>` | List tasks with filters |\n| `clawteam team status <team>` | Show team config and members |\n\n---\n\n---\n\n## Doramagic 踩坑日志\n\n项目：HKUDS/ClawTeam\n\n摘要：发现 15 个潜在踩坑项，其中 1 个为 high/blocking；最高优先级：安全/权限坑 - 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing。\n\n## 1. 安全/权限坑 · 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n\n- 严重度：high\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_d8bd96f00b7c46c6813bc15c32a84625 | https://github.com/HKUDS/ClawTeam/issues/76 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 2. 配置坑 · 可能修改宿主 AI 配置\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。\n- 对用户的影响：安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。\n- 建议检查：列出会写入的配置文件、目录和卸载/回滚步骤。\n- 防护动作：涉及宿主配置目录时必须给回滚路径，不能只给安装命令。\n- 证据：capability.host_targets | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | host_targets=claude, claude_code, cursor, chatgpt\n\n## 3. 配置坑 · 来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM plugin + reaction engine\n- 对用户的影响：可能增加新用户试用和生产接入成本。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_114771b2a1474b358b05a6a9e61807f6 | https://github.com/HKUDS/ClawTeam/issues/157 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 4. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | README/documentation is current enough for a first validation pass.\n\n## 5. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | last_activity_observed missing\n\n## 6. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 7. 安全/权限坑 · 存在安全注意事项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：No sandbox install has been executed yet; downstream must verify before user use.\n- 对用户的影响：用户安装前需要知道权限边界和敏感操作。\n- 建议检查：转成明确权限清单和安全审查提示。\n- 防护动作：安全注意事项必须面向用户前置展示。\n- 证据：risks.safety_notes | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | No sandbox install has been executed yet; downstream must verify before user use.\n\n## 8. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 9. 安全/权限坑 · 来源证据：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_dc9ad856da7a4a828860da94afadc7ec | https://github.com/HKUDS/ClawTeam/issues/146 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 10. 安全/权限坑 · 来源证据：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n- 对用户的影响：可能阻塞安装或首次运行。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_61dec732a08f4279a590654f0eecea51 | https://github.com/HKUDS/ClawTeam/issues/104 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 11. 安全/权限坑 · 来源证据：Worker agents exit after first turn despite 'ongoing job' task prompt\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Worker agents exit after first turn despite 'ongoing job' task prompt\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_26124d52e6d948b2bf15809390ef2589 | https://github.com/HKUDS/ClawTeam/issues/148 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 12. 安全/权限坑 · 来源证据：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_63b04b7d23e74c71a8c1f8dddcaa9281 | https://github.com/HKUDS/ClawTeam/issues/45 | 来源讨论提到 node 相关条件，需在安装/试用前复核。\n\n## 13. 安全/权限坑 · 来源证据：v0.2.0 — Stabilization Release\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：v0.2.0 — Stabilization Release\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_2aca0ffb17f94d8bb219737c9f275e7f | https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0 | 来源类型 github_release 暴露的待验证使用条件。\n\n## 14. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | issue_or_pr_quality=unknown\n\n## 15. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | release_recency=unknown\n\n<!-- canonical_name: HKUDS/ClawTeam; human_manual_source: deepwiki_human_wiki -->\n",
      "markdown_key": "clawteam",
      "pages": "draft",
      "source_refs": [
        {
          "evidence_id": "art_abc9b09559e64bd4983fa470a78389f3",
          "kind": "docs",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/HKUDS/ClawTeam#readme"
        }
      ],
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "ClawTeam 说明书",
      "toc": [
        "https://github.com/HKUDS/ClawTeam 项目说明书",
        "目录",
        "Introduction to ClawTeam",
        "Purpose and Scope",
        "Architecture Overview",
        "Data Storage Model",
        "Task Management System",
        "Message Types",
        "Doramagic 踩坑日志"
      ]
    }
  },
  "quality_gate": {
    "blocking_gaps": [],
    "category_confidence": "medium",
    "compile_status": "ready_for_review",
    "five_assets_present": true,
    "install_sandbox_verified": true,
    "missing_evidence": [],
    "next_action": "publish to Doramagic.ai project surfaces",
    "prompt_preview_boundary_ok": true,
    "publish_status": "publishable",
    "quick_start_verified": true,
    "repo_clone_verified": true,
    "repo_commit": "01198332ef9270c32c5460b8a178f964fc0df451",
    "repo_inspection_error": null,
    "repo_inspection_files": [
      "pyproject.toml",
      "package.json",
      "README.md",
      "docs/transport-architecture.md",
      "docs/site-assets/index-Vcr1d_d3.js",
      "docs/skills/clawteam/SKILL.md",
      "docs/skills/clawteam/references/cli-reference.md",
      "docs/skills/clawteam/references/workflows.md"
    ],
    "repo_inspection_verified": true,
    "review_reasons": [],
    "tag_count_ok": true,
    "unsupported_claims": []
  },
  "schema_version": "0.1",
  "user_assets": {
    "ai_context_pack": {
      "asset_id": "ai_context_pack",
      "filename": "AI_CONTEXT_PACK.md",
      "markdown": "# clawteam-website - Doramagic AI Context Pack\n\n> 定位：安装前体验与判断资产。它帮助宿主 AI 有一个好的开始，但不代表已经安装、执行或验证目标项目。\n\n## 充分原则\n\n- **充分原则，不是压缩原则**：AI Context Pack 应该充分到让宿主 AI 在开工前理解项目价值、能力边界、使用入口、风险和证据来源；它可以分层组织，但不以最短摘要为目标。\n- **压缩策略**：只压缩噪声和重复内容，不压缩会影响判断和开工质量的上下文。\n\n## 给宿主 AI 的使用方式\n\n你正在读取 Doramagic 为 clawteam-website 编译的 AI Context Pack。请把它当作开工前上下文：帮助用户理解适合谁、能做什么、如何开始、哪些必须安装后验证、风险在哪里。不要声称你已经安装、运行或执行了目标项目。\n\n## Claim 消费规则\n\n- **事实来源**：Repo Evidence + Claim/Evidence Graph；Human Wiki 只提供显著性、术语和叙事结构。\n- **事实最低状态**：`supported`\n- `supported`：可以作为项目事实使用，但回答中必须引用 claim_id 和证据路径。\n- `weak`：只能作为低置信度线索，必须要求用户继续核实。\n- `inferred`：只能用于风险提示或待确认问题，不能包装成项目事实。\n- `unverified`：不得作为事实使用，应明确说证据不足。\n- `contradicted`：必须展示冲突来源，不得替用户强行选择一个版本。\n\n## 它最适合谁\n\n- **AI 研究者或研究型 Agent 构建者**：README 明确围绕研究、实验或论文工作流展开。 证据：`README.md` Claim：`clm_0003` supported 0.86\n- **正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**：README 或插件配置提到多个宿主 AI。 证据：`README.md` Claim：`clm_0004` supported 0.86\n- **希望把专业流程带进宿主 AI 的用户**：仓库包含 Skill 文档。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md` Claim：`clm_0005` supported 0.86\n\n## 它能做什么\n\n- **AI Skill / Agent 指令资产库**（可做安装前预览）：项目包含可被宿主 AI 读取的 Skill 或 Agent 指令文件，可用于把专业流程带入 Claude、Codex、Cursor 等宿主。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md` Claim：`clm_0001` supported 0.86\n- **命令行启动或安装流程**（需要安装后验证）：项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 证据：`README.md` Claim：`clm_0002` supported 0.86\n\n## 怎么开始\n\n- `pip install clawteam` 证据：`README.md` Claim：`clm_0006` supported 0.86\n- `git clone https://github.com/HKUDS/ClawTeam.git` 证据：`README.md` Claim：`clm_0007` supported 0.86\n- `pip install -e .` 证据：`README.md` Claim：`clm_0008` supported 0.86, `clm_0009` supported 0.86\n- `pip install -e \".[p2p]\"` 证据：`README.md` Claim：`clm_0009` supported 0.86\n\n## 继续前判断卡\n\n- **当前建议**：需要管理员/安全审批\n- **为什么**：继续前可能涉及密钥、账号、外部服务或敏感上下文，建议先经过管理员或安全审批。\n\n### 30 秒判断\n\n- **现在怎么做**：需要管理员/安全审批\n- **最小安全下一步**：先跑 Prompt Preview；若涉及凭证或企业环境，先审批再试装\n- **先别相信**：真实输出质量不能在安装前相信。\n- **继续会触碰**：命令执行、宿主 AI 配置、本地环境或项目文件\n\n### 现在可以相信\n\n- **适合人群线索：AI 研究者或研究型 Agent 构建者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0003` supported 0.86\n- **适合人群线索：正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0004` supported 0.86\n- **适合人群线索：希望把专业流程带进宿主 AI 的用户**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md` Claim：`clm_0005` supported 0.86\n- **能力存在：AI Skill / Agent 指令资产库**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md` Claim：`clm_0001` supported 0.86\n- **能力存在：命令行启动或安装流程**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`README.md` Claim：`clm_0002` supported 0.86\n- **存在 Quick Start / 安装命令线索**（supported）：可以相信项目文档出现过启动或安装入口；不要因此直接在主力环境运行。 证据：`README.md` Claim：`clm_0006` supported 0.86\n\n### 现在还不能相信\n\n- **真实输出质量不能在安装前相信。**（unverified）：Prompt Preview 只能展示引导方式，不能证明真实项目中的结果质量。\n- **宿主 AI 版本兼容性不能在安装前相信。**（unverified）：Claude、Cursor、Codex、Gemini 等宿主加载规则和版本差异必须在真实环境验证。\n- **不会污染现有宿主 AI 行为，不能直接相信。**（inferred）：Skill、plugin、AGENTS/CLAUDE/GEMINI 指令可能改变宿主 AI 的默认行为。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md`\n- **可安全回滚不能默认相信。**（unverified）：除非项目明确提供卸载和恢复说明，否则必须先在隔离环境验证。\n- **真实安装后是否与用户当前宿主 AI 版本兼容？**（unverified）：兼容性只能通过实际宿主环境验证。\n- **项目输出质量是否满足用户具体任务？**（unverified）：安装前预览只能展示流程和边界，不能替代真实评测。\n- **安装命令是否需要网络、权限或全局写入？**（unverified）：这影响企业环境和个人环境的安装风险。 证据：`README.md`\n\n### 继续会触碰什么\n\n- **命令执行**：包管理器、网络下载、本地插件目录、项目配置或用户主目录。 原因：运行第一条命令就可能产生环境改动；必须先判断是否值得跑。 证据：`README.md`\n- **宿主 AI 配置**：Claude/Codex/Cursor/Gemini/OpenCode 等宿主的 plugin、Skill 或规则加载配置。 原因：宿主配置会改变 AI 后续工作方式，可能和用户已有规则冲突。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md`\n- **本地环境或项目文件**：安装结果、插件缓存、项目配置或本地依赖目录。 原因：安装前无法证明写入范围和回滚方式，需要隔离验证。 证据：`README.md`\n- **环境变量 / API Key**：项目入口文档明确出现 API key、token、secret 或账号凭证配置。 原因：如果真实安装需要凭证，应先使用测试凭证并经过权限/合规判断。 证据：`README.md`, `README_CN.md`, `clawteam/spawn/presets.py`, `docs/skills/clawteam/SKILL.md` 等\n- **宿主 AI 上下文**：AI Context Pack、Prompt Preview、Skill 路由、风险规则和项目事实。 原因：导入上下文会影响宿主 AI 后续判断，必须避免把未验证项包装成事实。\n\n### 最小安全下一步\n\n- **先跑 Prompt Preview**：用安装前交互式试用判断工作方式是否匹配，不需要授权或改环境。（适用：任何项目都适用，尤其是输出质量未知时。）\n- **只在隔离目录或测试账号试装**：避免安装命令污染主力宿主 AI、真实项目或用户主目录。（适用：存在命令执行、插件配置或本地写入线索时。）\n- **先备份宿主 AI 配置**：Skill、plugin、规则文件可能改变 Claude/Cursor/Codex 的默认行为。（适用：存在插件 manifest、Skill 或宿主规则入口时。）\n- **不要使用真实生产凭证**：环境变量/API key 一旦进入宿主或工具链，可能产生账号和合规风险。（适用：出现 API、TOKEN、KEY、SECRET 等环境线索时。）\n- **安装后只验证一个最小任务**：先验证加载、兼容、输出质量和回滚，再决定是否深用。（适用：准备从试用进入真实工作流时。）\n\n### 退出方式\n\n- **保留安装前状态**：记录原始宿主配置和项目状态，后续才能判断是否可恢复。\n- **准备移除宿主 plugin / Skill / 规则入口**：如果试装后行为异常，可以把宿主 AI 恢复到试装前状态。\n- **记录安装命令和写入路径**：没有明确卸载说明时，至少要知道哪些目录或配置需要手动清理。\n- **准备撤销测试 API key 或 token**：测试凭证泄露或误用时，可以快速止损。\n- **如果没有回滚路径，不进入主力环境**：不可回滚是继续前阻断项，不应靠信任或运气继续。\n\n## 哪些只能预览\n\n- 解释项目适合谁和能做什么\n- 基于项目文档演示典型对话流程\n- 帮助用户判断是否值得安装或继续研究\n\n## 哪些必须安装后验证\n\n- 真实安装 Skill、插件或 CLI\n- 执行脚本、修改本地文件或访问外部服务\n- 验证真实输出质量、性能和兼容性\n\n## 边界与风险判断卡\n\n- **把安装前预览误认为真实运行**：用户可能高估项目已经完成的配置、权限和兼容性验证。 处理方式：明确区分 prompt_preview_can_do 与 runtime_required。 Claim：`clm_0010` inferred 0.45\n- **命令执行会修改本地环境**：安装命令可能写入用户主目录、宿主插件目录或项目配置。 处理方式：先在隔离环境或测试账号中运行。 证据：`README.md` Claim：`clm_0011` supported 0.86\n- **待确认**：真实安装后是否与用户当前宿主 AI 版本兼容？。原因：兼容性只能通过实际宿主环境验证。\n- **待确认**：项目输出质量是否满足用户具体任务？。原因：安装前预览只能展示流程和边界，不能替代真实评测。\n- **待确认**：安装命令是否需要网络、权限或全局写入？。原因：这影响企业环境和个人环境的安装风险。\n\n## 开工前工作上下文\n\n### 加载顺序\n\n- 先读取 how_to_use.host_ai_instruction，建立安装前判断资产的边界。\n- 读取 claim_graph_summary，确认事实来自 Claim/Evidence Graph，而不是 Human Wiki 叙事。\n- 再读取 intended_users、capabilities 和 quick_start_candidates，判断用户是否匹配。\n- 需要执行具体任务时，优先查 role_skill_index，再查 evidence_index。\n- 遇到真实安装、文件修改、网络访问、性能或兼容性问题时，转入 risk_card 和 boundaries.runtime_required。\n\n### 任务路由\n\n- **AI Skill / Agent 指令资产库**：先基于 role_skill_index / evidence_index 帮用户挑选可用角色、Skill 或工作流。 边界：可做安装前 Prompt 体验。 证据：`.agents/skills/clawteam-dev/SKILL.md`, `.agents/skills/frontend-design/SKILL.md`, `docs/skills/clawteam/SKILL.md`, `skills/clawteam/SKILL.md` Claim：`clm_0001` supported 0.86\n- **命令行启动或安装流程**：先说明这是安装后验证能力，再给出安装前检查清单。 边界：必须真实安装或运行后验证。 证据：`README.md` Claim：`clm_0002` supported 0.86\n\n### 上下文规模\n\n- 文件总数：188\n- 重要文件覆盖：35/188\n- 证据索引条目：33\n- 角色 / Skill 条目：4\n\n### 证据不足时的处理\n\n- **missing_evidence**：说明证据不足，要求用户提供目标文件、README 段落或安装后验证记录；不要补全事实。\n- **out_of_scope_request**：说明该任务超出当前 AI Context Pack 证据范围，并建议用户先查看 Human Manual 或真实安装后验证。\n- **runtime_request**：给出安装前检查清单和命令来源，但不要替用户执行命令或声称已执行。\n- **source_conflict**：同时展示冲突来源，标记为待核实，不要强行选择一个版本。\n\n## Prompt Recipes\n\n### 适配判断\n\n- 目标：判断这个项目是否适合用户当前任务。\n- 预期输出：适配结论、关键理由、证据引用、安装前可预览内容、必须安装后验证内容、下一步建议。\n\n```text\n请基于 clawteam-website 的 AI Context Pack，先问我 3 个必要问题，然后判断它是否适合我的任务。回答必须包含：适合谁、能做什么、不能做什么、是否值得安装、证据来自哪里。所有项目事实必须引用 evidence_refs、source_paths 或 claim_id。\n```\n\n### 安装前体验\n\n- 目标：让用户在安装前感受核心工作流，同时避免把预览包装成真实能力或营销承诺。\n- 预期输出：一段带边界标签的体验剧本、安装后验证清单和谨慎建议；不含真实运行承诺或强营销表述。\n\n```text\n请把 clawteam-website 当作安装前体验资产，而不是已安装工具或真实运行环境。\n\n请严格输出四段：\n1. 先问我 3 个必要问题。\n2. 给出一段“体验剧本”：用 [安装前可预览]、[必须安装后验证]、[证据不足] 三种标签展示它可能如何引导工作流。\n3. 给出安装后验证清单：列出哪些能力只有真实安装、真实宿主加载、真实项目运行后才能确认。\n4. 给出谨慎建议：只能说“值得继续研究/试装”“先补充信息后再判断”或“不建议继续”，不得替项目背书。\n\n硬性边界：\n- 不要声称已经安装、运行、执行测试、修改文件或产生真实结果。\n- 不要写“自动适配”“确保通过”“完美适配”“强烈建议安装”等承诺性表达。\n- 如果描述安装后的工作方式，必须使用“如果安装成功且宿主正确加载 Skill，它可能会……”这种条件句。\n- 体验剧本只能写成“示例台词/假设流程”：使用“可能会询问/可能会建议/可能会展示”，不要写“已写入、已生成、已通过、正在运行、正在生成”。\n- Prompt Preview 不负责给安装命令；如用户准备试装，只能提示先阅读 Quick Start 和 Risk Card，并在隔离环境验证。\n- 所有项目事实必须来自 supported claim、evidence_refs 或 source_paths；inferred/unverified 只能作风险或待确认项。\n\n```\n\n### 角色 / Skill 选择\n\n- 目标：从项目里的角色或 Skill 中挑选最匹配的资产。\n- 预期输出：候选角色或 Skill 列表，每项包含适用场景、证据路径、风险边界和是否需要安装后验证。\n\n```text\n请读取 role_skill_index，根据我的目标任务推荐 3-5 个最相关的角色或 Skill。每个推荐都要说明适用场景、可能输出、风险边界和 evidence_refs。\n```\n\n### 风险预检\n\n- 目标：安装或引入前识别环境、权限、规则冲突和质量风险。\n- 预期输出：环境、权限、依赖、许可、宿主冲突、质量风险和未知项的检查清单。\n\n```text\n请基于 risk_card、boundaries 和 quick_start_candidates，给我一份安装前风险预检清单。不要替我执行命令，只说明我应该检查什么、为什么检查、失败会有什么影响。\n```\n\n### 宿主 AI 开工指令\n\n- 目标：把项目上下文转成一次对话开始前的宿主 AI 指令。\n- 预期输出：一段边界明确、证据引用明确、适合复制给宿主 AI 的开工前指令。\n\n```text\n请基于 clawteam-website 的 AI Context Pack，生成一段我可以粘贴给宿主 AI 的开工前指令。这段指令必须遵守 not_runtime=true，不能声称项目已经安装、运行或产生真实结果。\n```\n\n\n## 角色 / Skill 索引\n\n- 共索引 4 个角色 / Skill / 项目文档条目。\n\n- **clawteam-dev**（skill）： 激活提示：当用户任务与“clawteam-dev”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`.agents/skills/clawteam-dev/SKILL.md`\n- **frontend-design**（skill）：Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI . Generates creative, polished code and UI design that avoids generic AI aesthetics. 激活提示：当用户任务与“frontend-design”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`.agents/skills/frontend-design/SKILL.md`\n- **ClawTeam**（skill）： 激活提示：当用户任务与“ClawTeam”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`docs/skills/clawteam/SKILL.md`\n- **ClawTeam**（skill）： 激活提示：当用户任务与“ClawTeam”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/clawteam/SKILL.md`\n\n## 证据索引\n\n- 共索引 33 条证据。\n\n- **ClawTeam Multi-Agent Coordination**（skill_instruction）：ClawTeam is a framework-agnostic CLI tool for coordinating multiple AI agents as a team. It provides team/task management, inter-agent messaging, git worktree isolation, provider-aware runtime profiles, git context injection, snapshots, and terminal-based monitoring dashboards. 证据：`docs/skills/clawteam/SKILL.md`\n- **📰 News**（documentation）：&nbsp; ClawTeam: Agent Swarm Intelligence 证据：`README.md`\n- **Package**（package_manifest）：{ \"name\": \"clawteam-website\", \"private\": true, \"version\": \"0.0.0\", \"type\": \"module\", \"scripts\": { \"dev\": \"vite --config website/vite.config.mjs\", \"build\": \"vite build --config website/vite.config.mjs\", \"preview\": \"vite preview --config website/vite.config.mjs\" }, \"dependencies\": { \"react\": \"^18.3.1\", \"react-dom\": \"^18.3.1\" }, \"devDependencies\": { \"@vitejs/plugin-react\": \"^4.3.4\", \"vite\": \"^5.4.11\" } } 证据：`package.json`\n- **ClawTeam Local Development**（skill_instruction）：This skill is for developing and validating ClawTeam inside the ClawTeam repository. Use it when the task is about changing ClawTeam itself, testing local behavior, or verifying multi-agent workflows against the current checkout. 证据：`.agents/skills/clawteam-dev/SKILL.md`\n- **Design Thinking**（skill_instruction）：This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic \"AI slop\" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices. 证据：`.agents/skills/frontend-design/SKILL.md`\n- **ClawTeam Multi-Agent Coordination**（skill_instruction）：ClawTeam is a framework-agnostic CLI tool for coordinating multiple AI agents as a team. It provides team/task management, inter-agent messaging, git worktree isolation, provider-aware runtime profiles, git context injection, snapshots, and terminal-based monitoring dashboards. 证据：`skills/clawteam/SKILL.md`\n- **License**（source_file）：Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files the \"Software\" , to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 证据：`LICENSE`\n- **Transport 抽象层 — 架构图 & 时序图**（documentation）：commands.py ─────┐ watcher.py ──────┤ lifecycle.py ────┤ plan.py ─────────┼──► MailboxManager ──► Transport ABC collector.py ────┘ │ ┌───────┴───────┐ ▼ ▼ FileTransport P2PTransport ▲ │ │ │ └── fallback ───┘ 证据：`docs/transport-architecture.md`\n- **ClawTeam CLI Complete Reference**（documentation）：- --json — Output JSON instead of human-readable text. Apply before subcommand: clawteam --json team discover - --data-dir PATH — Override data directory default: ~/.clawteam 证据：`docs/skills/clawteam/references/cli-reference.md`\n- **ClawTeam Coordination Workflows**（documentation）：Workflow 1: Create a Team and Assign Tasks 证据：`docs/skills/clawteam/references/workflows.md`\n- **📰 News**（documentation）：今天的 Agent 各自为战 🤖，明天的 Agent 将协同作战 🦞🤖🤖🤖 ClawTeam：让 AI Agent 自主组建团队、分配任务、协同工作的 CLI 工具 证据：`README_CN.md`\n- **📰 News**（documentation）：AI 에이전트의 진화 🚀: 솔로 🤖 → 스웜 🦞🤖🤖🤖 ClawTeam은 AI 에이전트가 무리를 이뤄 함께 생각하고 일하며 더 빠르게 결과를 내도록 돕습니다 证据：`README_KR.md`\n- **ClawTeam Evolution Roadmap**（documentation）：- 所有数据在 ~/.clawteam/ （团队配置、任务、消息） - 所有 agent 必须在同一台机器 - 纯文件 I/O，零依赖 证据：`ROADMAP.md`\n- **ClawTeam CLI Complete Reference**（documentation）：- --json — Output JSON instead of human-readable text. Apply before subcommand: clawteam --json team discover - --data-dir PATH — Override data directory default: ~/.clawteam 证据：`skills/clawteam/references/cli-reference.md`\n- **ClawTeam Coordination Workflows**（documentation）：Workflow 1: Create a Team and Assign Tasks 证据：`skills/clawteam/references/workflows.md`\n- **Skills Lock**（structured_config）：{ \"version\": 1, \"skills\": { \"frontend-design\": { \"source\": \"anthropics/skills\", \"sourceType\": \"github\", \"computedHash\": \"063a0e6448123cd359ad0044cc46b0e490cc7964d45ef4bb9fd842bd2ffbca67\" } } } 证据：`skills-lock.json`\n- **.gitignore**（source_file）：pycache / .py cod $py.class .egg-info/ dist/ build/ .eggs/ .egg .env .venv/ venv/ uv.lock .claude/ .local.md node modules/ 证据：`.gitignore`\n- **Init**（source_file）：\"\"\"ClawTeam - Open-source harness framework for multi-agent orchestration.\"\"\" 证据：`clawteam/__init__.py`\n- **Main**（source_file）：\"\"\"Entry point for running clawteam as a module: python -m clawteam\"\"\" 证据：`clawteam/__main__.py`\n- **Alias for code that uses the harness naming**（source_file）：\"\"\"Persistent configuration for ClawTeam.\"\"\" 证据：`clawteam/config.py`\n- **Fileutil**（source_file）：\"\"\"Atomic file writes and advisory file locking. 证据：`clawteam/fileutil.py`\n- **Identity**（source_file）：\"\"\"Agent identity for team context with compatibility env aliases.\"\"\" 证据：`clawteam/identity.py`\n- **Paths**（source_file）：\"\"\"Helpers for validating logical identifiers and constraining data paths.\"\"\" 证据：`clawteam/paths.py`\n- **Timefmt**（source_file）：\"\"\"Human-friendly timestamp formatting for CLI display.\"\"\" 证据：`clawteam/timefmt.py`\n- **Cname**（source_file）：clawteam.us 证据：`docs/CNAME`\n- **Index**（source_file）：ClawTeam 证据：`docs/index.html`\n- **Pyproject**（source_file）：project name = \"clawteam\" version = \"0.3.0\" description = \"Framework-agnostic multi-agent coordination CLI\" readme = \"README.md\" requires-python = \" =3.10\" license = {text = \"MIT\"} authors = {name = \"HKUDS\", email = \"jiabintang77@gmail.com\"} keywords = \"ai\", \"agent\", \"multi-agent\", \"team\", \"coordination\", \"cli\", \"swarm\", \"harness\" classifiers = \"Development Status :: 3 - Alpha\", \"Intended Audience :: Developers\", \"License :: OSI Approved :: MIT License\", \"Programming Language :: Python :: 3.10\", \"Programming Language :: Python :: 3.11\", \"Programming Language :: Python :: 3.12\", 证据：`pyproject.toml`\n- **!/usr/bin/env bash**（source_file）：!/usr/bin/env bash ClawTeam local source installer. Installs this checkout with pip install -e . into ~/.clawteam/.venv, links ~/.local/bin/clawteam, and installs the local ClawTeam skill into detected agent clients. 证据：`scripts/clawteam_local_install`\n- **!/usr/bin/env bash**（source_file）：!/usr/bin/env bash ClawTeam user-level installer. Installs the PyPI package into ~/.clawteam/.venv, links ~/.local/bin/clawteam, and installs the ClawTeam skill into detected agent clients. 证据：`scripts/install_clawteam.sh`\n- **!/bin/bash**（source_file）：!/bin/bash ============================================================================= OpenClaw 非交互式 Worker 包装脚本 v2.0 - 审计整改版 ============================================================================= 参数： $1 - 团队名 $2 - 收件人 $3 - 任务内容 $4 - 可选 父 Agent ID，用于模型继承 ============================================================================= 证据：`scripts/openclaw_worker.sh`\n- **Also override HOME so config path doesn't hit real ~/.clawteam/config.json**（source_file）：\"\"\"Shared fixtures for clawteam tests. 证据：`tests/conftest.py`\n- **Index**（source_file）：ClawTeam 证据：`website/index.html`\n- **Vite.Config**（source_file）：import { defineConfig } from \"vite\"; import react from \"@vitejs/plugin-react\"; import { fileURLToPath } from \"node:url\"; import { dirname, resolve } from \"node:path\"; 证据：`website/vite.config.mjs`\n\n## 宿主 AI 必须遵守的规则\n\n- **把本资产当作开工前上下文，而不是运行环境。**：AI Context Pack 只包含证据化项目理解，不包含目标项目的可执行状态。 证据：`docs/skills/clawteam/SKILL.md`, `README.md`, `package.json`\n- **回答用户时区分可预览内容与必须安装后才能验证的内容。**：安装前体验的消费者价值来自降低误装和误判，而不是伪装成真实运行。 证据：`docs/skills/clawteam/SKILL.md`, `README.md`, `package.json`\n\n## 用户开工前应该回答的问题\n\n- 你准备在哪个宿主 AI 或本地环境中使用它？\n- 你只是想先体验工作流，还是准备真实安装？\n- 你最在意的是安装成本、输出质量、还是和现有规则的冲突？\n\n## 验收标准\n\n- 所有能力声明都能回指到 evidence_refs 中的文件路径。\n- AI_CONTEXT_PACK.md 没有把预览包装成真实运行。\n- 用户能在 3 分钟内看懂适合谁、能做什么、如何开始和风险边界。\n\n---\n\n## Doramagic Context Augmentation\n\n下面内容用于强化 Repomix/AI Context Pack 主体。Human Manual 只提供阅读骨架；踩坑日志会被转成宿主 AI 必须遵守的工作约束。\n\n## Human Manual 骨架\n\n使用规则：这里只是项目阅读路线和显著性信号，不是事实权威。具体事实仍必须回到 repo evidence / Claim Graph。\n\n宿主 AI 硬性规则：\n- 不得把页标题、章节顺序、摘要或 importance 当作项目事实证据。\n- 解释 Human Manual 骨架时，必须明确说它只是阅读路线/显著性信号。\n- 能力、安装、兼容性、运行状态和风险判断必须引用 repo evidence、source path 或 Claim Graph。\n\n- **Introduction to ClawTeam**：importance `high`\n  - source_paths: README.md, clawteam/__init__.py, clawteam/identity.py\n- **Quick Start Guide**：importance `high`\n  - source_paths: README.md, pyproject.toml, scripts/install_clawteam.sh, clawteam/cli/commands.py\n- **System Architecture**：importance `high`\n  - source_paths: clawteam/paths.py, clawteam/config.py, clawteam/transport/base.py, clawteam/events/bus.py, clawteam/store/base.py\n- **Event System**：importance `medium`\n  - source_paths: clawteam/events/__init__.py, clawteam/events/bus.py, clawteam/events/global_bus.py, clawteam/events/types.py, clawteam/events/hooks.py\n- **Agent Spawning System**：importance `high`\n  - source_paths: clawteam/spawn/__init__.py, clawteam/spawn/base.py, clawteam/spawn/adapters.py, clawteam/spawn/tmux_backend.py, clawteam/spawn/subprocess_backend.py\n- **Task Management System**：importance `high`\n  - source_paths: clawteam/team/tasks.py, clawteam/team/models.py, clawteam/mcp/tools/task.py\n- **Team Management**：importance `high`\n  - source_paths: clawteam/team/manager.py, clawteam/team/lifecycle.py, clawteam/team/router.py, clawteam/team/routing_policy.py, clawteam/team/snapshot.py\n- **Transport Layer**：importance `medium`\n  - source_paths: clawteam/transport/__init__.py, clawteam/transport/base.py, clawteam/transport/file.py, clawteam/transport/p2p.py, clawteam/transport/claimed.py\n\n## Repo Inspection Evidence / 源码检查证据\n\n- repo_clone_verified: true\n- repo_inspection_verified: true\n- repo_commit: `01198332ef9270c32c5460b8a178f964fc0df451`\n- inspected_files: `pyproject.toml`, `package.json`, `README.md`, `docs/transport-architecture.md`, `docs/site-assets/index-Vcr1d_d3.js`, `docs/skills/clawteam/SKILL.md`, `docs/skills/clawteam/references/cli-reference.md`, `docs/skills/clawteam/references/workflows.md`\n\n宿主 AI 硬性规则：\n- 没有 repo_clone_verified=true 时，不得声称已经读过源码。\n- 没有 repo_inspection_verified=true 时，不得把 README/docs/package 文件判断写成事实。\n- 没有 quick_start_verified=true 时，不得声称 Quick Start 已跑通。\n\n## Doramagic Pitfall Constraints / 踩坑约束\n\n这些规则来自 Doramagic 发现、验证或编译过程中的项目专属坑点。宿主 AI 必须把它们当作工作约束，而不是普通说明文字。\n\n### Constraint 1: 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n\n- Trigger: GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n- Host AI rule: 来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- Why it matters: 可能影响授权、密钥配置或安全边界。\n- Evidence: community_evidence:github | cevd_d8bd96f00b7c46c6813bc15c32a84625 | https://github.com/HKUDS/ClawTeam/issues/76 | 来源类型 github_issue 暴露的待验证使用条件。\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 2: 可能修改宿主 AI 配置\n\n- Trigger: 项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。\n- Host AI rule: 列出会写入的配置文件、目录和卸载/回滚步骤。\n- Why it matters: 安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。\n- Evidence: capability.host_targets | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | host_targets=claude, claude_code, cursor, chatgpt\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 3: 来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…\n\n- Trigger: GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM plugin + reaction engine\n- Host AI rule: 来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- Why it matters: 可能增加新用户试用和生产接入成本。\n- Evidence: community_evidence:github | cevd_114771b2a1474b358b05a6a9e61807f6 | https://github.com/HKUDS/ClawTeam/issues/157 | 来源类型 github_issue 暴露的待验证使用条件。\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 4: 能力判断依赖假设\n\n- Trigger: README/documentation is current enough for a first validation pass.\n- Host AI rule: 将假设转成下游验证清单。\n- Why it matters: 假设不成立时，用户拿不到承诺的能力。\n- Evidence: capability.assumptions | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | README/documentation is current enough for a first validation pass.\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 5: 维护活跃度未知\n\n- Trigger: 未记录 last_activity_observed。\n- Host AI rule: 补 GitHub 最近 commit、release、issue/PR 响应信号。\n- Why it matters: 新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- Evidence: evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | last_activity_observed missing\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 6: 下游验证发现风险项\n\n- Trigger: no_demo\n- Host AI rule: 进入安全/权限治理复核队列。\n- Why it matters: 下游已经要求复核，不能在页面中弱化。\n- Evidence: downstream_validation.risk_items | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 7: 存在安全注意事项\n\n- Trigger: No sandbox install has been executed yet; downstream must verify before user use.\n- Host AI rule: 转成明确权限清单和安全审查提示。\n- Why it matters: 用户安装前需要知道权限边界和敏感操作。\n- Evidence: risks.safety_notes | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | No sandbox install has been executed yet; downstream must verify before user use.\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 8: 存在评分风险\n\n- Trigger: no_demo\n- Host AI rule: 把风险写入边界卡，并确认是否需要人工复核。\n- Why it matters: 风险会影响是否适合普通用户安装。\n- Evidence: risks.scoring_risks | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 9: 来源证据：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n\n- Trigger: GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n- Host AI rule: 来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- Why it matters: 可能影响授权、密钥配置或安全边界。\n- Evidence: community_evidence:github | cevd_dc9ad856da7a4a828860da94afadc7ec | https://github.com/HKUDS/ClawTeam/issues/146 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 10: 来源证据：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n\n- Trigger: GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n- Host AI rule: 来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- Why it matters: 可能阻塞安装或首次运行。\n- Evidence: community_evidence:github | cevd_61dec732a08f4279a590654f0eecea51 | https://github.com/HKUDS/ClawTeam/issues/104 | 来源类型 github_issue 暴露的待验证使用条件。\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n",
      "summary": "给宿主 AI 的上下文和工作边界。",
      "title": "AI Context Pack / 带给我的 AI"
    },
    "boundary_risk_card": {
      "asset_id": "boundary_risk_card",
      "filename": "BOUNDARY_RISK_CARD.md",
      "markdown": "# Boundary & Risk Card / 安装前决策卡\n\n项目：HKUDS/ClawTeam\n\n## Doramagic 试用结论\n\n当前结论：可以进入发布前推荐检查；首次使用仍应从最小权限、临时目录和可回滚配置开始。\n\n## 用户现在可以做\n\n- 可以先阅读 Human Manual，理解项目目的和主要工作流。\n- 可以复制 Prompt Preview 做安装前体验；这只验证交互感，不代表真实运行。\n- 可以把官方 Quick Start 命令放到隔离环境中验证，不要直接进主力环境。\n\n## 现在不要做\n\n- 不要把 Prompt Preview 当成项目实际运行结果。\n- 不要把 metadata-only validation 当成沙箱安装验证。\n- 不要把未验证能力写成“已支持、已跑通、可放心安装”。\n- 不要在首次试用时交出生产数据、私人文件、真实密钥或主力配置目录。\n\n## 安装前检查\n\n- 宿主 AI 是否匹配：claude, claude_code, cursor, chatgpt\n- 官方安装入口状态：已发现官方入口\n- 是否在临时目录、临时宿主或容器中验证：必须是\n- 是否能回滚配置改动：必须能\n- 是否需要 API Key、网络访问、读写文件或修改宿主配置：未确认前按高风险处理\n- 是否记录了安装命令、实际输出和失败日志：必须记录\n\n## 当前阻塞项\n\n- 无阻塞项。\n\n## 项目专属踩坑\n\n- 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing（high）：可能影响授权、密钥配置或安全边界。 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 可能修改宿主 AI 配置（medium）：安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。 建议检查：列出会写入的配置文件、目录和卸载/回滚步骤。\n- 来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…（medium）：可能增加新用户试用和生产接入成本。 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 能力判断依赖假设（medium）：假设不成立时，用户拿不到承诺的能力。 建议检查：将假设转成下游验证清单。\n- 维护活跃度未知（medium）：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n\n## 风险与权限提示\n\n- no_demo: medium\n\n## 证据缺口\n\n- 暂未发现结构化证据缺口。\n",
      "summary": "安装、权限、验证和推荐前风险。",
      "title": "Boundary & Risk Card / 边界与风险卡"
    },
    "human_manual": {
      "asset_id": "human_manual",
      "filename": "HUMAN_MANUAL.md",
      "markdown": "# https://github.com/HKUDS/ClawTeam 项目说明书\n\n生成时间：2026-05-17 05:40:48 UTC\n\n## 目录\n\n- [Introduction to ClawTeam](#page-introduction)\n- [Quick Start Guide](#page-quickstart)\n- [System Architecture](#page-architecture)\n- [Event System](#page-event-system)\n- [Agent Spawning System](#page-agent-spawning)\n- [Task Management System](#page-task-management)\n- [Team Management](#page-team-management)\n- [Transport Layer](#page-transport)\n- [Messaging & Inbox System](#page-messaging)\n- [Board & Monitoring Dashboard](#page-board-dashboard)\n\n<a id='page-introduction'></a>\n\n## Introduction to ClawTeam\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Quick Start Guide](#page-quickstart)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n- [clawteam/spawn/session_locators/claude.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/claude.py)\n</details>\n\n# Introduction to ClawTeam\n\nClawTeam is an agent swarm orchestration CLI designed to coordinate multiple coding agents—including Claude Code, Codex, OpenClaw, nanobot, and other terminal-native clients—from a single command-line interface. It serves as the coordination layer that enables agents to plan, delegate, and ship code together as a unified team.\n\n## Purpose and Scope\n\nClawTeam addresses a fundamental limitation in modern AI-assisted development: isolated agent sessions working independently without coordination. The platform provides:\n\n- **Team Management**: Create and manage teams of agents with designated leaders\n- **Task Coordination**: Shared task boards with dependency tracking and priority levels\n- **Inter-Agent Communication**: File-based inbox system for point-to-point and broadcast messaging\n- **Session Management**: Spawn, monitor, and lifecycle control of agent processes\n- **Context Injection**: Git-aware context tools for worktree isolation and overlap detection\n\n资料来源：[skills/clawteam/SKILL.md]()\n\n## Architecture Overview\n\nClawTeam follows a leader-worker architecture where one agent serves as the coordinator while others perform specialized tasks.\n\n```mermaid\ngraph TD\n    A[Leader Agent] --> B[Worker Agent 1]\n    A --> C[Worker Agent 2]\n    A --> D[Worker Agent N]\n    B --> E[Task Store]\n    C --> E\n    D --> E\n    A --> F[Message Inboxes]\n    B --> F\n    C --> F\n    D --> F\n    G[CLI Interface] --> A\n    G --> H[Board Dashboard]\n```\n\n### Core Components\n\n| Component | Description |\n|-----------|-------------|\n| **CLI Interface** | Command-line entry point for all operations |\n| **Team Manager** | Handles team creation, membership, and discovery |\n| **Task Store** | File-based task board with dependency chains |\n| **Message Inbox** | Per-agent file-based message queue |\n| **Spawn Backends** | tmux, subprocess, wsh for launching agents |\n| **Session Locators** | Detects and captures existing agent sessions |\n\n资料来源：[clawteam/team/tasks.py:1-12]()\n\n## Data Storage Model\n\nAll data is persisted in `~/.clawteam/` with a structured directory layout:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Task Management System\n\nTasks form the backbone of team coordination, supporting four distinct statuses:\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Not yet started |\n| `in_progress` | Currently being worked on |\n| `completed` | Done (auto-unblocks dependents) |\n| `blocked` | Waiting on other tasks |\n\n### Task Dependencies\n\nTasks support dependency chains through two parameters:\n\n- `--blocks`: Task IDs this task blocks upon completion\n- `--blocked-by`: Task IDs blocking this task from starting\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n```mermaid\ngraph LR\n    T1[Task 1: Design] --> T2[Task 2: Implement]\n    T2 --> T3[Task 3: Test]\n    T3 --> T4[Task 4: Deploy]\n    T1 -->|blocks| T2\n    T2 -->|blocks| T3\n    T3 -->|blocks| T4\n```\n\n## Message Types\n\nThe inbox system supports various message types for inter-agent communication:\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all members |\n| `join_request` | Request to join team |\n| `join_approved` / `join_rejected` | Join response |\n| `plan_approval_request` | Plan submitted for review |\n| `plan_approved` / `plan_rejected` | Plan response |\n| `shutdown_request` | Shutdown request |\n| `shutdown_approved` / `shutdown_rejected` | Shutdown response |\n| `idle` | Agent idle notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Spawn Backends\n\nClawTeam supports multiple spawn backends for launching agents:\n\n| Backend | Description |\n|---------|-------------|\n| `tmux` | Default backend, sessions in tmux panes |\n| `subprocess` | Direct subprocess spawning |\n| `wsh` | WebSocket handler for IDE integration |\n\nThe spawn command configures team environment variables for spawned agents:\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-30]()\n\n## Session Management\n\nFor Claude Code specifically, ClawTeam integrates with existing sessions:\n\n```python\n# Session capture flow from clawteam/spawn/session_locators/claude.py\nsession_id = str(uuid.uuid4())\nreturn PreparedSession(\n    command=[*command, \"--session-id\", session_id],\n    client=self.client,\n    session_id=session_id,\n    source=\"generated\",\n    confidence=\"exact\",\n    cwd=context.cwd,\n)\n```\n\nThe system can detect existing sessions via:\n- Environment variables (`CLAUDE_CODE_SESSION`, `CLAUDE_SESSION_ID`)\n- Project directory session files (`.jsonl` format)\n\n资料来源：[clawteam/spawn/session_locators/claude.py:1-60]()\n\n## Lifecycle Management\n\nAgents support a complete lifecycle for graceful shutdown:\n\n```mermaid\ngraph TD\n    A[Agent Running] --> B{Shutdown Request}\n    B -->|approve| C[Agent Shuts Down]\n    B -->|reject| D[Agent Continues]\n    A --> E[Idle Notification]\n    E --> F[Leader Reassigns Tasks]\n```\n\n### Lifecycle Commands\n\n| Command | Purpose |\n|---------|---------|\n| `lifecycle request-shutdown` | Request an agent to shut down |\n| `lifecycle approve-shutdown` | Agent agrees to shut down |\n| `lifecycle reject-shutdown` | Agent rejects shutdown request |\n| `lifecycle idle` | Send idle notification to leader |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Quick Start\n\n### Installation\n\n```bash\nclawteam --version  # Check if installed\npip install clawteam  # Requires Python 3.10+\n```\n\n### Create and Manage a Team\n\n```bash\n# Set agent identity\nexport CLAWTEAM_AGENT_ID=\"leader-001\"\nexport CLAWTEAM_AGENT_NAME=\"leader\"\nexport CLAWTEAM_AGENT_TYPE=\"leader\"\n\n# Spawn a team with leader\nclawteam team spawn-team my-team -d \"Project team\" -n leader\n\n# Create tasks\nclawteam task create my-team \"Design system\" -o leader\nclawteam task create my-team \"Implement feature\" -o worker1\nclawteam task create my-team \"Write tests\" -o worker2\n\n# View team board\nclawteam board show my-team\n```\n\n### Spawn Worker Agents\n\n```bash\nclawteam spawn tmux claude-code --team my-team --agent-name builder\nclawteam spawn tmux claude-code --team my-team --agent-name reviewer\n```\n\n资料来源：[skills/clawteam/SKILL.md]()\n\n## Board Dashboard\n\nThe board command provides team visibility through multiple views:\n\n| Command | Description |\n|---------|-------------|\n| `board show` | Detailed kanban board with message history |\n| `board overview` | Summary of all teams in table format |\n| `board live` | Live-refreshing kanban board with auto-refresh |\n\n```bash\n# JSON output for integration\nclawteam --json board show my-team\n\n# Live monitoring\nclawteam board live my-team --interval 2.0\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Identity System\n\nEach agent requires environment variables for identification within the team:\n\n```bash\neval $(clawteam identity set --agent-name alice --team dev-team)\n```\n\nThe identity system exposes:\n- `CLAWTEAM_AGENT_ID`: Unique identifier\n- `CLAWTEAM_AGENT_NAME`: Human-readable name\n- `CLAWTEAM_AGENT_TYPE`: Role classification (leader, general-purpose, etc.)\n\n资料来源：[clawteam/harness/context_recovery.py:1-40]()\n\n## Context Recovery\n\nThe harness system provides role-based context recovery for agents:\n\n```python\n# Layer 5: One-liner teammate summaries from context_recovery.py\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    from clawteam.team.tasks import TaskStore\n    store = TaskStore(team_name)\n    tasks = store.list_tasks()\n    # Group by owner, exclude self\n    owner_status: dict[str, tuple[int, int]] = {}\n```\n\nThis enables leaders to understand team workload distribution and assign tasks appropriately.\n\n资料来源：[clawteam/harness/context_recovery.py:40-70]()\n\n## See Also\n\n- [CLI Reference](skills/clawteam/references/cli-reference.md) - Complete command documentation\n- [SKILL.md](skills/clawteam/SKILL.md) - Comprehensive usage guide\n\n---\n\n<a id='page-quickstart'></a>\n\n## Quick Start Guide\n\n### 相关页面\n\n相关主题：[Introduction to ClawTeam](#page-introduction), [Agent Spawning System](#page-agent-spawning)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [README.md](https://github.com/HKUDS/ClawTeam/blob/main/README.md)\n- [pyproject.toml](https://github.com/HKUDS/ClawTeam/blob/main/pyproject.toml)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [clawteam/spawn/session_locators/claude.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/claude.py)\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n</details>\n\n# Quick Start Guide\n\nClawTeam is an agent swarm orchestration CLI that enables coordination of multiple coding agents (Claude Code, Codex, OpenClaw, nanobot, and any terminal-native client) from a single command-line interface. This guide walks you through installation, team creation, agent spawning, and basic coordination workflows.\n\n## Prerequisites\n\nBefore getting started with ClawTeam, ensure your environment meets the following requirements:\n\n| Requirement | Version/Details | Notes |\n|-------------|-----------------|-------|\n| Python | 3.10+ | Required runtime |\n| tmux | Latest | Default spawn backend |\n| Git | Any recent version | For worktree isolation and context features |\n| Coding Agent CLI | Claude, Codex, Gemini, etc. | At least one agent client installed |\n\n资料来源：[skills/clawteam/SKILL.md:20-30]()\n\n## Installation\n\n### Standard Installation\n\nInstall ClawTeam via pip:\n\n```bash\npip install clawteam\n```\n\n### Installation with P2P Transport Support\n\nFor peer-to-peer transport capabilities:\n\n```bash\npip install \"clawteam[p2p]\"\n```\n\n### Verify Installation\n\nConfirm ClawTeam is installed correctly:\n\n```bash\nclawteam --version\n```\n\n资料来源：[skills/clawteam/SKILL.md:12-18]()\n\n## Core Concepts\n\nUnderstanding these fundamental concepts is essential before creating your first agent team.\n\n### Teams\n\nTeams are named groups of agents with one designated leader and zero or more worker agents. The leader coordinates task distribution and monitors team progress. 资料来源：[skills/clawteam/SKILL.md:32]()\n\n### Tasks\n\nShared task board with status tracking:\n- `pending` — Not yet started\n- `in_progress` — Currently being worked on\n- `completed` — Done; auto-unblocks dependent tasks\n- `blocked` — Waiting on other tasks to complete\n\nTasks support dependency chains and priority levels (low, medium, high, urgent). 资料来源：[skills/clawteam/references/cli-reference.md:80-88]()\n\n### Inbox\n\nFile-based message queue per agent. Messages can be destructive (`receive`) or non-destructive (`peek`). 资料来源：[skills/clawteam/SKILL.md:34]()\n\n### Spawn Backends\n\nClawTeam supports multiple agent spawning backends:\n\n| Backend | Description | Use Case |\n|---------|-------------|----------|\n| `subprocess` | Spawns agent as subprocess | Simple local execution |\n| `tmux` | Spawns agent in tmux session | Persistent sessions with terminal access |\n| `wsh` | Windows Subsystem for Host | Windows environment support |\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-50]()\n\n## Step 1: Create a Team\n\n### Spawn a New Team\n\nCreate a team with a leader agent:\n\n```bash\nclawteam team spawn-team <team-name> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--description, -d` | Team description | `\"\"` |\n| `--agent-name, -n` | Leader agent name | `\"leader\"` |\n| `--agent-type` | Leader agent type | `\"leader\"` |\n\n**Example:**\n\n```bash\nclawteam team spawn-team dev-sprint -d \"Backend development team\" -n alice\n```\n\nThe team leader will automatically be registered in the system. 资料来源：[skills/clawteam/references/cli-reference.md:100-115]()\n\n### Verify Team Creation\n\nCheck team status and members:\n\n```bash\nclawteam team status <team-name>\n```\n\n### List Existing Teams\n\nDiscover all teams in the network:\n\n```bash\nclawteam team discover\n```\n\nOr get JSON output for scripting:\n\n```bash\nclawteam --json team discover\n```\n\nReturns: name, description, leadAgentId, memberCount for each team. 资料来源：[skills/clawteam/references/cli-reference.md:116-120]()\n\n## Step 2: Spawn Agents\n\n### Spawn an Agent into a Team\n\nAdd a worker agent to your team:\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n**Example:**\n\n```bash\nclawteam spawn tmux claude --team dev-sprint --agent-name builder --agent-type researcher\n```\n\nThis spawns Claude Code in a tmux session named `builder` and registers it with the `dev-sprint` team. 资料来源：[skills/clawteam/references/cli-reference.md:35-45]()\n\n### Agent Identity Setup\n\nFor spawned agents to operate within the team context, set identity environment variables:\n\n```bash\neval $(clawteam identity set --agent-name alice --team dev-team)\n```\n\nView current agent identity:\n\n```bash\nclawteam identity show\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:46-55]()\n\n## Step 3: Manage Tasks\n\n### Create a Task\n\n```bash\nclawteam task create <team> <subject> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--owner, -o` | Task owner | None |\n| `--description, -d` | Task description | None |\n| `--priority, -p` | Priority: low, medium, high, urgent | medium |\n| `--blocks` | Comma-separated task IDs this blocks | None |\n| `--blocked-by` | Comma-separated task IDs blocking this | None |\n\n**Example:**\n\n```bash\nclawteam task create dev-team \"Implement auth\" -o alice -d \"Add JWT authentication\"\n```\n\n### Update Task Status\n\n```bash\nclawteam task update <team> <task-id> [options]\n```\n\n| Option | Description |\n|--------|-------------|\n| `--status, -s` | New status: pending, in_progress, completed, blocked |\n| `--owner, -o` | New owner |\n| `--add-blocks` | Task IDs to add to blocks |\n| `--add-blocked-by` | Task IDs to add to blocked-by |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain). 资料来源：[skills/clawteam/references/cli-reference.md:60-80]()\n\n### List Team Tasks\n\n```bash\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n```\n\n## Team Workflow Example\n\n```mermaid\ngraph TD\n    A[Install ClawTeam] --> B[Spawn Team with Leader]\n    B --> C[Leader Creates Initial Tasks]\n    C --> D[Spawn Worker Agents]\n    D --> E[Workers Pick Tasks]\n    E --> F[Complete Task]\n    F --> G{Tasks Blocked?}\n    G -->|Yes| H[Wait for Blockers]\n    G -->|No| I[Mark Complete]\n    H --> I\n    I --> J{More Tasks?}\n    J -->|Yes| E\n    J -->|No| K[Idle Notification]\n```\n\n### Terminal Workflow Demo\n\nThe following demonstrates the typical CLI workflow:\n\n```bash\n$ clawteam team spawn-team docs-sprint\n✓ Team \"docs-sprint\" created\n\n$ clawteam spawn tmux claude-code --agent-name builder\n✓ Agent \"builder\" spawned in tmux\n\n$ clawteam team status docs-sprint\ndocs-sprint  3 agents active\n● T-001 Build landing page  done\n● T-002 Write API docs  active\n○ T-003 Review & merge  blocked\n```\n\n资料来源：[website/src/App.jsx:1-60]()\n\n## Lifecycle Management\n\n### Request Agent Shutdown\n\n```bash\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n```\n\n### Approve/Reject Shutdown\n\n```bash\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n```\n\n### Send Idle Notification\n\nWhen an agent has no more work:\n\n```bash\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\nThis notifies the team leader that the agent is available for new tasks. 资料来源：[skills/clawteam/references/cli-reference.md:130-150]()\n\n## Communication Between Agents\n\n### Message Types\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all team members |\n| `join_request` | Request to join team |\n| `join_approved` / `join_rejected` | Join response |\n\n### Send a Message\n\n```bash\nclawteam message send <team> <to-agent> <content>\n```\n\n### Join a Team\n\nRequest to join an existing team:\n\n```bash\nclawteam team request-join <team> <proposed-name> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--capabilities, -c` | Agent capabilities description | `\"\"` |\n| `--timeout, -t` | Timeout in seconds | 60 |\n\nThe leader can approve or reject the request:\n\n```bash\nclawteam team approve-join <team> <request-id> [--assigned-name NAME]\nclawteam team reject-join <team> <request-id>\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:25-30]()\n\n## Plan Submission and Approval\n\n### Submit a Plan\n\n```bash\nclawteam plan submit <team> <agent> <plan-content-or-file> [--summary TEXT]\n```\n\n### Approve/Reject a Plan\n\n```bash\nclawteam plan approve <team> <plan-id> <agent> [--feedback TEXT]\nclawteam plan reject <team> <plan-id> <agent> [--feedback TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:95-108]()\n\n## Session Persistence\n\nClawTeam handles session persistence for agents like Claude Code. When spawning an agent:\n\n1. If `--continue` or `-c` flag is used, the agent continues from its last session\n2. Otherwise, a new session ID is generated automatically\n3. Session state is captured and stored for future restoration\n\n```python\n# Session capture flow\nif prepared.session_id:\n    return CapturedSession(\n        session_id=prepared.session_id,\n        client=self.client,\n        source=prepared.source or \"prepared\",\n        confidence=prepared.confidence or \"exact\",\n        cwd=context.cwd,\n    )\nreturn self.current_session(context)\n```\n\n资料来源：[clawteam/spawn/session_locators/claude.py:30-45]()\n\n## Data Storage\n\nAll team data is stored in `~/.clawteam/` by default:\n\n| Data Type | Storage Location |\n|-----------|------------------|\n| Teams | `~/.clawteam/teams/` |\n| Tasks | `~/.clawteam/teams/<team>/tasks/` |\n| Messages | `~/.clawteam/teams/<team>/inbox/<agent>/` |\n| Sessions | `~/.clawteam/sessions/` |\n\nTask operations are backed by `FileTaskStore`:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\nfrom clawteam.store.file import FileTaskStore\n\nTaskStore = FileTaskStore\n```\n\n资料来源：[clawteam/team/tasks.py:1-20]()\n\n## Next Steps\n\n- Review the [CLI Reference](skills/clawteam/references/cli-reference.md) for complete command documentation\n- Explore [Git-aware execution](skills/clawteam/SKILL.md) features for repository integration\n- Configure [runtime profiles](skills/clawteam/SKILL.md) for different agent environments\n\n---\n\n<a id='page-architecture'></a>\n\n## System Architecture\n\n### 相关页面\n\n相关主题：[Introduction to ClawTeam](#page-introduction), [Transport Layer](#page-transport), [Event System](#page-event-system)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n</details>\n\n# System Architecture\n\n## Overview\n\nClawTeam is an agent swarm orchestration CLI that coordinates multiple coding agents (Claude Code, Codex, OpenClaw, nanobot, and any terminal-native client) from a single command-line interface. The system provides shared task graphs, persistent coordination, and git-aware execution across distributed agent workers.\n\nThe architecture follows a modular design with clear separation between spawning backends, team management, task storage, event handling, and transport layers. All data persists in `~/.clawteam/` by default, with support for P2P transport when agents operate on different machines.\n\n资料来源：[skills/clawteam/SKILL.md:1-15]()\n\n## High-Level Component Architecture\n\n```mermaid\ngraph TD\n    subgraph \"CLI Layer\"\n        CLI[clawteam CLI]\n    end\n    \n    subgraph \"Core Services\"\n        TM[Team Manager]\n        TS[Task Store]\n        EB[Event Bus]\n        TR[Transport Layer]\n    end\n    \n    subgraph \"Spawn Backends\"\n        TMUX[Tmux Backend]\n        WSH[Wsh Backend]\n        SUB[Subprocess Backend]\n    end\n    \n    subgraph \"Agent Runtime\"\n        AG1[Agent 1]\n        AG2[Agent 2]\n        AGn[Agent N]\n    end\n    \n    subgraph \"Data Storage\"\n        ST[Store - FileSystem]\n        IN[Inbox - per-agent]\n        TK[Tasks JSON]\n        PL[Plan Files]\n    end\n    \n    CLI --> TM\n    CLI --> TS\n    CLI --> EB\n    CLI --> TR\n    TM --> TS\n    TM --> EB\n    EB --> TR\n    TR --> AG1\n    TR --> AG2\n    AG1 --> ST\n    AG2 --> ST\n    ST --> IN\n    ST --> TK\n    ST --> PL\n```\n\n## Core Modules\n\n### Task Store Layer\n\nThe task storage system provides a persistent, file-based task management interface. The `TaskStore` class serves as the primary abstraction, with implementations supporting different storage backends.\n\n```mermaid\nclassDiagram\n    class BaseTaskStore {\n        <<abstract>>\n        +create_task(task) Task\n        +get_task(task_id) Task\n        +update_task(task_id, updates) Task\n        +list_tasks() List~Task~\n        +delete_task(task_id)\n        +acquire_lock(task_id) ContextManager\n        +release_lock(task_id)\n    }\n    \n    class FileTaskStore {\n        +_base_path: Path\n        +create_task(task) Task\n        +get_task(task_id) Task\n        +update_task(task_id, updates) Task\n        +list_tasks() List~Task~\n    }\n    \n    class TaskLockError {\n        +Exception\n    }\n    \n    BaseTaskStore <|-- FileTaskStore\n    BaseTaskStore -- TaskLockError\n```\n\n**Task Data Model**\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Unique task identifier |\n| `subject` | string | Task title/summary |\n| `description` | string | Detailed task description |\n| `status` | enum | `pending`, `in_progress`, `completed`, `blocked` |\n| `owner` | string | Agent responsible for task |\n| `priority` | enum | `low`, `medium`, `high`, `urgent` |\n| `blocks` | list[string] | Task IDs this blocks |\n| `blocked_by` | list[string] | Task IDs blocking this |\n\n资料来源：[clawteam/team/tasks.py:1-15]()\n\n**Task Status Transitions**\n\n| Current Status | Valid Transitions | Auto-Behavior |\n|----------------|-------------------|---------------|\n| `pending` | `in_progress`, `blocked` | - |\n| `in_progress` | `completed`, `blocked` | - |\n| `completed` | - | Unblocks all dependent tasks |\n| `blocked` | `pending`, `in_progress` | Auto-unblock when blockers complete |\n\n资料来源：[skills/clawteam/references/cli-reference.md:85-100]()\n\n### Event Bus\n\nThe event system enables inter-agent communication through a pub-sub pattern. Events flow through the transport layer to reach individual agent inboxes.\n\n```mermaid\ngraph LR\n    A[Agent A] -->|publish| EB[Event Bus]\n    EB -->|deliver| IN1[Inbox A]\n    EB -->|deliver| IN2[Inbox B]\n    EB -->|deliver| INn[Inbox N]\n    \n    subgraph \"Message Types\"\n        MSG[message]\n        BC[broadcast]\n        JR[join_request]\n        PA[plan_approval_request]\n        SR[shutdown_request]\n        IDL[idle]\n    end\n    \n    EB -.->|routes| MSG\n    EB -.->|routes| BC\n    EB -.->|routes| JR\n    EB -.->|routes| PA\n    EB -.->|routes| SR\n    EB -.->|routes| IDL\n```\n\n**Supported Message Types**\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | point-to-point | General communication between agents |\n| `broadcast` | one-to-all | Announcements to entire team |\n| `join_request` | worker→leader | Request to join team |\n| `join_approved` / `join_rejected` | leader→worker | Join response |\n| `plan_approval_request` | worker→leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | leader→worker | Plan response |\n| `shutdown_request` | any→any | Request agent shutdown |\n| `shutdown_approved` / `shutdown_rejected` | any→any | Shutdown response |\n| `idle` | worker→leader | Agent has no more work |\n\n资料来源：[skills/clawteam/references/cli-reference.md:110-125]()\n\n### Spawn Backend System\n\nThe spawn system launches agent processes using configurable backends. Each backend implements a common interface for process management and runtime injection.\n\n**Backend Architecture**\n\n```mermaid\ngraph TD\n    subgraph \"Spawn Factory\"\n        SF[Backend Factory]\n    end\n    \n    SF --> TMUX[Tmux Backend]\n    SF --> WSH[Wsh Backend]\n    SF --> SUB[Subprocess Backend]\n    \n    subgraph \"Agent Lifecycle\"\n        LAUNCH[Launch]\n        MONITOR[Monitor]\n        INJECT[Inject Runtime]\n        TERMINATE[Terminate]\n    end\n    \n    TMUX --> LAUNCH\n    WSH --> LAUNCH\n    SUB --> LAUNCH\n    TMUX --> MONITOR\n    WSH --> MONITOR\n    SUB --> MONITOR\n    WSH --> INJECT\n    TMUX --> INJECT\n    SUB --> INJECT\n```\n\n**Spawn Command Parameters**\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n**Example Usage**\n\n```bash\nclawteam spawn tmux claude --team dev-team --agent-name builder --agent-type researcher\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md:25-45]()\n\n### Wsh Backend Implementation\n\nThe WebSocket-based spawn backend (`wsh_backend.py`) provides runtime message injection into running agent sessions.\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running wsh block.\"\"\"\n    from clawteam.spawn.registry import get_registry\n\n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\") or self._blocks.get(agent_name, \"\")\n    if not block_id:\n        return False, f\"wsh block for '{team}/{agent_name}' not found\"\n    if not _is_block_alive(block_id):\n        return False, f\"wsh block '{block_id}' is not alive\"\n    # ... RPC client payload delivery\n```\n\n**Agent Registration Flow**\n\n1. Agent spawns with `team_name`, `agent_name`, `backend` type\n2. Backend calls `register_agent()` with metadata\n3. Spawn data persisted via `persist_spawned_session()`\n4. Agent entry stored in registry for runtime lookups\n\n资料来源：[clawteam/spawn/wsh_backend.py:1-55]()\n\n## Data Storage Layout\n\nAll persistent data resides under `~/.clawteam/` with a structured directory hierarchy:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n**Inbox Operations**\n\n| Operation | Behavior |\n|-----------|----------|\n| `receive` | Destructive read - message removed after retrieval |\n| `peek` | Non-destructive read - message remains in inbox |\n\n## Team Structure\n\n```mermaid\ngraph TD\n    subgraph \"Team: dev-team\"\n        L[Leader Agent]\n        W1[Worker: alice]\n        W2[Worker: bob]\n        W3[Worker: charlie]\n        \n        L -->|manages| W1\n        L -->|manages| W2\n        L -->|manages| W3\n        \n        subgraph \"Shared Resources\"\n            TB[Task Board]\n            CH[Inbox Channel]\n            CT[Context]\n        end\n        \n        W1 --> TB\n        W2 --> TB\n        W3 --> TB\n        W1 --> CH\n        W2 --> CH\n        W3 --> CH\n    end\n```\n\n**Team Commands**\n\n| Command | Description |\n|---------|-------------|\n| `clawteam team spawn-team` | Create team and register leader |\n| `clawteam team discover` | List all existing teams |\n| `clawteam team status` | Show team configuration and members |\n| `clawteam team request-join` | Request to join a team |\n| `clawteam team approve-join` | Approve join request (leader only) |\n\n资料来源：[skills/clawteam/references/cli-reference.md:130-160]()\n\n## Context and Recovery System\n\nThe context recovery module provides role-specific context injection for agents operating within the harness system.\n\n**Role-Based Context Layers**\n\n| Role | Context Provided |\n|------|------------------|\n| `worker` | Sprint contract artifacts assigned to agent |\n| `evaluator` | Specification + all contract criteria |\n| `planner` | Spec draft for planning |\n\n```python\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    \"\"\"Layer 5: One-liner teammate summaries.\"\"\"\n    try:\n        from clawteam.team.tasks import TaskStore\n        store = TaskStore(team_name)\n        tasks = store.list_tasks()\n\n        # Group by owner, exclude self\n        owner_status: dict[str, tuple[int, int]] = {}\n        for t in tasks:\n            if t.owner and t.owner != agent_name:\n                done, total = owner_status.get(t.owner, (0, 0))\n                total += 1\n                if t.status == TaskStatus.COMPLETED:\n                    done += 1\n                owner_status[t.owner] = (done, total)\n    except Exception:\n        pass\n```\n\n资料来源：[clawteam/harness/context_recovery.py:1-75]()\n\n## Frontend Architecture\n\nThe website provides a browser-based dashboard for visualizing team state.\n\n```mermaid\ngraph LR\n    subgraph \"React Components\"\n        App[App.jsx]\n        TM[TerminalMockup]\n        HG[HalfGlobe]\n    end\n    \n    subgraph \"UI Sections\"\n        H[Hero]\n        F[Features]\n        W[Workflow]\n        D[Docs]\n    end\n    \n    subgraph \"Data Display\"\n        TL[Terminal Output]\n        KB[Kanban Board]\n        ST[Status Grid]\n    end\n    \n    App --> TM\n    App --> HG\n    TM --> TL\n    H --> KB\n    F --> ST\n    W --> D\n```\n\n**Terminal Mockup Features**\n\n- Real-time team status display\n- Agent spawn simulation\n- Task progress visualization with status badges\n- Animated cursor for active states\n\n资料来源：[website/src/App.jsx:1-100]()\n\n## Communication Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant W1 as Worker Alice\n    participant W2 as Worker Bob\n    participant T as TaskStore\n    participant I as Inbox\n    \n    W1->>L: request-join(team, \"alice\")\n    L->>T: create_task()\n    L->>W1: join_approved\n    W1->>T: update_task(status=in_progress)\n    W1->>L: plan_approval_request\n    L->>W1: plan_approved\n    W1->>T: update_task(status=completed)\n    T->>W2: unblock(task_id)\n    W2->>L: idle(last_task=T-001)\n```\n\n## Key Dependencies\n\n| Component | Dependencies | Purpose |\n|-----------|-------------|---------|\n| Task Store | `clawteam/store/base.py` | Abstract store interface |\n| Spawn Backends | `tmux`, `wsh` | Process management |\n| Event Bus | File system / P2P | Inter-agent messaging |\n| CLI | Click/Typer | Command parsing |\n| Context | Git worktrees | Repository awareness |\n\n资料来源：[skills/clawteam/SKILL.md:1-40]()\n\n## Summary\n\nClawTeam's architecture centers on three pillars:\n\n1. **Team Coordination** - Leader-based hierarchy with worker registration and task distribution\n2. **Persistent Storage** - File-based task boards, inboxes, and plans under `~/.clawteam/`\n3. **Flexible Spawning** - Pluggable backends (tmux, subprocess, wsh) for agent lifecycle management\n\nThe system is designed for git-aware, multi-agent development workflows where agents share task context, communicate via typed messages, and maintain independent worktree isolation.\n\n---\n\n<a id='page-event-system'></a>\n\n## Event System\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Team Management](#page-team-management)\n\n<details>\n<summary>Relevant Source Files</summary>\n\nThe following source files are listed as relevant for generating this page, but **were not present in the retrieved repository context**:\n\n- [clawteam/events/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/__init__.py)\n- [clawteam/events/bus.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/bus.py)\n- [clawteam/events/global_bus.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/global_bus.py)\n- [clawteam/events/types.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/types.py)\n- [clawteam/events/hooks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/events/hooks.py)\n\nThe following files from the provided context were used to derive event-related information:\n\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [clawteam/spawn/wsh_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/wsh_backend.py)\n- [clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n\n</details>\n\n# Event System\n\n> ⚠️ **Documentation Notice**: This page documents the Event System based on available repository context. The core event system source files (`clawteam/events/*.py`) were not available in the retrieved context. This page derives event system behavior from CLI reference documentation and related modules.\n\n## Overview\n\nThe Event System in ClawTeam provides the inter-agent communication backbone that enables coordination between multiple autonomous agents in a team. Rather than exposing a standalone event bus API, ClawTeam integrates event-driven communication through its messaging infrastructure, task lifecycle hooks, and board system.\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Message Types\n\nThe system defines several message/event types that flow between team members. These types represent the different categories of communication that agents use to coordinate.\n\n| Message Type | Description |\n|--------------|-------------|\n| `message` | General point-to-point message between agents |\n| `broadcast` | Broadcast message to all team members |\n| `join_request` | Request sent by an agent wanting to join the team |\n| `join_approved` / `join_rejected` | Response from team leader regarding join request |\n| `plan_approval_request` | Plan submitted by agent for leader review |\n| `plan_approved` / `plan_rejected` | Leader's decision on a submitted plan |\n| `shutdown_request` | Request to terminate an agent |\n| `shutdown_approved` / `shutdown_rejected` | Response to shutdown request |\n| `idle` | Notification sent when an agent has no more work |\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Task Status Events\n\nTask state transitions trigger automatic event behavior. When a task status changes, the system automatically propagates effects to dependent tasks.\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Task not yet started |\n| `in_progress` | Task currently being worked on |\n| `completed` | Task done — auto-unblocks dependent tasks |\n| `blocked` | Task waiting on other tasks to complete |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Inter-Agent Communication Flow\n\n```mermaid\ngraph TD\n    A[Agent] -->|message| B[Team Inbox]\n    A -->|broadcast| C[All Members]\n    A -->|join_request| D[Leader]\n    D -->|join_approved| A\n    A -->|plan_approval_request| D\n    D -->|plan_approved<br>plan_rejected| A\n    A -->|shutdown_request| E[Target Agent]\n    E -->|shutdown_approved<br>shutdown_rejected| A\n    A -->|idle| D\n```\n\n## Board and Inbox Architecture\n\nThe board system serves as the persistent event store, maintaining message history and team state.\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n### Board Show Command\n\nThe `board show` command displays team board data with member-aware message aliases:\n\n```bash\nclawteam board show <team>\nclawteam --json board show <team>\n```\n\nRecent board payloads include:\n- `memberKey` — identifies team member\n- `inboxName` — target inbox identifier\n- `fromLabel` / `toLabel` — message source and destination\n\nThese fields are used by the browser board to filter inbox history.\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Lifecycle Event Commands\n\nThe CLI provides commands for managing agent lifecycle events:\n\n### Idle Notification\n\nSend when an agent has no more work:\n\n```bash\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\n### Shutdown Sequence\n\n```bash\n# Request shutdown\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n\n# Accept shutdown\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\n\n# Reject shutdown\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Plan Submission Events\n\nAgents submit plans for leader approval, creating an approval workflow:\n\n```mermaid\nsequenceDiagram\n    Agent->>Leader: plan submit <team> <agent> <plan-content>\n    Note over Leader: Reviews plan\n    Leader->>Agent: plan approve <team> <plan-id> <agent>\n    Note over Agent: Plan approved, proceed with work\n```\n\n### Plan Commands\n\n```bash\n# Submit a plan\nclawteam plan submit <team> <agent> <plan-content-or-file> [--summary TEXT]\n\n# Approve a plan\nclawteam plan approve <team> <plan-id> <agent> [--feedback TEXT]\n\n# Reject a plan\nclawteam plan reject <team> <plan-id> <agent> [--feedback TEXT]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md]()\n\n## Context Recovery Hooks\n\nThe harness system integrates with the event system through context recovery hooks that provide role-aware information to agents:\n\n```python\ndef _teammate_summary(self, agent_name: str, team_name: str, role: str) -> str:\n    \"\"\"Layer 5: One-liner teammate summaries.\"\"\"\n    from clawteam.team.models import TaskStatus\n    from clawteam.team.tasks import TaskStore\n    store = TaskStore(team_name)\n    tasks = store.list_tasks()\n```\n\n资料来源：[clawteam/harness/context_recovery.py:53-59]()\n\nDifferent roles receive different context:\n\n| Role | Context Provided |\n|------|------------------|\n| `executor` | Sprint contract artifact containing their assignment |\n| `evaluator` | Full spec.md content and all contract criteria |\n| `planner` | Spec draft content for planning purposes |\n\n资料来源：[clawteam/harness/context_recovery.py:31-47]()\n\n## Spawn Backend Event Integration\n\nThe wsh backend demonstrates how spawned agents integrate with the event system for runtime message injection:\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running wsh block.\"\"\"\n    from clawteam.spawn.registry import get_registry\n\n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\") or self._blocks.get(agent_name, \"\")\n    if not block_id:\n        return False, f\"wsh block for '{team}/{agent_name}' not found\"\n```\n\nThe spawn registry tracks agent metadata (`team_name`, `agent_name`, `backend`, `block_id`, `pid`, `command`) enabling the event system to route messages to correct agent processes.\n\n资料来源：[clawteam/spawn/wsh_backend.py:52-61]()\n\n## See Also\n\n- [CLI Reference](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md) — Complete command documentation\n- [Task System](../team/tasks) — Task management and dependencies\n- [Spawn System](../spawn/index) — Agent spawning and backend management\n\n---\n\n<a id='page-agent-spawning'></a>\n\n## Agent Spawning System\n\n### 相关页面\n\n相关主题：[Quick Start Guide](#page-quickstart), [Team Management](#page-team-management)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/spawn/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/__init__.py)\n- [clawteam/spawn/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/base.py)\n- [clawteam/spawn/adapters.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/adapters.py)\n- [clawteam/spawn/tmux_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/tmux_backend.py)\n- [clawteam/spawn/subprocess_backend.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/subprocess_backend.py)\n- [clawteam/spawn/profiles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/profiles.py)\n- [clawteam/spawn/presets.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/presets.py)\n- [clawteam/spawn/prompt.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/prompt.py)\n- [clawteam/spawn/sessions.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/sessions.py)\n- [clawteam/spawn/session_locators/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/session_locators/base.py)\n</details>\n\n# Agent Spawning System\n\nThe Agent Spawning System is the core infrastructure in ClawTeam responsible for launching, managing, and coordinating multiple AI agent processes. It provides a unified interface to spawn various CLI-based agents (such as Claude Code, Codex, Gemini, nanobot, and OpenClaw) within a team context, handling environment setup, session persistence, and lifecycle management.\n\n## Architecture Overview\n\nThe spawning system follows a pluggable backend architecture that abstracts the underlying execution environment. This design allows ClawTeam to support multiple execution backends while presenting a consistent API to the rest of the system.\n\n```mermaid\ngraph TD\n    A[CLI Command: clawteam spawn] --> B[SpawnCommand Handler]\n    B --> C[Backend Factory]\n    C --> D[subprocess Backend]\n    C --> E[tmux Backend]\n    C --> F[wsh Backend]\n    D --> G[Agent Process]\n    E --> H[tmux Session]\n    F --> I[wsh Block]\n    G --> J[Session Store]\n    H --> J\n    I --> J\n    J --> K[Registry]\n    K --> L[Team Coordination]\n```\n\n## Core Components\n\n### Spawn Backends\n\nThe system supports three execution backends, each providing different isolation and management capabilities:\n\n| Backend | Description | Use Case |\n|---------|-------------|----------|\n| `subprocess` | Direct child process management | Simple single-agent scenarios |\n| `tmux` | Terminal multiplexer sessions | Persistent sessions with attach capability |\n| `wsh` | weish block isolation | Isolated workspace blocks |\n\n#### Base Backend Interface\n\nAll backends implement a common interface defined in `base.py`:\n\n```python\nclass SpawnBackend(ABC):\n    @abstractmethod\n    def spawn(\n        self,\n        command: list[str],\n        team_name: str,\n        agent_name: str,\n        agent_type: str,\n        cwd: str | None = None,\n        env: dict[str, str] | None = None,\n        **kwargs\n    ) -> str:\n        \"\"\"Spawn an agent process and return result message.\"\"\"\n        pass\n    \n    @abstractmethod\n    def list_running(self) -> list[dict[str, str]]:\n        \"\"\"List currently running agents.\"\"\"\n        pass\n    \n    @abstractmethod\n    def inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n        \"\"\"Inject a runtime notification into a running agent.\"\"\"\n        pass\n```\n\n资料来源：[clawteam/spawn/base.py:1-50]()\n\n### Agent Registry\n\nWhen an agent is spawned, it is registered in a centralized registry that tracks all active agents per team:\n\n```python\nfrom clawteam.spawn.registry import register_agent\n\nregister_agent(\n    team_name=team_name,\n    agent_name=agent_name,\n    backend=\"tmux\",\n    block_id=session_name,\n    pid=process.pid,\n    command=list(final_command),\n)\n```\n\n资料来源：[clawteam/spawn/tmux_backend.py](), [clawteam/spawn/wsh_backend.py:1-50]()\n\nThe registry maintains the following information per agent:\n- `team_name`: The team the agent belongs to\n- `agent_name`: Unique identifier within the team\n- `backend`: Backend type (subprocess/tmux/wsh)\n- `block_id` / `session_name`: Backend-specific identifier\n- `pid`: Process ID (for subprocess backend)\n- `command`: Original spawn command\n\n## Spawn Command Interface\n\n### CLI Syntax\n\n```bash\nclawteam spawn <backend> <command...> [options]\n```\n\n### Command Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | `\"default\"` |\n| `--agent-name, -n` | Agent name | auto-generated |\n| `--agent-type` | Agent type | `\"general-purpose\"` |\n\n### Example Usage\n\n```bash\n# Spawn Claude Code agent in tmux\nclawteam spawn tmux claude --team dev-team --agent-name builder --agent-type researcher\n\n# Spawn in subprocess backend\nclawteam spawn subprocess claude-code --team analysis --agent-name analyzer\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](), [clawteam/cli/commands.py]()\n\n## Agent Identity System\n\nWhen spawning an agent, the system automatically configures environment variables that establish the agent's identity within the team:\n\n```bash\nexport CLAWTEAM_AGENT_ID=\"<auto-generated-uuid>\"\nexport CLAWTEAM_AGENT_NAME=\"<agent-name>\"\nexport CLAWTEAM_AGENT_TYPE=\"<agent-type>\"\nexport CLAWTEAM_TEAM_NAME=\"<team-name>\"\n```\n\nAgents can verify their identity using:\n\n```bash\nclawteam identity show\n```\n\n资料来源：[clawteam/cli/commands.py](), [skills/clawteam/references/cli-reference.md]()\n\n## Session Management\n\n### Session Persistence\n\nThe system tracks agent sessions to enable resume functionality:\n\n```python\nfrom clawteam.spawn.sessions import SessionStore\n\nsession_store = SessionStore(team_name)\nsession = session_store.load(agent_name)\n\nif session and session.session_id:\n    resumed_command = build_cli_resume_command(command, session.session_id, client=client)\n```\n\n资料来源：[clawteam/spawn/sessions.py](), [clawteam/spawn/session_capture.py]()\n\n### Session Lifecycle\n\n```mermaid\ngraph LR\n    A[Spawn] --> B[Create Session]\n    B --> C[Store in SessionStore]\n    C --> D[Execute Agent]\n    D --> E[Agent Completes]\n    E --> F[Session Archived]\n    F --> G[Resume Available]\n    G --> H[Resume Command]\n    H --> D\n```\n\n### Session Locators\n\nSession locators find existing sessions across different backends:\n\n```python\nfrom clawteam.spawn.session_locators.base import SessionLocator\n\nclass SessionLocator(ABC):\n    @abstractmethod\n    def find_session(self, team: str, agent: str) -> SessionInfo | None:\n        \"\"\"Locate an existing session for the given team/agent.\"\"\"\n        pass\n```\n\n资料来源：[clawteam/spawn/session_locators/base.py]()\n\n## Profile and Preset System\n\n### Profiles\n\nProfiles are reusable configurations that define how agents should be spawned:\n\n```bash\n# List available profiles\nclawteam profile list\n\n# Test a profile\nclawteam profile test claude-kimi\n\n# Generate profile from preset\nclawteam preset generate-profile moonshot-cn claude --name claude-kimi\n```\n\n资料来源：[clawteam/spawn/profiles.py](), [skills/clawteam/SKILL.md]()\n\n### Presets\n\nPresets are provider templates used to generate profiles:\n\n| Preset | Provider |\n|--------|----------|\n| `moonshot-cn` | Moonshot CN |\n| `claude` | Anthropic Claude |\n| `openai` | OpenAI |\n| Custom | User-defined |\n\n```bash\n# List presets\nclawteam preset list\n\n# Show preset details\nclawteam preset show moonshot-cn\n```\n\n资料来源：[clawteam/spawn/presets.py](), [skills/clawteam/references/workflows.md]()\n\n## Prompt Generation\n\nWhen spawning an agent, ClawTeam generates a comprehensive system prompt that includes identity information, task details, and coordination instructions:\n\n```python\nfrom clawteam.spawn.prompt import build_agent_prompt\n\nprompt = build_agent_prompt(\n    agent_name=agent_name,\n    agent_id=agent_id,\n    agent_type=agent_type,\n    team_name=team_name,\n    leader_name=leader_name,\n    task=task,\n    user=user_name,\n    workspace_dir=cwd,\n    workspace_branch=ws_branch,\n    isolated_workspace=bool(workspace and cwd),\n    repo_path=repo,\n)\n```\n\n资料来源：[clawteam/spawn/prompt.py](), [clawteam/cli/commands.py]()\n\n### Prompt Components\n\nThe generated prompt includes:\n1. **Identity block**: Agent name, ID, type, and team\n2. **Task description**: Assigned work from the team leader\n3. **Coordination guide**: How to use ClawTeam CLI for task updates\n4. **Workspace context**: Directory, branch, git state\n\n## Skill Loading\n\nAgents can be spawned with predefined skills loaded from `~/.claude/skills/`:\n\n```python\ndef _load_skill_content(name: str) -> str | None:\n    \"\"\"Load skill content from ~/.claude/skills.\"\"\"\n    skills_root = Path.home() / \".claude\" / \"skills\"\n    skill_dir = skills_root / name\n    \n    # Support both directory and single-file formats\n    if skill_dir.is_dir():\n        skill_file = skill_dir / \"SKILL.md\"\n        # Fallback to first .md file\n    else:\n        single_file = skills_root / f\"{name}.md\"\n```\n\n资料来源：[clawteam/cli/commands.py]()\n\n### Supported Skill Formats\n\n- Directory format: `skills/<name>/SKILL.md`\n- Single file format: `skills/<name>.md`\n\n## Runtime Message Injection\n\nThe system supports injecting runtime notifications into running agents:\n\n```python\ndef inject_runtime_message(self, team: str, agent_name: str, envelope) -> tuple[bool, str]:\n    \"\"\"Best-effort runtime injection into a running agent.\"\"\"\n    from clawteam.spawn.registry import get_registry\n    \n    info = get_registry(team).get(agent_name, {})\n    block_id = info.get(\"block_id\", \"\")\n    \n    if not block_id:\n        return False, f\"Agent '{team}/{agent_name}' not found\"\n    \n    # Render and send notification\n    payload = render_runtime_notification(envelope)\n```\n\n资料来源：[clawteam/spawn/wsh_backend.py](), [clawteam/spawn/base.py]()\n\n## Team Template Launch\n\nFor complex multi-agent scenarios, ClawTeam supports launching entire teams from templates:\n\n```bash\nclawteam launch <template> <backend> [options]\n```\n\n### Launch Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--team, -t` | Team name | From template |\n| `--user, -u` | User name | Current user |\n| `--workspace` | Workspace directory | Current directory |\n| `--repo` | Repository path | None |\n| `--isolated` | Isolated workspaces | False |\n\n### Template Structure\n\n```python\nteam_template = {\n    \"name\": \"dev-team\",\n    \"leader\": {\"name\": \"leader\", \"type\": \"leader\"},\n    \"members\": [\n        {\"name\": \"researcher\", \"type\": \"researcher\"},\n        {\"name\": \"coder\", \"type\": \"general-purpose\"},\n    ]\n}\n```\n\n资料来源：[clawteam/cli/commands.py](), [skills/clawteam/SKILL.md]()\n\n## Backend-Specific Details\n\n### TMUX Backend\n\nThe tmux backend creates named sessions for each agent:\n\n```bash\ntmux new-session -d -s clawteam-{team}-{agent} \"{command}\"\ntmux attach -t clawteam-{team}-{agent}\n```\n\nSessions are named using pattern: `clawteam-{team_name}-{agent_name}`\n\n资料来源：[clawteam/spawn/tmux_backend.py]()\n\n### Subprocess Backend\n\nThe subprocess backend provides direct process management:\n\n```python\nprocess = subprocess.Popen(\n    command,\n    env=full_env,\n    cwd=cwd,\n    stdout=subprocess.PIPE,\n    stderr=subprocess.STDOUT,\n)\n```\n\n资料来源：[clawteam/spawn/subprocess_backend.py]()\n\n### WSH Backend\n\nThe weish backend provides block-based isolation:\n\n```python\npane_id = spawn_wsh_block(\n    target=target,\n    command=final_command,\n    title=agent_name,\n)\n```\n\n资料来源：[clawteam/spawn/wsh_backend.py]()\n\n## Configuration Files\n\n### Profile Configuration\n\nProfiles are stored in JSON format:\n\n```json\n{\n  \"name\": \"claude-kimi\",\n  \"provider\": \"moonshot-cn\",\n  \"api_key_env\": \"MOONSHOT_API_KEY\",\n  \"model\": \"claude-3-5-sonnet\",\n  \"spawn_options\": {\n    \"backend\": \"tmux\",\n    \"agent_type\": \"general-purpose\"\n  }\n}\n```\n\n### Preset Configuration\n\nPresets define provider templates:\n\n```json\n{\n  \"name\": \"moonshot-cn\",\n  \"provider\": \"openai-compatible\",\n  \"base_url\": \"https://api.moonshot.cn/v1\",\n  \"models\": [\"claude-3-5-sonnet\", \"claude-3-sonnet\"]\n}\n```\n\n资料来源：[clawteam/spawn/profiles.py](), [clawteam/spawn/presets.py]()\n\n## Error Handling\n\n### Common Errors and Solutions\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `Backend not found` | Invalid backend name | Use `tmux`, `subprocess`, or `wsh` |\n| `Team not found` | Team doesn't exist | Create team with `clawteam team spawn-team` |\n| `Agent name conflict` | Agent already exists | Use unique name or `--force` flag |\n| `Permission denied` | tmux/socket access | Check user permissions |\n\n### Spawn Hint System\n\nThe CLI provides contextual hints when arguments are misordered:\n\n```python\ndef _spawn_hint(backend: str | None, team: str | None) -> str:\n    \"\"\"Provide helpful hint when spawn positional args are misordered.\"\"\"\n    if not backend or team:\n        return \"\"\n    return (\n        \" Hint: the first positional argument to `clawteam spawn` is the backend \"\n        \"(`tmux` or `subprocess`), not the team name. Use `--team <name>` to set \"\n        \"the team explicitly.\"\n    )\n```\n\n资料来源：[clawteam/cli/commands.py]()\n\n## Workflow Diagram\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant CLI\n    participant Backend\n    participant Registry\n    participant Agent\n\n    User->>CLI: clawteam spawn tmux claude --team dev --name worker1\n    CLI->>Backend: spawn(command, team, agent)\n    Backend->>Backend: Setup environment\n    Backend->>Backend: Create tmux session\n    Backend->>Agent: Launch agent process\n    Backend->>Registry: register_agent(...)\n    Registry-->>CLI: Agent registered\n    CLI-->>User: \"Agent 'worker1' spawned in tmux\"\n    Agent->>Agent: Read identity env vars\n    Agent->>Agent: Execute assigned task\n```\n\n## Best Practices\n\n1. **Use descriptive agent names**: Makes tracking and debugging easier\n2. **Set appropriate agent types**: Enables role-based task assignment\n3. **Use tmux backend for persistence**: Allows attaching to view progress\n4. **Leverage profiles**: Reuse configurations across multiple spawns\n5. **Use session resume**: Maintain continuity across agent restarts\n\n## See Also\n\n- [CLI Reference](skills/clawteam/references/cli-reference.md) - Full command documentation\n- [Workflows](skills/clawteam/references/workflows.md) - Common usage patterns\n- [Team Management](skills/clawteam/references/cli-reference.md#team-commands) - Team operations\n\n---\n\n<a id='page-task-management'></a>\n\n## Task Management System\n\n### 相关页面\n\n相关主题：[Agent Spawning System](#page-agent-spawning), [Messaging & Inbox System](#page-messaging), [Board & Monitoring Dashboard](#page-board-dashboard)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n- [clawteam/team/models.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/models.py)\n- [clawteam/store/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/base.py)\n- [clawteam/store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py)\n- [clawteam/mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py)\n- [clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n</details>\n\n# Task Management System\n\n## Overview\n\nThe Task Management System is the core orchestration layer within ClawTeam that enables multi-agent teams to create, track, assign, and coordinate work items across collaborative agent swarms. It provides a task store abstraction with file-based persistence, supporting task dependencies, priority levels, status tracking, and automatic unblocking when dependent tasks complete.\n\n**资料来源：** [clawteam/team/tasks.py:1-17](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## Architecture\n\n### High-Level Component Diagram\n\n```mermaid\ngraph TD\n    subgraph \"CLI Layer\"\n        CLI[clawteam CLI Commands]\n    end\n    \n    subgraph \"Task Management\"\n        TaskStore[TaskStore<br/>Compatibility Shim]\n        BaseTaskStore[BaseTaskStore<br/>Abstract Interface]\n        FileTaskStore[FileTaskStore<br/>File-based Implementation]\n    end\n    \n    subgraph \"MCP Integration\"\n        MCPTools[clawteam/mcp/tools/task.py]\n    end\n    \n    subgraph \"Storage\"\n        FS[~/.clawteam/tasks/{team}/<br/>task-{id}.json]\n    end\n    \n    CLI --> TaskStore\n    MCPTools --> TaskStore\n    TaskStore --> BaseTaskStore\n    FileTaskStore -->|inherits| BaseTaskStore\n    FileTaskStore --> FS\n```\n\n### Task Store Abstraction\n\nThe system uses a compatibility shim pattern where `clawteam/team/tasks.py` preserves the historic import path while delegating to the modern store implementation:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\nfrom clawteam.store.file import FileTaskStore\n\nTaskStore = FileTaskStore\n```\n\n**资料来源：** [clawteam/team/tasks.py:9-16](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## Data Models\n\n### Task Model Fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Unique task identifier (auto-generated) |\n| `subject` | string | Task title/summary |\n| `description` | string | Detailed task description |\n| `status` | TaskStatus | Current state (pending/in_progress/completed/blocked) |\n| `owner` | string | Agent name assigned to the task |\n| `priority` | string | Priority level (low/medium/high/urgent) |\n| `blocks` | list[string] | Task IDs that this task blocks when completed |\n| `blocked_by` | list[string] | Task IDs that must complete before this can start |\n| `created_at` | timestamp | Creation timestamp |\n| `updated_at` | timestamp | Last modification timestamp |\n\n**资料来源：** [clawteam/team/models.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/models.py)\n\n### Task Statuses\n\n| Status | Value | Description |\n|--------|-------|-------------|\n| `pending` | `pending` | Not yet started |\n| `in_progress` | `in_progress` | Currently being worked on |\n| `completed` | `completed` | Done (auto-unblocks dependents) |\n| `blocked` | `blocked` | Waiting on other tasks |\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### Task Priority Levels\n\n| Priority | Description |\n|----------|-------------|\n| `low` | Non-critical work |\n| `medium` | Standard priority |\n| `high` | Important work |\n| `urgent` | Immediate attention required |\n\n---\n\n## Storage Layer\n\n### File Storage Layout\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### TaskStore Implementation\n\nThe `FileTaskStore` provides concrete implementation extending `BaseTaskStore`:\n\n- **Persistence**: Tasks stored as individual JSON files named `task-{id}.json`\n- **Team Isolation**: Each team has its own subdirectory under `~/.clawteam/tasks/`\n- **Task Locking**: Uses `TaskLockError` for concurrent access control\n\n**资料来源：** [clawteam/store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py)\n\n---\n\n## Task Dependencies\n\n### Dependency Model\n\n```mermaid\ngraph LR\n    A[Task A<br/>Design API] -->|blocks| B[Task B<br/>Implement Backend]\n    A -->|blocks| C[Task C<br/>Build Frontend]\n    B -->|blocks| D[Task D<br/>Integration Testing]\n    C -->|blocks| D\n    \n    style A fill:#90EE90\n    style B fill:#FFD700\n    style C fill:#FFD700\n    style D fill:#FFA500\n```\n\n### Automatic Unblocking\n\nWhen a task is marked `completed`, the system automatically unblocks any tasks that were waiting on it:\n\n```\nTask A marked completed → Tasks B and C auto-transition from blocked → pending\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n---\n\n## CLI Commands\n\n### Task Create\n\n```bash\nclawteam task create <team> <subject> [options]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--owner, -o` | Agent assigned to this task | `None` |\n| `--description, -d` | Detailed description | `\"\"` |\n| `--priority, -p` | Priority level | `\"medium\"` |\n| `--blocks` | Comma-separated task IDs this blocks | `None` |\n| `--blocked-by` | Comma-separated task IDs blocking this | `None` |\n\n**Example:**\n```bash\nclawteam task create dev-team \"Implement auth\" -o alice -d \"Add JWT authentication\"\n```\n\n**资料来源：** [clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n### Task Get\n\nRetrieve a single task by ID:\n\n```bash\nclawteam task get <team> <task-id>\n```\n\n### Task Update\n\nUpdate task properties:\n\n```bash\nclawteam task update <team> <task-id> [options]\n```\n\n| Option | Description |\n|--------|-------------|\n| `--status, -s` | New status: `pending`, `in_progress`, `completed`, `blocked` |\n| `--owner, -o` | New owner |\n| `--subject` | New subject |\n| `--description, -d` | New description |\n| `--priority, -p` | New priority: `low`, `medium`, `high`, `urgent` |\n| `--add-blocks` | Comma-separated task IDs to add to blocks |\n| `--add-blocked-by` | Comma-separated task IDs to add to blocked-by |\n| `--force, -f` | Force override task lock |\n\n### Task List\n\nList all tasks for a team with optional filters:\n\n```bash\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n```\n\n**资料来源：** [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n---\n\n## MCP Tool Integration\n\nThe MCP (Model Context Protocol) layer exposes task operations to AI agents:\n\n```python\n# Pseudo-structure from clawteam/mcp/tools/task.py\n- task_create_tool()   # Create tasks via MCP\n- task_get_tool()      # Retrieve task details\n- task_update_tool()   # Modify task state\n- task_list_tool()    # Query tasks with filters\n```\n\n**资料来源：** [clawteam/mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py)\n\n---\n\n## Workflow Examples\n\n### Sequential Dependency Chain\n\n```bash\n# 1. Create design task\nclawteam task create my-team \"Design API schema\" -o leader\n# => Task ID: aaa11111\n\n# 2. Create backend task (blocked by design)\nclawteam task create my-team \"Implement backend\" -o backend-dev --blocked-by aaa11111\n# => Task ID: bbb22222 (auto-set to blocked status)\n\n# 3. Create integration task (blocked by backend)\nclawteam task create my-team \"Integration testing\" --blocked-by bbb22222\n# => Task ID: ccc33333\n\n# 4. Complete tasks in order\nclawteam task update my-team aaa11111 --status completed\n# bbb22222 auto-unblocks from blocked → pending\n\nclawteam task update my-team bbb22222 --status completed\n# ccc33333 auto-unblocks from blocked → pending\n```\n\n**资料来源：** [skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n### Parallel Task Assignment\n\n```bash\n# Design task (owned by leader)\nclawteam task create my-team \"Design system\" -o leader\n\n# Backend and frontend (both blocked by design)\nclawteam task create my-team \"Implement backend\" -o backend-dev --blocked-by <design-id>\nclawteam task create my-team \"Build frontend\" -o frontend-dev --blocked-by <design-id>\n\n# Integration (blocked by both backend and frontend)\nclawteam task create my-team \"Integration testing\" --blocked-by <backend-id>,<frontend-id>\n```\n\n---\n\n## Error Handling\n\n### TaskLockError\n\nConcurrent access to task files is controlled via `TaskLockError`:\n\n```python\nfrom clawteam.store.base import BaseTaskStore, TaskLockError\n```\n\nWhen a task is locked by another process, operations that modify the task will raise `TaskLockError`.\n\n**资料来源：** [clawteam/team/tasks.py:9](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n---\n\n## API Summary\n\n| Operation | Method | File Reference |\n|-----------|--------|----------------|\n| Create Task | `task create <team> <subject>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Get Task | `task get <team> <task-id>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Update Task | `task update <team> <task-id>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| List Tasks | `task list <team>` | [commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py) |\n| Store Base | Abstract interface | [store/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/base.py) |\n| Store File | File implementation | [store/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/store/file.py) |\n| MCP Tools | Tool definitions | [mcp/tools/task.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/task.py) |\n\n---\n\n<a id='page-team-management'></a>\n\n## Team Management\n\n### 相关页面\n\n相关主题：[Agent Spawning System](#page-agent-spawning), [Task Management System](#page-task-management), [Event System](#page-event-system)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/manager.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/manager.py)\n- [clawteam/team/lifecycle.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/lifecycle.py)\n- [clawteam/team/router.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/router.py)\n- [clawteam/team/routing_policy.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/routing_policy.py)\n- [clawteam/team/snapshot.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/snapshot.py)\n- [clawteam/harness/orchestrator.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/orchestrator.py)\n- [clawteam/harness/roles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/roles.py)\n</details>\n\n# Team Management\n\nTeam Management is the core orchestration layer in ClawTeam that enables multiple AI agents to collaborate within a structured hierarchy. It provides facilities for creating teams, managing agent lifecycles, routing messages, coordinating tasks with dependency chains, and facilitating graceful shutdowns.\n\n## Overview\n\nClawTeam's Team Management system treats a multi-agent workflow as a first-class organizational unit called a **Team**. Each team has:\n\n- A designated **Leader** agent responsible for coordination\n- Member agents with distinct roles and capabilities\n- A shared **Board** for task visualization and status tracking\n- An **Inbox** system for point-to-point and broadcast messaging\n- Task management with dependency tracking\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Team Architecture\n\n```mermaid\ngraph TD\n    A[Leader Agent] --> B[Board - Kanban Tasks]\n    A --> C[Inbox - Message Routing]\n    A --> D[Task Store]\n    B --> E[Task Status: pending, in_progress, completed, blocked]\n    C --> F[Message Types: broadcast, plan, shutdown, idle]\n    D --> G[Dependency Chains]\n```\n\nThe architecture follows a hub-and-spoke model where the leader agent serves as the central coordinator. The Board provides a kanban-style visualization, while the Inbox handles all inter-agent communication.\n\n资料来源：[clawteam/team/manager.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/manager.py)\n\n## Team Lifecycle\n\n### Lifecycle States\n\nAgents in a team progress through well-defined lifecycle states:\n\n| State | Description |\n|-------|-------------|\n| `active` | Agent is running and processing tasks |\n| `idle` | Agent has completed current work and awaits new assignments |\n| `shutdown_requested` | Leader has requested agent termination |\n| `terminated` | Agent has gracefully shut down |\n\n资料来源：[clawteam/team/lifecycle.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/lifecycle.py)\n\n### Lifecycle Commands\n\n```bash\n# Leader requests agent shutdown\nclawteam lifecycle request-shutdown <team> <from-agent> <to-agent> [--reason TEXT]\n\n# Agent approves shutdown\nclawteam lifecycle approve-shutdown <team> <request-id> <agent>\n\n# Agent rejects shutdown\nclawteam lifecycle reject-shutdown <team> <request-id> <agent> [--reason TEXT]\n\n# Agent signals idle state to leader\nclawteam lifecycle idle <team> [--last-task ID] [--task-status STATUS]\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Message Routing\n\nThe routing system determines how messages flow between agents within a team.\n\n```mermaid\ngraph LR\n    A[Agent A] -->|message| B[Router]\n    A -->|broadcast| B\n    A -->|plan_approval_request| B\n    B -->|route| C[Agent B]\n    B -->|route| D[All Members]\n    B -->|route| E[Leader]\n```\n\n### Routing Policies\n\n| Policy | Behavior |\n|--------|----------|\n| `direct` | Point-to-point message to specific agent |\n| `broadcast` | Message delivered to all team members |\n| `leader_only` | Message routed exclusively to team leader |\n\n资料来源：[clawteam/team/router.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/router.py)\n资料来源：[clawteam/team/routing_policy.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/routing_policy.py)\n\n### Message Types\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | point-to-point | General communication |\n| `broadcast` | team-wide | Announcements to all members |\n| `join_request` | candidate → leader | Request to join team |\n| `join_approved` / `join_rejected` | leader → candidate | Join response |\n| `plan_approval_request` | agent → leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | leader → agent | Plan response |\n| `shutdown_request` | leader → agent | Termination request |\n| `shutdown_approved` / `shutdown_rejected` | agent → leader | Shutdown response |\n| `idle` | agent → leader | No more work notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Task Management\n\nTasks are the fundamental work units within a team. They support dependency chains, priorities, and automatic status transitions.\n\n### Task Statuses\n\n| Status | Description |\n|--------|-------------|\n| `pending` | Not yet started |\n| `in_progress` | Currently being worked on |\n| `completed` | Done (auto-unblocks dependents) |\n| `blocked` | Waiting on other tasks |\n\nWhen a task is marked `completed`, any tasks blocked by it are automatically unblocked (moved from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[clawteam/team/tasks.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/tasks.py)\n\n### Task Commands\n\n```bash\n# Create a task\nclawteam task create <team> <subject> [options]\n    -o, --owner NAME          Task owner\n    -d, --description TEXT    Task description\n    -p, --priority LEVEL      low, medium, high, urgent\n    --blocks ID               Task IDs this blocks\n    --blocked-by ID           Comma-separated task IDs blocking this\n\n# Update task\nclawteam task update <team> <task-id> [options]\n    -s, --status STATUS       New status\n    -o, --owner NAME          New owner\n    --add-blocks ID           Add tasks this blocks\n    --add-blocked-by ID       Add tasks blocking this\n    -f, --force               Force override task lock\n\n# List tasks\nclawteam task list <team> [--status STATUS] [--owner NAME] [--priority LEVEL] [--sort-priority]\n\n# Get single task\nclawteam task get <team> <task-id>\n```\n\n### Task Dependency Example\n\n```bash\n# Task 1: Design system (no dependencies)\nclawteam task create my-project \"Design system\" -o leader\n# => Task ID: aaa11111\n\n# Task 2: Implement backend (blocked by Task 1)\nclawteam task create my-project \"Implement backend\" -o backend-dev --blocked-by aaa11111\n# => Task ID: bbb22222 (auto-set to blocked status)\n\n# Task 3: Integration testing (blocked by Tasks 1 and 2)\nclawteam task create my-project \"Integration testing\" --blocked-by bbb22222,ccc33333\n# => Task ID: ddd44444\n\n# When Task 1 completes, Task 2 unblocks\nclawteam task update my-project aaa11111 --status completed\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Agent Roles\n\nClawTeam supports role-based agent assignments through the harness system.\n\n### Available Roles\n\n| Role | Purpose |\n|------|---------|\n| `leader` | Team coordinator, approves plans, assigns tasks |\n| `planner` | Drafts specifications and implementation plans |\n| `coder` | Executes implementation tasks |\n| `evaluator` | Reviews and validates work against specifications |\n| `researcher` | Gathers information and best practices |\n\n资料来源：[clawteam/harness/roles.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/roles.py)\n\n### Role-Specific Context Recovery\n\nEach role has context recovery layers that inject relevant information:\n\n| Role | Context Provided |\n|------|------------------|\n| `leader` | Sprint contract, team task summary by owner |\n| `planner` | Spec draft for planning |\n| `evaluator` | Full specification + contract criteria |\n| `researcher` | Sprint contract with agent name highlighted |\n\n资料来源：[clawteam/harness/context_recovery.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/harness/context_recovery.py)\n\n## Orchestration\n\nThe orchestrator coordinates multiple agents within a team template, spawning agents with proper identity and environment setup.\n\n### Orchestration Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant O as Orchestrator\n    participant A as Agent\n    participant S as Spawn Backend\n\n    L->>O: Launch team from template\n    O->>O: Parse template and roles\n    loop For each agent\n        O->>S: Spawn agent with identity env vars\n        S->>A: Start agent process\n        A->>A: Set CLAWTEAM_AGENT_* vars\n    end\n    O->>L: Return launch summary\n```\n\n### Spawn Command\n\n```bash\nclawteam spawn <backend> <command...> [options]\n    -t, --team NAME         Team name (default: \"default\")\n    -n, --agent-name NAME   Agent name (auto-generated)\n    --agent-type TYPE       Agent type (default: \"general-purpose\")\n```\n\nBackends: `subprocess`, `tmux`\n\nExample:\n```bash\nclawteam spawn subprocess claude --team dev-team --agent-name bob --agent-type researcher\n```\n\n资料来源：[clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n## Board and Monitoring\n\nThe Board provides real-time visualization of team state.\n\n### Board Commands\n\n```bash\n# Show detailed team board (kanban view)\nclawteam board show <team>\nclawteam --json board show <team>\n\n# Overview of all teams\nclawteam board overview\nclawteam --json board overview\n\n# Live-refreshing kanban board\nclawteam board live <team> [--interval 2.0]\n```\n\n### Board Data Structure\n\nThe board includes:\n- Kanban task visualization with status badges\n- Member inbox counts\n- Message history from event log\n- Member-aware message aliases (`memberKey`, `inboxName`, `fromLabel`, `toLabel`)\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Team Snapshots\n\nSnapshots capture the complete state of a team at a point in time for debugging, auditing, or resumption.\n\n```mermaid\ngraph TD\n    A[Snapshot Request] --> B[Snapshot Generator]\n    B --> C[Team Config]\n    B --> D[Task States]\n    B --> E[Agent Status]\n    B --> F[Message History]\n    B --> G[File Storage: ~/.clawteam/teams/{team}/]\n```\n\n资料来源：[clawteam/team/snapshot.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/snapshot.py)\n\n## File Storage Layout\n\nTeam data persists to disk under `~/.clawteam/`:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Workflow: Complete Team Lifecycle\n\n```mermaid\ngraph TD\n    A[Create Team] --> B[Spawn Agents]\n    B --> C[Assign Tasks]\n    C --> D[Agent Work]\n    D --> E{Status}\n    E -->|in_progress| D\n    E -->|completed| F[Unblock Dependents]\n    E -->|idle| G[Report to Leader]\n    F --> H{Tasks Remaining?}\n    H -->|Yes| D\n    H -->|No| I[Request Shutdown]\n    I --> J[Approve Shutdown]\n    J --> K[Cleanup Team]\n```\n\n### Step-by-Step Workflow\n\n1. **Create team with leader**\n   ```bash\n   clawteam team spawn-team my-team -d \"Project team\" -n leader\n   ```\n\n2. **Spawn worker agents**\n   ```bash\n   clawteam spawn tmux claude --team my-team --agent-name researcher\n   clawteam spawn tmux claude --team my-team --agent-name coder\n   ```\n\n3. **Create and assign tasks**\n   ```bash\n   clawteam task create my-team \"Research phase\" -o researcher\n   clawteam task create my-team \"Implementation\" -o coder --blocked-by <research-task-id>\n   ```\n\n4. **Monitor progress**\n   ```bash\n   clawteam board live my-team\n   ```\n\n5. **Graceful shutdown**\n   ```bash\n   clawteam lifecycle request-shutdown my-team leader coder\n   clawteam lifecycle approve-shutdown my-team <request-id> coder\n   clawteam team cleanup my-team --force\n   ```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Quick Reference: Team Commands\n\n| Command | Description |\n|---------|-------------|\n| `clawteam team spawn-team <name>` | Create new team with leader |\n| `clawteam team discover` | List all existing teams |\n| `clawteam team status <team>` | Show team configuration and members |\n| `clawteam team request-join <team> <name>` | Request to join a team |\n| `clawteam team approve-join <team> <request-id>` | Approve join request (leader) |\n| `clawteam team reject-join <team> <request-id>` | Reject join request (leader) |\n| `clawteam identity show` | Show current agent identity |\n| `clawteam inbox send <team> <to> <message>` | Send message to agent |\n| `clawteam inbox receive <team> --agent <name>` | Check agent inbox |\n\n资料来源：[clawteam/cli/commands.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/cli/commands.py)\n\n---\n\n<a id='page-transport'></a>\n\n## Transport Layer\n\n### 相关页面\n\n相关主题：[System Architecture](#page-architecture), [Messaging & Inbox System](#page-messaging)\n\n```markdown\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/transport/__init__.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/__init__.py)\n- [clawteam/transport/base.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/base.py)\n- [clawteam/transport/file.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/file.py)\n- [clawteam/transport/p2p.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/p2p.py)\n- [clawteam/transport/claimed.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/transport/claimed.py)\n</details>\n\n# Transport Layer\n\n## Overview\n\nThe Transport Layer in ClawTeam is a modular communication subsystem that enables inter-agent messaging within a team. It provides abstract interfaces and concrete implementations for different transport mechanisms, allowing agents to send, receive, and route messages regardless of the underlying delivery mechanism.\n\nThe transport layer is designed with a pluggable architecture, supporting multiple backends including file-based transport and peer-to-peer (P2P) transport for direct agent-to-agent communication.\n\n## Architecture\n\n```mermaid\ngraph TB\n    subgraph \"Transport Layer\"\n        API[Transport API]\n        BASE[BaseTransport]\n        FILE[FileTransport]\n        P2P[P2PTransport]\n        CLM[ClaimedTransport]\n    end\n    \n    subgraph \"Message Flow\"\n        SND[Sender Agent]\n        RCV[Receiver Agent]\n        INBOX[Inbox Store]\n    end\n    \n    API --> BASE\n    BASE --> FILE\n    BASE --> P2P\n    BASE --> CLM\n    \n    SND -->|send_message| API\n    API --> INBOX\n    INBOX --> RCV\n```\n\n## Core Components\n\n### Base Transport (`clawteam/transport/base.py`)\n\nThe `BaseTransport` abstract class defines the interface that all transport implementations must follow.\n\n| Method | Purpose |\n|--------|---------|\n| `send(envelope)` | Send a message envelope to destination |\n| `receive(agent_name)` | Retrieve messages from agent's inbox |\n| `peek(agent_name)` | View messages without consumption |\n| `list_pending(agent_name)` | List pending message IDs |\n\n资料来源：[clawteam/transport/base.py]()\n\n### File Transport (`clawteam/transport/file.py`)\n\nFile-based transport provides reliable message delivery using filesystem-based inboxes. Messages are stored as JSON files in the team's inbox directory structure.\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   └── inboxes/{agent}/\n│       └── msg-{timestamp}-{uuid}.json\n```\n\n资料来源：[clawteam/transport/file.py]()\n\n**Key Features:**\n- Persistent message storage\n- Non-destructive `peek` operations\n- Destructive `receive` operations\n- Atomic file operations for consistency\n\n### P2P Transport (`clawteam/transport/p2p.py`)\n\nPeer-to-peer transport enables direct agent-to-agent communication without centralized message storage. This is an optional backend that requires the `p2p` extra: `pip install \"clawteam[p2p]\"`\n\n资料来源：[clawteam/transport/p2p.py]()\n\n**Use Cases:**\n- Low-latency communication\n- Decentralized team topologies\n- Environments without shared filesystem\n\n### Claimed Transport (`clawteam/transport/claimed.py`)\n\nThe `ClaimedTransport` wraps another transport backend and adds message claiming semantics. This prevents duplicate message processing in concurrent scenarios.\n\n资料来源：[clawteam/transport/claimed.py]()\n\n## Message Envelope\n\nMessages are encapsulated in an envelope structure containing routing and payload information.\n\n```python\n@dataclass\nclass Envelope:\n    to: str              # Destination agent name\n    from_: str           # Source agent name\n    msg_type: str        # Message type identifier\n    payload: dict        # Message content\n    timestamp: float     # Unix timestamp\n    id: str              # Unique message ID\n```\n\n## Message Types\n\n| Type | Description | Used By |\n|------|-------------|---------|\n| `message` | General point-to-point message | Core |\n| `broadcast` | Broadcast to all team members | Core |\n| `join_request` | Request to join a team | Team module |\n| `join_approved` / `join_rejected` | Join response | Team module |\n| `plan_approval_request` | Plan submitted for review | Plan module |\n| `plan_approved` / `plan_rejected` | Plan response | Plan module |\n| `shutdown_request` | Agent shutdown request | Lifecycle module |\n| `shutdown_approved` / `shutdown_rejected` | Shutdown response | Lifecycle module |\n| `idle` | Agent idle notification | Lifecycle module |\n\n资料来源：[clawteam/transport/__init__.py]()\n\n## Transport Selection\n\n```mermaid\ngraph LR\n    A[Agent Spawns] --> B{Configured Backend}\n    B -->|default| F[FileTransport]\n    B -->|p2p| P[P2PTransport]\n    B -->|claimed| C[ClaimedTransport]\n```\n\nThe transport backend is typically specified in the agent's runtime profile or configured via environment variables.\n\n## Configuration\n\nTransport backends can be configured through:\n\n1. **Runtime Profiles** - Stored in `~/.clawteam/profiles/`\n2. **Environment Variables** - `CLAWTEAM_TRANSPORT_BACKEND`\n3. **Profile Wizard** - Interactive TUI: `clawteam profile wizard`\n\n资料来源：[skills/clawteam/SKILL.md]()\n</details>\n\n---\n\n<a id='page-messaging'></a>\n\n## Messaging & Inbox System\n\n### 相关页面\n\n相关主题：[Transport Layer](#page-transport), [Agent Spawning System](#page-agent-spawning)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/team/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/mailbox.py)\n- [clawteam/mcp/tools/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n- [clawteam/team/plan.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/plan.py)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n</details>\n\n# Messaging & Inbox System\n\n## Overview\n\nThe Messaging & Inbox System in ClawTeam provides inter-agent communication capabilities for coordinating agent swarms. It enables point-to-point messaging, broadcasts, and structured request/response patterns for team coordination including plan approvals, join requests, and graceful shutdowns.\n\nMessages are stored persistently in team-specific inboxes as JSON files, allowing asynchronous communication between agents that may not be running simultaneously. Each agent has its own inbox within a team's directory structure at `~/.clawteam/teams/{team}/inboxes/{agent}/`. 资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Architecture\n\n```mermaid\ngraph TD\n    A[Agent] -->|mailbox_send| B[TeamMailbox]\n    A -->|mailbox_receive| B\n    A -->|mailbox_broadcast| B\n    B --> C[File System]\n    C --> D[~/.clawteam/teams/{team}/inboxes/]\n    E[Leader] -->|Plan messages| B\n    F[Worker] -->|Plan messages| B\n    \n    subgraph \"Message Types\"\n        G[message]\n        H[broadcast]\n        I[join_request]\n        J[plan_approval_request]\n        K[shutdown_request]\n        L[idle]\n    end\n```\n\n## Message Types\n\nThe system supports the following message types defined in the `MessageType` enum:\n\n| Type | Direction | Purpose |\n|------|-----------|---------|\n| `message` | Point-to-point | General communication between agents |\n| `broadcast` | One-to-all | Broadcast to all team members |\n| `join_request` | Worker → Leader | Request to join a team |\n| `join_approved` / `join_rejected` | Leader → Worker | Join request response |\n| `plan_approval_request` | Worker → Leader | Submit plan for review |\n| `plan_approved` / `plan_rejected` | Leader → Worker | Plan review response |\n| `shutdown_request` | Leader → Worker | Request worker shutdown |\n| `shutdown_approved` / `shutdown_rejected` | Worker → Leader | Shutdown response |\n| `idle` | Worker → Leader | Agent has no more work |\n\n资料来源：[clawteam/team/plan.py:12-40](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/team/plan.py)\n\n## Core API Functions\n\n### mailbox_send\n\nSend a message to a specific agent within a team.\n\n```python\ndef mailbox_send(\n    team_name: str,\n    from_agent: str,\n    to_agent: str,\n    content: str,\n    msg_type: str | None = None,\n    request_id: str | None = None,\n    key: str | None = None,\n    proposed_name: str | None = None,\n    capabilities: str | None = None,\n    feedback: str | None = None,\n    reason: str | None = None,\n    assigned_name: str | None = None,\n    agent_id: str | None = None,\n    team_name: str | None = None,\n    plan_file: str | None = None,\n    summary: str | None = None,\n    plan: str | None = None,\n    last_task: str | None = None,\n    status: str | None = None,\n) -> dict\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_broadcast\n\nBroadcast a message to all team members, with optional exclusions.\n\n```python\ndef mailbox_broadcast(\n    team_name: str,\n    from_agent: str,\n    content: str,\n    msg_type: str | None = None,\n    key: str | None = None,\n    exclude: list[str] | None = None,\n) -> list[dict]\n```\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `team_name` | str | Target team name |\n| `from_agent` | str | Sender identifier |\n| `content` | str | Message content |\n| `msg_type` | str | Message type (defaults to `broadcast`) |\n| `key` | str | Optional categorization key |\n| `exclude` | list[str] | Agent names to exclude from broadcast |\n\n资料来源：[clawteam/mcp/tools/mailbox.py:28-41](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_receive\n\nReceive and consume pending inbox messages. Messages are removed from the inbox after retrieval.\n\n```python\ndef mailbox_receive(\n    team_name: str,\n    agent_name: str,\n    limit: int = 10,\n) -> list[dict]\n```\n\n| Parameter | Type | Description | Default |\n|-----------|------|-------------|---------|\n| `team_name` | str | Team identifier | Required |\n| `agent_name` | str | Agent inbox to check | Required |\n| `limit` | int | Maximum messages to retrieve | 10 |\n\n资料来源：[clawteam/mcp/tools/mailbox.py:44-47](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_peek\n\nPreview pending inbox messages without consuming them. Messages remain available for future retrieval.\n\n```python\ndef mailbox_peek(\n    team_name: str,\n    agent_name: str,\n) -> list[dict]\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:50-53](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n### mailbox_peek_count\n\nGet the count of pending messages without retrieving content.\n\n```python\ndef mailbox_peek_count(\n    team_name: str,\n    agent_name: str,\n) -> dict\n```\n\nReturns:\n```json\n{\n  \"agentName\": \"alice\",\n  \"count\": 5\n}\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:56-59](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n## CLI Commands\n\n### inbox send\n\nSend a message to another agent.\n\n```bash\nclawteam inbox send <team> <from-agent> <to-agent> <content> [--type TYPE]\n```\n\n### inbox receive\n\nReceive and consume pending messages.\n\n```bash\nclawteam inbox receive <team> --agent <agent-name> [--limit N]\n```\n\n### inbox peek\n\nPreview messages without consuming.\n\n```bash\nclawteam inbox peek <team> --agent <agent-name>\n```\n\n### inbox count\n\nCount pending messages.\n\n```bash\nclawteam inbox count <team> --agent <agent-name>\n```\n\n### inbox broadcast\n\nBroadcast to all team members.\n\n```bash\nclawteam inbox broadcast <team> <from-agent> <content> [--exclude AGENT1,AGENT2]\n```\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Message Flow Patterns\n\n### Point-to-Point Messaging\n\n```mermaid\nsequenceDiagram\n    participant A as Agent Alice\n    participant M as TeamMailbox\n    participant B as Agent Bob\n    \n    A->>M: mailbox_send(to=Bob, content=\"Task update\")\n    M->>M: Store msg-{timestamp}-{uuid}.json\n    B->>M: mailbox_receive(agent=Bob)\n    M->>B: Return and remove message\n```\n\n### Plan Approval Flow\n\n```mermaid\ngraph LR\n    A[Worker] -->|plan_approval_request| B[Leader]\n    B -->|Review| B\n    B -->|plan_approved| A\n    B -->|plan_rejected| A\n```\n\nExample workflow:\n```bash\n# Worker submits plan\nclawteam plan submit dev-team coder \"Auth system redesign\" \\\n  --summary \"Modernize auth system\"\n\n# Leader reviews inbox\nclawteam inbox receive dev-team --agent leader\n# => plan_approval_request with planId\n\n# Leader approves or rejects\nclawteam plan approve dev-team <plan-id> coder --feedback \"Looks good, proceed\"\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n### Shutdown Flow\n\n```mermaid\nsequenceDiagram\n    participant L as Leader\n    participant M as TeamMailbox\n    participant W as Worker\n    \n    L->>M: lifecycle request-shutdown\n    M->>W: shutdown_request\n    W->>W: Complete current work\n    W->>M: lifecycle approve-shutdown\n    M->>L: shutdown_approved\n```\n\n资料来源：[skills/clawteam/references/workflows.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/workflows.md)\n\n## Storage Layout\n\nMessages are persisted in the following structure:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   └── inboxes/\n│       └── {agent}/\n│           ├── msg-{timestamp}-{uuid}.json   # Individual messages\n│           ├── msg-{timestamp}-{uuid}.json\n│           └── ...\n└── plans/\n    └── {agent}-{id}.md                        # Plan documents\n```\n\nEach message file contains structured JSON with metadata including sender, recipient, message type, timestamp, and type-specific fields.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Data Model\n\n### Message Payload\n\n```python\n@dataclass\nclass MessagePayload:\n    msg_type: MessageType\n    from_agent: str\n    to_agent: str\n    content: str\n    request_id: str | None\n    key: str | None\n    proposed_name: str | None\n    capabilities: str | None\n    feedback: str | None\n    reason: str | None\n    assigned_name: str | None\n    agent_id: str | None\n    team_name: str | None\n    plan_file: str | None\n    summary: str | None\n    plan: str | None\n    last_task: str | None\n    status: str | None\n```\n\n资料来源：[clawteam/mcp/tools/mailbox.py:1-20](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/mailbox.py)\n\n## Best Practices\n\n1. **Always check inbox before declaring idle** - Agents should check `clawteam task list {team}` and inbox before reporting idle status.\n\n2. **Use peek before receive** - Preview messages with `mailbox_peek` when you need to selectively process messages without consuming all pending items.\n\n3. **Set request IDs for tracking** - When sending plan or shutdown requests, include a unique `request_id` to correlate responses.\n\n4. **Send cost reports** - After completing work, report costs using:\n   ```bash\n   clawteam cost report {team} --input-tokens <N> --output-tokens <N> --cost-cents <N>\n   ```\n\n5. **Monitor team health** - Use JSON output for scripting:\n   ```bash\n   clawteam --json board show dev-team | jq '.members[] | select(.inboxCount > 0) | .name'\n   ```\n\n资料来源：[clawteam/spawn/prompt.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/spawn/prompt.py)\n\n---\n\n<a id='page-board-dashboard'></a>\n\n## Board & Monitoring Dashboard\n\n### 相关页面\n\n相关主题：[Task Management System](#page-task-management), [Team Management](#page-team-management)\n\n<details>\n<summary>Relevant Source Files</summary>\n\n以下源码文件用于生成本页说明：\n\n- [clawteam/board/server.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/server.py)\n- [clawteam/board/renderer.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/renderer.py)\n- [clawteam/board/collector.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/collector.py)\n- [clawteam/board/gource.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/gource.py)\n- [clawteam/mcp/tools/board.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/board.py)\n- [website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n- [skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n- [skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n</details>\n\n# Board & Monitoring Dashboard\n\nThe Board is ClawTeam's centralized monitoring and coordination interface for agent swarms. It provides real-time visibility into team tasks, agent statuses, message exchanges, and activity history through both CLI commands and a browser-based dashboard.\n\n## Purpose & Scope\n\nThe Board system serves as the coordination nerve center for multi-agent teams:\n\n- **Task Visualization** — Kanban-style task boards showing blockers, priority, ownership, and progress across all agents\n- **Persistent Coordination** — Handoffs, aliases, and notes remain visible after prompts scroll away\n- **Team Awareness** — Inbox counts, member status, and message history accessible in one view\n- **Activity Visualization** — Gource-based git activity rendering to visualize team contributions over time\n\n资料来源：[skills/clawteam/SKILL.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/SKILL.md)\n\n## Architecture\n\n```mermaid\ngraph TD\n    subgraph \"Board Subsystem\"\n        A[board show] --> B[Board Server]\n        C[board live] --> B\n        D[board overview] --> B\n        \n        B --> E[Collector Module]\n        B --> F[Renderer Module]\n        B --> G[Gource Module]\n        \n        E --> H[Task Store]\n        E --> I[Message Store]\n        E --> J[Team Config]\n    end\n    \n    subgraph \"Output Formats\"\n        F --> K[Human Readable]\n        F --> L[JSON API]\n        G --> M[Gource Visualization]\n    end\n```\n\nThe Board module consists of four primary components:\n\n| Component | File | Responsibility |\n|-----------|------|----------------|\n| **server.py** | `clawteam/board/server.py` | HTTP/web server, API endpoints, command handlers |\n| **collector.py** | `clawteam/board/collector.py` | Aggregates data from task stores, message stores, team configs |\n| **renderer.py** | `clawteam/board/renderer.py` | Formats board data for human or JSON output |\n| **gource.py** | `clawteam/board/gource.py` | Generates git activity visualizations |\n\n资料来源：[clawteam/board/server.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/server.py)\n\n## Data Model\n\nThe Board draws data from three primary storage locations under `~/.clawteam/`:\n\n```\n~/.clawteam/\n├── teams/{team}/\n│   ├── config.json          # TeamConfig (name, members, leader)\n│   └── inboxes/{agent}/     # msg-{timestamp}-{uuid}.json files\n├── tasks/{team}/\n│   └── task-{id}.json       # Individual task files\n└── plans/\n    └── {agent}-{id}.md      # Plan documents\n```\n\n### Task Statuses\n\n| Status | Description | Behavior |\n|--------|-------------|----------|\n| `pending` | Not yet started | Available for assignment |\n| `in_progress` | Currently being worked on | Blocks dependent tasks |\n| `completed` | Done | Auto-unblocks dependent tasks |\n| `blocked` | Waiting on other tasks | Remains blocked until blockers complete |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### Message Types\n\n| Type | Description |\n|------|-------------|\n| `message` | General point-to-point message |\n| `broadcast` | Broadcast to all members |\n| `join_request` / `join_approved` / `join_rejected` | Team join lifecycle |\n| `plan_approval_request` / `plan_approved` / `plan_rejected` | Plan review lifecycle |\n| `shutdown_request` / `shutdown_approved` / `shutdown_rejected` | Agent shutdown lifecycle |\n| `idle` | Agent idle notification |\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Board Commands\n\n### `board show`\n\nDisplay detailed team board data with kanban visualization.\n\n```bash\nclawteam board show <team>\nclawteam --json board show <team>\n```\n\n| Output Mode | Description |\n|-------------|-------------|\n| Human | Renders kanban board with tasks grouped by status |\n| JSON | Includes member inbox identity fields plus persistent message history |\n\nThe JSON output includes member-aware message aliases:\n\n- `memberKey` — Unique member identifier\n- `inboxName` — Agent's inbox directory name\n- `fromLabel` / `toLabel` — Human-readable sender/recipient labels\n\nThese fields enable the browser board to filter inbox history by team member.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n### `board overview`\n\nShow summary of all teams in a table format.\n\n```bash\nclawteam board overview\nclawteam --json board overview\n```\n\nReturns metadata for each team:\n\n| Field | Description |\n|-------|-------------|\n| `name` | Team identifier |\n| `description` | Team purpose description |\n| `leadAgentId` | Leader agent ID |\n| `memberCount` | Number of active members |\n\n### `board live`\n\nLaunch a live-refreshing kanban board that auto-updates at configurable intervals.\n\n```bash\nclawteam board live <team> [--interval 2.0]\n```\n\nPress `Ctrl+C` to stop the live view. Default refresh interval is 2.0 seconds.\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## MCP Board Tools\n\nFor integration with AI agents, the Board exposes MCP (Model Context Protocol) tools in `clawteam/mcp/tools/board.py`:\n\n```python\n# Available MCP tools for board interaction\n- board_show       # Show team board data\n- board_overview   # List all teams summary\n- board_live       # Start live monitoring\n```\n\nThese tools allow AI agents to query board state programmatically without CLI invocation.\n\n资料来源：[clawteam/mcp/tools/board.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/mcp/tools/board.py)\n\n## Browser Dashboard (website/src/App.jsx)\n\nThe website provides a browser-accessible board interface at `website/src/App.jsx`. The browser board includes:\n\n### Visual Components\n\n| Component | Description |\n|-----------|-------------|\n| **Hero Section** | Main landing area with CLI mockup visualization |\n| **Features Grid** | Cards highlighting core capabilities |\n| **Workflow Steps** | Installation and setup instructions |\n| **Documentation Links** | Quick access to SKILL.md and CLI reference |\n\nThe TerminalMockup component renders a simulated CLI session showing team operations:\n\n```jsx\n<TeamTerminalMockup/>\n```\n\nThis mockup demonstrates:\n- Team creation: `clawteam team spawn-team docs-sprint`\n- Agent spawning: `clawteam spawn tmux claude-code --agent-name builder`\n- Status checks: `clawteam team status docs-sprint`\n\n资料来源：[website/src/App.jsx](https://github.com/HKUDS/ClawTeam/blob/main/website/src/App.jsx)\n\n## Gource Activity Visualization\n\nThe `gource.py` module provides git-aware execution visualization:\n\n```mermaid\ngraph LR\n    A[Git Repos] --> B[Gource Renderer]\n    C[Worktrees] --> B\n    D[Diffs] --> B\n    E[Merge State] --> B\n    \n    B --> F[Activity Timeline]\n```\n\nGource renders agent activity as a timeline visualization, showing:\n- File changes over time\n- Agent contribution patterns\n- Merge and branch activity\n\n资料来源：[clawteam/board/gource.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/gource.py)\n\n## Integration with Task System\n\nThe Board integrates closely with the task management system:\n\n```mermaid\ngraph LR\n    A[Task Create] --> B[Task Store]\n    C[Task Update] --> B\n    D[Task Complete] --> E[Auto-Unblock]\n    \n    B --> F[Board Collector]\n    F --> G[Board Renderer]\n    G --> H[CLI / Browser]\n    \n    E --> B\n```\n\nTask commands that feed into the Board:\n\n| Command | Board Impact |\n|---------|-------------|\n| `task create` | Adds new task to kanban |\n| `task update --status` | Moves task between columns |\n| `task update --owner` | Assigns/reassigns task |\n| `task list` | Filters visible tasks |\n\nWhen a task is marked `completed`, the system automatically unblocks any tasks that were blocked by it (moving them from `blocked` to `pending` if no other blockers remain).\n\n资料来源：[skills/clawteam/references/cli-reference.md](https://github.com/HKUDS/ClawTeam/blob/main/skills/clawteam/references/cli-reference.md)\n\n## Configuration\n\nBoard behavior is controlled through team configuration stored in `~/.clawteam/teams/{team}/config.json`:\n\n```json\n{\n  \"name\": \"team-name\",\n  \"members\": [\"leader\", \"agent-1\", \"agent-2\"],\n  \"leader\": \"leader\"\n}\n```\n\nThe collector module reads this config along with task and message stores to build the complete board view.\n\n资料来源：[clawteam/board/collector.py](https://github.com/HKUDS/ClawTeam/blob/main/clawteam/board/collector.py)\n\n## Quick Reference\n\n| Command | Purpose |\n|---------|---------|\n| `clawteam board show <team>` | View team kanban board |\n| `clawteam board overview` | List all teams summary |\n| `clawteam board live <team>` | Live-refreshing board view |\n| `clawteam task list <team>` | List tasks with filters |\n| `clawteam team status <team>` | Show team config and members |\n\n---\n\n---\n\n## Doramagic 踩坑日志\n\n项目：HKUDS/ClawTeam\n\n摘要：发现 15 个潜在踩坑项，其中 1 个为 high/blocking；最高优先级：安全/权限坑 - 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing。\n\n## 1. 安全/权限坑 · 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n\n- 严重度：high\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_d8bd96f00b7c46c6813bc15c32a84625 | https://github.com/HKUDS/ClawTeam/issues/76 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 2. 配置坑 · 可能修改宿主 AI 配置\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。\n- 对用户的影响：安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。\n- 建议检查：列出会写入的配置文件、目录和卸载/回滚步骤。\n- 防护动作：涉及宿主配置目录时必须给回滚路径，不能只给安装命令。\n- 证据：capability.host_targets | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | host_targets=claude, claude_code, cursor, chatgpt\n\n## 3. 配置坑 · 来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM plugin + reaction engine\n- 对用户的影响：可能增加新用户试用和生产接入成本。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_114771b2a1474b358b05a6a9e61807f6 | https://github.com/HKUDS/ClawTeam/issues/157 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 4. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | README/documentation is current enough for a first validation pass.\n\n## 5. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | last_activity_observed missing\n\n## 6. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 7. 安全/权限坑 · 存在安全注意事项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：No sandbox install has been executed yet; downstream must verify before user use.\n- 对用户的影响：用户安装前需要知道权限边界和敏感操作。\n- 建议检查：转成明确权限清单和安全审查提示。\n- 防护动作：安全注意事项必须面向用户前置展示。\n- 证据：risks.safety_notes | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | No sandbox install has been executed yet; downstream must verify before user use.\n\n## 8. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 9. 安全/权限坑 · 来源证据：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_dc9ad856da7a4a828860da94afadc7ec | https://github.com/HKUDS/ClawTeam/issues/146 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 10. 安全/权限坑 · 来源证据：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n- 对用户的影响：可能阻塞安装或首次运行。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_61dec732a08f4279a590654f0eecea51 | https://github.com/HKUDS/ClawTeam/issues/104 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 11. 安全/权限坑 · 来源证据：Worker agents exit after first turn despite 'ongoing job' task prompt\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Worker agents exit after first turn despite 'ongoing job' task prompt\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_26124d52e6d948b2bf15809390ef2589 | https://github.com/HKUDS/ClawTeam/issues/148 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 12. 安全/权限坑 · 来源证据：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_63b04b7d23e74c71a8c1f8dddcaa9281 | https://github.com/HKUDS/ClawTeam/issues/45 | 来源讨论提到 node 相关条件，需在安装/试用前复核。\n\n## 13. 安全/权限坑 · 来源证据：v0.2.0 — Stabilization Release\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：v0.2.0 — Stabilization Release\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_2aca0ffb17f94d8bb219737c9f275e7f | https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0 | 来源类型 github_release 暴露的待验证使用条件。\n\n## 14. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | issue_or_pr_quality=unknown\n\n## 15. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | release_recency=unknown\n\n<!-- canonical_name: HKUDS/ClawTeam; human_manual_source: deepwiki_human_wiki -->\n",
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "Human Manual / 人类版说明书"
    },
    "pitfall_log": {
      "asset_id": "pitfall_log",
      "filename": "PITFALL_LOG.md",
      "markdown": "# Pitfall Log / 踩坑日志\n\n项目：HKUDS/ClawTeam\n\n摘要：发现 15 个潜在踩坑项，其中 1 个为 high/blocking；最高优先级：安全/权限坑 - 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing。\n\n## 1. 安全/权限坑 · 来源证据：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n\n- 严重度：high\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Security testing for multi-agent swarms: agent isolation, delegation trust, inbox spoofing\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_d8bd96f00b7c46c6813bc15c32a84625 | https://github.com/HKUDS/ClawTeam/issues/76 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 2. 配置坑 · 可能修改宿主 AI 配置\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。\n- 对用户的影响：安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。\n- 建议检查：列出会写入的配置文件、目录和卸载/回滚步骤。\n- 防护动作：涉及宿主配置目录时必须给回滚路径，不能只给安装命令。\n- 证据：capability.host_targets | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | host_targets=claude, claude_code, cursor, chatgpt\n\n## 3. 配置坑 · 来源证据：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM…\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Proposal: 8-PR sequence — canonical WorkerState, persistent event log, project namespacing, contract verify states, SCM plugin + reaction engine\n- 对用户的影响：可能增加新用户试用和生产接入成本。\n- 建议检查：来源问题仍为 open，Pack Agent 需要复核是否仍影响当前版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_114771b2a1474b358b05a6a9e61807f6 | https://github.com/HKUDS/ClawTeam/issues/157 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 4. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | README/documentation is current enough for a first validation pass.\n\n## 5. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | last_activity_observed missing\n\n## 6. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 7. 安全/权限坑 · 存在安全注意事项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：No sandbox install has been executed yet; downstream must verify before user use.\n- 对用户的影响：用户安装前需要知道权限边界和敏感操作。\n- 建议检查：转成明确权限清单和安全审查提示。\n- 防护动作：安全注意事项必须面向用户前置展示。\n- 证据：risks.safety_notes | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | No sandbox install has been executed yet; downstream must verify before user use.\n\n## 8. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | no_demo; severity=medium\n\n## 9. 安全/权限坑 · 来源证据：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Agent Definitions Feature is Non-Functional: Parsed but Not Applied\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_dc9ad856da7a4a828860da94afadc7ec | https://github.com/HKUDS/ClawTeam/issues/146 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 10. 安全/权限坑 · 来源证据：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：High: /api/proxy board endpoint enables SSRF and arbitrary outbound fetches\n- 对用户的影响：可能阻塞安装或首次运行。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_61dec732a08f4279a590654f0eecea51 | https://github.com/HKUDS/ClawTeam/issues/104 | 来源类型 github_issue 暴露的待验证使用条件。\n\n## 11. 安全/权限坑 · 来源证据：Worker agents exit after first turn despite 'ongoing job' task prompt\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：Worker agents exit after first turn despite 'ongoing job' task prompt\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_26124d52e6d948b2bf15809390ef2589 | https://github.com/HKUDS/ClawTeam/issues/148 | 来源讨论提到 python 相关条件，需在安装/试用前复核。\n\n## 12. 安全/权限坑 · 来源证据：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：[Feature Request] Optimize Worker Workspace Size and Enable Headless IPC\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_63b04b7d23e74c71a8c1f8dddcaa9281 | https://github.com/HKUDS/ClawTeam/issues/45 | 来源讨论提到 node 相关条件，需在安装/试用前复核。\n\n## 13. 安全/权限坑 · 来源证据：v0.2.0 — Stabilization Release\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题：v0.2.0 — Stabilization Release\n- 对用户的影响：可能影响授权、密钥配置或安全边界。\n- 建议检查：来源显示可能已有修复、规避或版本变化，说明书中必须标注适用版本。\n- 防护动作：不得脱离来源链接放大为确定性结论；需要标注适用版本和复核状态。\n- 证据：community_evidence:github | cevd_2aca0ffb17f94d8bb219737c9f275e7f | https://github.com/HKUDS/ClawTeam/releases/tag/v0.2.0 | 来源类型 github_release 暴露的待验证使用条件。\n\n## 14. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | issue_or_pr_quality=unknown\n\n## 15. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | art_abc9b09559e64bd4983fa470a78389f3 | https://github.com/HKUDS/ClawTeam#readme | release_recency=unknown\n",
      "summary": "用户实践前最可能遇到的身份、安装、配置、运行和安全坑。",
      "title": "Pitfall Log / 踩坑日志"
    },
    "prompt_preview": {
      "asset_id": "prompt_preview",
      "filename": "PROMPT_PREVIEW.md",
      "markdown": "# ClawTeam - Prompt Preview\n\n> Copy the prompt below into your AI host before installing anything.\n> Its purpose is to let you safely feel the project's workflow, not to claim the project has already run.\n\n## Copy this prompt\n\n```text\nYou are using an independent Doramagic capability pack for HKUDS/ClawTeam.\n\nProject:\n- Name: ClawTeam\n- Repository: https://github.com/HKUDS/ClawTeam\n- Summary: <h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>\n- Host target: claude, claude_code, cursor, chatgpt\n\nGoal:\nHelp me evaluate this project for the following task without installing it yet: <h1 align=\"center\"><img src=\"assets/icon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; ClawTeam: Agent Swarm Intelligence</h1>\n\nBefore taking action:\n1. Restate my task, success standard, and boundary.\n2. Identify whether the next step requires tools, browser access, network access, filesystem access, credentials, package installation, or host configuration.\n3. Use only the Doramagic Project Pack, the upstream repository, and the source-linked evidence listed below.\n4. If a real command, install step, API call, file write, or host integration is required, mark it as \"requires post-install verification\" and ask for approval first.\n5. If evidence is missing, say \"evidence is missing\" instead of filling the gap.\n\nPreviewable capabilities:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCapabilities that require post-install verification:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCore service flow:\n1. page-introduction: Introduction to ClawTeam. Produce one small intermediate artifact and wait for confirmation.\n2. page-quickstart: Quick Start Guide. Produce one small intermediate artifact and wait for confirmation.\n3. page-architecture: System Architecture. Produce one small intermediate artifact and wait for confirmation.\n4. page-agent-spawning: Agent Spawning System. Produce one small intermediate artifact and wait for confirmation.\n5. page-task-management: Task Management System. Produce one small intermediate artifact and wait for confirmation.\n\nSource-backed evidence to keep in mind:\n- https://github.com/HKUDS/ClawTeam#readme\n- .agents/skills/clawteam-dev/SKILL.md\n- .agents/skills/frontend-design/SKILL.md\n- docs/skills/clawteam/SKILL.md\n- skills/clawteam/SKILL.md\n- README.md\n- clawteam/__init__.py\n- clawteam/identity.py\n- pyproject.toml\n- scripts/install_clawteam.sh\n\nFirst response rules:\n1. Start Step 1 only.\n2. Explain the one service action you will perform first.\n3. Ask exactly three questions about my target workflow, success standard, and sandbox boundary.\n4. Stop and wait for my answers.\n\nStep 1 follow-up protocol:\n- After I answer the first three questions, stay in Step 1.\n- Produce six parts only: clarified task, success standard, boundary conditions, two or three options, tradeoffs for each option, and one recommendation.\n- End by asking whether I confirm the recommendation.\n- Do not move to Step 2 until I explicitly confirm.\n\nConversation rules:\n- Advance one step at a time and wait for confirmation after each small artifact.\n- Write outputs as recommendations or planned checks, not as completed execution.\n- Do not claim tests passed, files changed, commands ran, APIs were called, or the project was installed.\n- If the user asks for execution, first provide the sandbox setup, expected output, rollback, and approval checkpoint.\n```\n",
      "summary": "不安装项目也能感受能力节奏的安全试用 Prompt。",
      "title": "Prompt Preview / 安装前试用 Prompt"
    },
    "quick_start": {
      "asset_id": "quick_start",
      "filename": "QUICK_START.md",
      "markdown": "# Quick Start / 官方入口\n\n项目：HKUDS/ClawTeam\n\n## 官方安装入口\n\n### Python / pip · 官方安装入口\n\n```bash\npip install clawteam\n```\n\n来源：https://github.com/HKUDS/ClawTeam#readme\n\n## 来源\n\n- docs: https://github.com/HKUDS/ClawTeam#readme\n",
      "summary": "从项目官方 README 或安装文档提取的开工入口。",
      "title": "Quick Start / 官方入口"
    }
  },
  "validation_id": "dval_ba964ae4c6fe456582e7a5dbcfd8408e"
}
