← 返回 Skills 市场
oabdelmaksoud

AGI Farm

作者 oabdelmaksoud · GitHub ↗ · v1.2.0
cross-platform ⚠ suspicious
427
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install agi-farm
功能描述
Interactive setup wizard that creates a fully working multi-agent AI team on OpenClaw. One command bootstraps agents, SOUL.md personas, comms infrastructure...
使用说明 (SKILL.md)

agi-farm

Builds a complete multi-agent AI team on OpenClaw. One wizard, full team.

Commands

Command What it does
/agi-farm setup Full wizard — agents, workspace, crons, bundle, GitHub
/agi-farm status Team health: agents, tasks, cron status
/agi-farm rebuild Regenerate workspace from existing bundle (preserves edits)
/agi-farm export Push bundle to GitHub
/agi-farm dashboard Launch live ops room — see references/dashboard.md
/agi-farm dispatch Run auto-dispatcher — see scripts/auto-dispatch.py

/agi-farm setup

Ask one question at a time. Do not proceed until confirmed.

Step 1 — Team name

"What should we call your team? (e.g. NovaCorp, TradingDesk — default: MyTeam)"

Store as TEAM_NAME.

Step 2 — Orchestrator name

"What's your orchestrator's name? (default: Cooper)"

Store as ORCHESTRATOR_NAME.

Step 3 — Team size

"How many agents? 3 — Minimal: Orchestrator + Researcher + Builder 5 — Standard: adds QA + Content 11 — Full stack: complete AGI system (recommended)"

Store as PRESET.

Step 3.5 — Domain

"What domain? software / trading / research / general (default) / custom"

If custom: ask for one-phrase description. Store as DOMAIN.

Step 3.6 — Custom agents (PRESET 3 or 5 only)

"Add a custom agent? (yes/no, default: no)"

If yes, collect per agent: id, name, emoji, role, goal. Max 3 custom agents. Append to roster in Step 7 with "template": "generic".

Step 4 — Frameworks

"Collaboration frameworks? autogen / crewai / langgraph / all / none"

Store as FRAMEWORKS list. all["autogen", "crewai", "langgraph"].

Step 5 — GitHub

"Create a GitHub repo for the bundle? yes / no"

Store as CREATE_GITHUB.

Step 6 — Confirm

Show summary, ask "Shall I proceed? (yes/no)". If no → restart Step 1.


Step 7 — Write team.json

mkdir -p ~/.openclaw/workspace/agi-farm-bundle/
openclaw agents list --json   # use output to assign appropriate models per role

Use the openclaw agents list output to assign each agent a model appropriate for its role. Write resolved model strings directly into the "model" fields.

Model selection cheat sheet (based on openclaw agents list --json output):

Role Recommended tier Why
Orchestrator High-capability (e.g. sonnet, opus) Needs broad reasoning, delegation judgment
Solution Architect / Researcher High-capability Deep analysis + design
Implementation Engineer Mid-tier (e.g. glm-5, sonnet) Fast code gen; cost-efficiency matters
Debugger High-capability (e.g. opus) Root-cause analysis benefits from deep reasoning
Business Analyst / Knowledge Mid-high (e.g. gemini-2.0-pro-exp) Long-context research tasks
QA Engineer Fast/cheap (e.g. glm-4.7-flash) High volume, pattern-matching checks
Content / Multimodal Multimodal-capable (e.g. gemini-2.0-pro-exp) Vision + rich generation
R&D / Process Improvement High-capability Creative + structured experimentation

Tip: assign opus or sonnet to roles that make decisions; use flash/glm-4.7-flash for high-frequency reviewers to manage cost.

3-agent roster:

{"team_name":"\x3CTEAM_NAME>","orchestrator_name":"\x3CORCHESTRATOR_NAME>","preset":"3",
 "domain":"\x3CDOMAIN>","frameworks":\x3CFRAMEWORKS_JSON>,"created_at":"\x3CISO_TIMESTAMP>",
 "agents":[
   {"id":"main",       "name":"\x3CORCHESTRATOR_NAME>","emoji":"🦅","role":"Orchestrator",           "goal":"Orchestrate the team, delegate tasks, synthesize results",             "model":"\x3CMODEL>","workspace":"."},
   {"id":"researcher", "name":"Sage",               "emoji":"🔮","role":"Researcher",             "goal":"Research deeply and surface the insights that matter most",            "model":"\x3CMODEL>","workspace":"researcher"},
   {"id":"builder",    "name":"Forge",              "emoji":"⚒️","role":"Builder",                "goal":"Implement solutions cleanly and efficiently",                          "model":"\x3CMODEL>","workspace":"builder"}
 ]}

5-agent: add to 3-agent roster:

{"id":"qa",     "name":"Vigil", "emoji":"🛡️","role":"QA Engineer",       "goal":"Ensure every output meets quality standards","model":"\x3CMODEL>","workspace":"qa"},
{"id":"content","name":"Anchor","emoji":"⚓", "role":"Content Specialist","goal":"Craft clear content that communicates complex ideas simply","model":"\x3CMODEL>","workspace":"content"}

11-agent roster:

[
  {"id":"main",  "name":"\x3CORCHESTRATOR_NAME>","emoji":"🦅","role":"Orchestrator",            "goal":"Orchestrate specialists, delegate tasks, synthesize results",                          "model":"\x3CMODEL>","workspace":"."},
  {"id":"sage",  "name":"Sage",              "emoji":"🔮","role":"Solution Architect",       "goal":"Design robust, scalable architectures",                                               "model":"\x3CMODEL>","workspace":"solution-architect"},
  {"id":"forge", "name":"Forge",             "emoji":"⚒️","role":"Implementation Engineer", "goal":"Implement clean, well-tested code efficiently",                                        "model":"\x3CMODEL>","workspace":"implementation-engineer"},
  {"id":"pixel", "name":"Pixel",             "emoji":"🐛","role":"Debugger",                "goal":"Find the true root cause of any bug or failure",                                       "model":"\x3CMODEL>","workspace":"debugger"},
  {"id":"vista", "name":"Vista",             "emoji":"🔭","role":"Business Analyst",        "goal":"Research deeply and surface the insights that matter most",                            "model":"\x3CMODEL>","workspace":"business-analyst"},
  {"id":"cipher","name":"Cipher",            "emoji":"🔊","role":"Knowledge Curator",       "goal":"Curate and surface knowledge so the team never forgets",                              "model":"\x3CMODEL>","workspace":"knowledge-curator"},
  {"id":"vigil", "name":"Vigil",             "emoji":"🛡️","role":"QA Engineer",             "goal":"Ensure every output meets quality standards",                                         "model":"\x3CMODEL>","workspace":"quality-assurance"},
  {"id":"anchor","name":"Anchor",            "emoji":"⚓", "role":"Content Specialist",     "goal":"Craft clear content that communicates complex ideas simply",                           "model":"\x3CMODEL>","workspace":"content-specialist"},
  {"id":"lens",  "name":"Lens",              "emoji":"📡","role":"Multimodal Specialist",   "goal":"Extract meaning from images, documents, and multimodal inputs",                       "model":"\x3CMODEL>","workspace":"multimodal-specialist"},
  {"id":"evolve","name":"Evolve",            "emoji":"🔄","role":"Process Improvement Lead","goal":"Make the team better systematically through continuous improvement",                   "model":"\x3CMODEL>","workspace":"process-improvement"},
  {"id":"nova",  "name":"Nova",              "emoji":"🧪","role":"R&D Lead",                "goal":"Turn hypotheses into proven capabilities through structured experimentation",          "model":"\x3CMODEL>","workspace":"r-and-d"}
]

Step 8 — Generate workspace files

python3 ~/.openclaw/skills/agi-farm/generate.py \
  --team-json ~/.openclaw/workspace/agi-farm-bundle/team.json \
  --output ~/.openclaw/workspace/ \
  --all-agents --shared --bundle

Step 9 — Create OpenClaw agents

For each agent except main (skip if already exists):

openclaw agents add \
  --agent \x3Cid> --name "\x3Cname>" --emoji "\x3Cemoji>" \
  --model "\x3Cmodel>" \
  --workspace "~/.openclaw/workspace/agents-workspaces/\x3Cworkspace>"

Use agent["model"] from team.json directly.


Step 10 — Register cron jobs

python3 ~/.openclaw/skills/agi-farm/scripts/register-crons.py \
  --team-json ~/.openclaw/workspace/agi-farm-bundle/team.json

Timezone is read automatically from OpenClaw config. Skips any cron that already exists.


Step 11 — Install frameworks

For each framework in FRAMEWORKS:

if [ ! -d ~/.openclaw/skills/\x3Cfw>-collab ]; then
  TMP=$(mktemp -d)
  git clone --depth 1 --filter=blob:none --sparse \
    https://github.com/oabdelmaksoud/openclaw-skills.git "$TMP"
  cd "$TMP" && git sparse-checkout set \x3Cfw>-collab
  cp -r \x3Cfw>-collab ~/.openclaw/skills/ && rm -rf "$TMP"
fi
python3 ~/.openclaw/skills/\x3Cfw>-collab/build_agents.py --force 2>/dev/null || true

Step 12 — GitHub (if chosen)

cd ~/.openclaw/workspace/agi-farm-bundle
git init -b main && git add . && git commit -m "feat: \x3CTEAM_NAME> AGI farm"
gh repo create agi-farm-\x3CTEAM_NAME_LOWER> --public --source . --remote origin --push

Step 13 — Commit workspace

cd ~/.openclaw/workspace
git add -A && git commit -m "feat: \x3CTEAM_NAME> AGI team — agi-farm setup complete"

Step 14 — Initialize registries + health check

# Write TASKS.json and AGENT_STATUS.json
python3 - \x3C\x3C 'EOF'
import json
from pathlib import Path
ws   = Path.home() / ".openclaw/workspace"
team = json.loads((ws / "agi-farm-bundle/team.json").read_text())
(ws / "TASKS.json").write_text("[]")
(ws / "AGENT_STATUS.json").write_text(json.dumps(
    {a["id"]: {"status": "available", "name": a["name"]} for a in team["agents"]}, indent=2))
print("✅ registries written")
EOF

# Health check
AGENTS=$(openclaw agents list --json 2>/dev/null | python3 -c "import json,sys; print(len(json.load(sys.stdin)))" || echo 0)
CRONS=$(openclaw cron list 2>/dev/null | grep -c "\x3CTEAM_NAME_LOWER>" || echo 0)
[ -d ~/.openclaw/workspace/comms/inboxes ] && echo "✅ comms OK" || echo "❌ comms missing"
[ -f ~/.openclaw/workspace/TASKS.json ]    && echo "✅ TASKS.json OK" || echo "❌ TASKS.json missing"
echo "✅ Agents: $AGENTS | Crons: $CRONS"

Step 15 — Done

✅ \x3CTEAM_NAME> AGI team is live!
Agents   : \x3CPRESET> (\x3CAGENT_NAMES_LIST>)
Workspace: ~/.openclaw/workspace/
Bundle   : ~/.openclaw/workspace/agi-farm-bundle/
GitHub   : \x3CURL if created>

Next: talk to \x3CORCHESTRATOR_NAME> · /agi-farm status · /agi-farm dashboard

/agi-farm status

openclaw agents list --json | python3 -c "
import json,sys
for a in json.load(sys.stdin):
    print(f'  {a.get(\"identityEmoji\",\"🤖\")} {a.get(\"identityName\",a[\"id\"])}: {a.get(\"model\",\"?\")}')
"
python3 -c "
import json
from pathlib import Path
ws = Path.home() / '.openclaw/workspace'
tasks = json.loads((ws/'TASKS.json').read_text()) if (ws/'TASKS.json').exists() else []
t = [t for t in tasks if isinstance(t,dict)]
print(f'  Tasks: {len(t)} total · {sum(1 for x in t if x.get(\"status\")==\"pending\")} pending · {sum(1 for x in t if x.get(\"status\")==\"needs_human_decision\")} HITL')
"
openclaw cron list 2>/dev/null | head -15

/agi-farm rebuild

python3 ~/.openclaw/skills/agi-farm/generate.py \
  --team-json ~/.openclaw/workspace/agi-farm-bundle/team.json \
  --output ~/.openclaw/workspace/ \
  --all-agents --shared --no-overwrite

--no-overwrite skips files that already exist, preserving manual edits. Add --force (remove --no-overwrite) to overwrite everything.


/agi-farm export

cd ~/.openclaw/workspace/agi-farm-bundle
git add -A
git commit -m "export: $(date +%Y-%m-%d)" 2>/dev/null || echo "Nothing to commit"
git push 2>/dev/null || echo "No remote — run /agi-farm setup first"

/agi-farm dashboard

React + SSE ops room. File-watcher pushes live data to the browser in ~350ms on any workspace .json or .md change. Runs as a persistent macOS LaunchAgent — always on, auto-restarts on crash.

Architecture

dashboard.py          ← Python HTTP server (SSE + static)
  ├── WorkspaceWatcher  watchdog file-watcher, 250ms debounce
  ├── SlowDataCache     background thread — caches `openclaw agents list`
  │                     and `openclaw cron list` every 30s (each takes ~1-2s)
  ├── Broadcaster       thread-safe SSE fan-out to all connected clients
  └── /api/stream       SSE endpoint — pushes full snapshot on every file change

dashboard-react/      ← Vite + React 18 + Recharts frontend
  dist/               ← production build (served by dashboard.py)
  src/
    hooks/useDashboard.js   SSE hook — auto-reconnects on disconnect
    components/
      Header.jsx            live badge, stats, clock
      Nav.jsx               tab switcher
      tabs/
        Overview.jsx        stats, budget bar, SLA alerts, agent grid, broadcast preview
        Agents.jsx          full agent cards — model, inbox, quality, credibility, cache age
        Tasks.jsx           filterable table, expandable rows, ticking deadlines, pagination
        Velocity.jsx        7-day charts (Recharts), quality trend, task-type donut
        Budget.jsx          period bars, threshold markers, per-agent/model breakdown
        OKRs.jsx            objectives + KRs with progress bars
        RD.jsx              experiments, backlog, benchmarks
        Broadcast.jsx       terminal log, color-coded CRITICAL/BLOCKED/HITL

Data sources (all real-time from workspace files)

Field Source file Refresh
tasks, task_counts, sla_at_risk TASKS.json instant
agents (inbox, perf, status) AGENT_STATUS.json, AGENT_PERFORMANCE.json, comms/inboxes/ instant
agent model, cron error/busy openclaw agents/cron list 30s cache
budget BUDGET.json instant
velocity VELOCITY.json instant
okrs OKRs.json instant
broadcast comms/broadcast.md instant
experiments / backlog EXPERIMENTS.json, IMPROVEMENT_BACKLOG.json instant
knowledge_count SHARED_KNOWLEDGE.json instant
memory_lines MEMORY.md instant

LaunchAgent (always-on)

The dashboard is registered as ai.coopercorp.dashboard and starts automatically at login.

# Status
launchctl list | grep coopercorp
curl -s http://localhost:8080/api/data | python3 -m json.tool | head -5

# Restart
launchctl stop  ai.coopercorp.dashboard
launchctl start ai.coopercorp.dashboard

# Logs
tail -f /tmp/coopercorp-dashboard.log
tail -f /tmp/coopercorp-dashboard.err

# Disable / re-enable
launchctl unload ~/Library/LaunchAgents/ai.coopercorp.dashboard.plist
launchctl load   ~/Library/LaunchAgents/ai.coopercorp.dashboard.plist

URL: http://localhost:8080

Rebuild React frontend

cd ~/.openclaw/skills/agi-farm/dashboard-react
npm install        # first time only
npm run build      # outputs to dist/ — dashboard.py serves automatically

Full reference: references/dashboard.md


/agi-farm dispatch

# Dry-run (preview only)
python3 ~/.openclaw/skills/agi-farm/scripts/auto-dispatch.py

# Execute
python3 ~/.openclaw/skills/agi-farm/scripts/auto-dispatch.py --execute

Fires agent sessions for pending tasks, handles HITL notifications, stale task resets, rate-limit backoff, and dependency checking. Cron (every 1 min):

* * * * * python3 ~/.openclaw/skills/agi-farm/scripts/auto-dispatch.py --execute \
            >> ~/.openclaw/workspace/logs/auto-dispatch.log 2>&1

Troubleshooting

Setup issues

Symptom Fix
generate.py fails with ModuleNotFoundError Run pip3 install jinja2
openclaw agents add says agent already exists Safe to ignore — skip that agent
gh repo create fails Run gh auth login first
Cron registration shows 0 crons added Run openclaw cron list to check for duplicates; use --force flag on re-register
git commit fails in Step 13 Run git config --global user.email and set name/email first

Runtime issues

Symptom Fix
Auto-dispatcher fires but agents don't respond Check logs/auto-dispatch.log; verify openclaw agents list shows agents
Dashboard shows stale data Restart LaunchAgent: launchctl stop ai.coopercorp.dashboard && launchctl start ai.coopercorp.dashboard
TASKS.json parse error Validate JSON: python3 -m json.tool ~/.openclaw/workspace/TASKS.json
Agent stuck >30 min Check broadcast.md for [BLOCKED] tags; reassign task manually
Rate-limit backoff too aggressive Edit RATE_LIMIT_BACKOFF_MIN in scripts/auto-dispatch.py (default: 10 min)
openclaw not found in cron Set OPENCLAW_BIN=/path/to/openclaw in the cron environment, or add PATH=/opt/homebrew/bin:$PATH

Recovery

# Re-run setup without overwriting existing files
python3 ~/.openclaw/skills/agi-farm/generate.py \
  --team-json ~/.openclaw/workspace/agi-farm-bundle/team.json \
  --output ~/.openclaw/workspace/ \
  --all-agents --shared --no-overwrite

# Force full regeneration (overwrites everything)
python3 ~/.openclaw/skills/agi-farm/generate.py \
  --team-json ~/.openclaw/workspace/agi-farm-bundle/team.json \
  --output ~/.openclaw/workspace/ \
  --all-agents --shared --bundle --force
安全使用建议
This skill appears to do what it says, but it makes persistent changes (writes to ~/.openclaw/workspace, registers cron jobs and a macOS LaunchAgent, launches agent processes via the openclaw CLI, and can push to GitHub via the gh CLI). Before installing or enabling: 1) Inspect generate.py, dashboard.py and scripts/auto-dispatch.py (they are included) to confirm no unexpected network endpoints or credential exfiltration. 2) Run the setup in dry‑run mode (the dispatcher supports a non‑--execute dry run) and avoid selecting 'Create GitHub repo' until you ensure 'gh' is authenticated as you intend. 3) Backup ~/.openclaw and review any cron/LaunchAgent entries created; consider running first in an isolated environment (VM or throwaway user account). 4) If you don't want persistent services, skip registering cron/LaunchAgent and run dashboard/dispatcher manually. 5) If unsure, ask for a short code walkthrough of generate.py and dashboard.py to confirm they don't call remote URLs or upload workspace data.
功能分析
Type: OpenClaw Skill Name: agi-farm Version: 1.2.0 The OpenClaw AgentSkills bundle is classified as suspicious due to its use of high-risk capabilities and a notable supply chain vulnerability, despite aligning with its stated purpose of setting up a multi-agent AI team. Key indicators include the explicit installation of a persistent macOS LaunchAgent for the dashboard and cron jobs for the auto-dispatcher (SKILL.md, dashboard.py, scripts/register-crons.py), which are powerful persistence mechanisms. Furthermore, Step 11 in SKILL.md involves `git clone` from an external GitHub repository (`https://github.com/oabdelmaksoud/openclaw-skills.git`) directly into the OpenClaw skills directory, posing a significant supply chain risk if that repository were compromised. While these actions are transparently declared and serve the skill's functionality, they represent capabilities that could be exploited, and the external code fetching introduces an unverified dependency.
能力评估
Purpose & Capability
The name/description (bootstrap multi‑agent team, dashboard, dispatcher) align with included files (generate.py, auto-dispatch.py, dashboard.py, React dashboard). Using the OpenClaw CLI and optionally GitHub is expected for this purpose.
Instruction Scope
SKILL.md instructs the agent to write into ~/.openclaw/workspace, create team.json, generate files, register cron jobs, install a macOS LaunchAgent, and invoke openclaw agent sessions. Those are within the stated goal, but they permit broad file I/O, persistent job registration, and automated agent invocation — operations that can affect many user files and system services and therefore require explicit user consent and inspection.
Install Mechanism
No external download/install URL is used; the skill is instruction‑only in metadata but includes source files in the bundle. There is no installer that fetches arbitrary remote code at runtime, which reduces supply‑chain risk. The React bundle and Python scripts are included in the package.
Credentials
The registry declares no required env vars, but SKILL.md and code expect an 'openclaw' binary on PATH (with fallback path) and may call 'gh' for GitHub pushes; the README suggests OPENCLAW_BIN overrides and 'gh auth login' for GH. The skill does not request cloud/API keys directly, but it will use any existing CLI credentials (e.g., gh auth) and the user's filesystem. This is mostly proportional but users should be aware it will act using their CLI authentication context.
Persistence & Privilege
The skill sets up cron jobs and a persistent macOS LaunchAgent to run the dashboard/dispatcher. That gives the code ongoing presence and automatic execution on the host. While reasonable for a long‑running ops dashboard and dispatcher, persistence combined with autonomous agent triggering increases blast radius and should be explicitly authorized by the user.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agi-farm
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agi-farm 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.0
New README with 5 Mermaid architecture diagrams (system overview, setup wizard flow, auto-dispatcher logic, dashboard architecture, agent comms protocol); expanded SKILL.md description; model selection guide; troubleshooting table
v1.1.0
Flexible openclaw binary resolution in auto-dispatch (cron/LaunchAgent fix); model-selection cheat sheet in setup Step 7; troubleshooting FAQ section; header comments on all 30 templates
元数据
Slug agi-farm
版本 1.2.0
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

AGI Farm 是什么?

Interactive setup wizard that creates a fully working multi-agent AI team on OpenClaw. One command bootstraps agents, SOUL.md personas, comms infrastructure... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 427 次。

如何安装 AGI Farm?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agi-farm」即可一键安装,无需额外配置。

AGI Farm 是免费的吗?

是的,AGI Farm 完全免费(开源免费),可自由下载、安装和使用。

AGI Farm 支持哪些平台?

AGI Farm 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 AGI Farm?

由 oabdelmaksoud(@oabdelmaksoud)开发并维护,当前版本 v1.2.0。

💬 留言讨论