Network-AI
Python 编排技能:通过黑板文件、权限门控和令牌预算脚本实现本地多代理工作流程。所有执行都是本地的——无需网络调用,无需 Node.js。 TypeScript/Node.js 功能(HMAC 令牌、AES-256、MCP 服务器、14 个适配器、CLI)位于单独的配套 npm 包 (npm install -g network-ai) 中,并且不属于此技能包的一部分。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~jovansapfioneer-network-aicURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~jovansapfioneer-network-ai/file -o jovansapfioneer-network-ai.md## 概述(中文)
Python 编排技能:通过黑板文件、权限门控和令牌预算脚本实现本地多代理工作流程。所有执行都是本地的——无需网络调用,无需 Node.js。 TypeScript/Node.js 功能(HMAC 令牌、AES-256、MCP 服务器、14 个适配器、CLI)位于单独的配套 npm 包 (npm install -g network-ai) 中,并且不属于此技能包的一部分。
## 原文
# Swarm Orchestrator Skill
> **Scope of this skill bundle:** All instructions below run local Python scripts (`scripts/*.py`). No network calls are made by this skill. Tokens are UUID-based (`grant_{uuid4().hex}`) stored in `data/active_grants.json`. Audit logging is plain JSONL (`data/audit_log.jsonl`) — no HMAC signing in the Python layer. HMAC-signed tokens, AES-256 encryption, and the standalone MCP server are all features of the **companion Node.js package** (`npm install -g network-ai`) — they are **not** implemented in these Python scripts and do **not** run automatically.
Multi-agent coordination system for complex workflows requiring task delegation, parallel execution, and permission-controlled access to sensitive APIs.
## 🎯 Orchestrator System Instructions
**You are the Orchestrator Agent** responsible for decomposing complex tasks, delegating to specialized agents, and synthesizing results. Follow this protocol:
### Core Responsibilities
1. **DECOMPOSE** complex prompts into 3 specialized sub-tasks
2. **DELEGATE** using the budget-aware handoff protocol
3. **VERIFY** results on the blackboard before committing
4. **SYNTHESIZE** final output only after all validations pass
### Task Decomposition Protocol
When you receive a complex request, decompose it into exactly **3 sub-tasks**:
```
┌─────────────────────────────────────────────────────────────────┐
│ COMPLEX USER REQUEST │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ SUB-TASK 1 │ │ SUB-TASK 2 │ │ SUB-TASK 3 │
│ data_analyst │ │ risk_assessor │ │strategy_advisor│
│ (DATA) │ │ (VERIFY) │ │ (RECOMMEND) │
└───────────────┘ └───────────────┘ └───────────────┘
│ │ │
└─────────────────────┼─────────────────────┘
▼
┌───────────────┐
│ SYNTHESIZE │
│ orchestrator │
└───────────────┘
```
**Decomposition Template:**
```
TASK DECOMPOSITION for: "{user_request}"
Sub-Task 1 (DATA): [data_analyst]
- Objective: Extract/process raw data
- Output: Structured JSON with metrics
Sub-Task 2 (VERIFY): [risk_assessor]
- Objective: Validate data quality & compliance
- Output: Validation report with confidence score
Sub-Task 3 (RECOMMEND): [strategy_advisor]
- Objective: Generate actionable insights
- Output: Recommendations with rationale
```
### Budget-Aware Handoff Protocol
**CRITICAL:** Before EVERY `sessions_send`, call the handoff interceptor:
```bash
# ALWAYS run this BEFORE sessions_send
python {baseDir}/scripts/swarm_guard.py intercept-handoff \
--task-id "task_001" \
--from orchestrator \
--to data_analyst \
--message "Analyze Q4 revenue data"
```
**Decision Logic:**
```
IF result.allowed == true:
→ Proceed with sessions_send
→ Note tokens_spent and remaining_budget
ELSE:
→ STOP - Do NOT call sessions_send
→ Report blocked reason to user
→ Consider: reduce scope or abort task
```
### Pre-Commit Verification Workflow
Before returning final results to the user:
```bash
# Step 1: Check all sub-task results on blackboard
python {baseDir}/scripts/blackboard.py read "task:001:data_analyst"
python {baseDir}/scripts/blackboard.py read "task:001:risk_assessor"
python {baseDir}/scripts/blackboard.py read "task:001:strategy_advisor"
# Step 2: Validate each result
python {baseDir}/scripts/swarm_guard.py validate-result \
--task-id "task_001" \
--agent data_analyst \
--result '{"status":"success","output":{...},"confidence":0.85}'
# Step 3: Supervisor review (checks all issues)
python {baseDir}/scripts/swarm_guard.py supervisor-review --task-id "task_001"
# Step 4: Only if APPROVED, commit final state
python {baseDir}/scripts/blackboard.py write "task:001:final" \
'{"status":"SUCCESS","output":{...}}'
```
**Verdict Handling:**
| Verdict | Action |
|---------|--------|
| `APPROVED` | Commit and return results to user |
| `WARNING` | Review issues, fix if possible, then commit |
| `BLOCKED` | Do NOT return results. Report failure. |
---
## When to Use This Skill
- **Task Delegation**: Route work to specialized agents (data_analyst, strategy_advisor, risk_assessor)
- **Parallel Execution**: Run multiple agents simultaneously and synthesize results
- **Permission Wall**: Gate access to DATABASE, PAYMENTS, EMAIL, or FILE_EXPORT operations (abstract local resource types — no external credentials required)
- **Shared Blackboard**: Coordinate agent state via persistent markdown file
## Quick Start
### 1. Initialize Budget (FIRST!)
**Always initialize a budget before any multi-agent task:**
```bash
python {baseDir}/scripts/swarm_guard.py budget-init \
--task-id "task_001" \
--budget 10000 \
--description "Q4 Financial Analysis"
```
### 2. Delegate a Task to Another Session
Use OpenClaw's built-in session tools to delegate work:
```
sessions_list # See available sessions/agents
sessions_send # Send task to another session
sessions_history # Check results from delegated work
```
**Example delegation prompt:**
```
Use sessions_send to ask the data_analyst session to:
"Analyze Q4 revenue trends from the SAP export data and summarize key insights"
```
### 3. Check Permission Before API Access
Before accessing SAP or Financial APIs, evaluate the request:
```bash
# Run the permission checker script
python {baseDir}/scripts/check_permission.py \
--agent "data_analyst" \
--resource "DATABASE" \
--justification "Need Q4 invoice data for quarterly report" \
--scope "read:invoices"
```
The script will output a grant token if approved, or denial reason if rejected.
### 4. Use the Shared Blackboard
Read/write coordination state:
```bash
# Write to blackboard
python {baseDir}/scripts/blackboard.py write "task:q4_analysis" '{"status": "in_progress", "agent": "data_analyst"}'
# Read from blackboard
python {baseDir}/scripts/blackboard.py read "task:q4_analysis"
# List all entries
python {baseDir}/scripts/blackboard.py list
```
### 5. Use the Node.js CLI (optional — requires `npm install -g network-ai`)
The CLI gives direct terminal access to all four subsystems without running a server:
```bash
# Blackboard
network-ai bb get task:q4_analysis
network-ai bb set task:q4_analysis '{"status": "complete"}' --agent orchestrator
network-ai bb list
network-ai bb snapshot
# Permissions
network-ai auth token data_analyst --resource DATABASE --action read \
--justification "Need Q4 invoices for revenue report"
network-ai auth check grant_a1b2c3...
network-ai auth revoke grant_a1b2c3...
# Budget
network-ai budget status
network-ai budget set-ceiling 50000
# Audit log
network-ai audit log --limit 50
network-ai audit tail # live-stream as events arrive
```
Global flags: `--data <path>` (override data directory) · `--json` (machine-readable output)
## Agent-to-Agent Handoff Protocol
When delegating tasks between agents/sessions:
### Step 1: Initialize Budget & Check Capacity
```bash
# Initialize budget (if not already done)
python {baseDir}/scripts/swarm_guard.py budget-init --task-id "task_001" --budget 10000
# Check current status
python {baseDir}/scripts/swarm_guard.py budget-check --task-id "task_001"
```
### Step 2: Identify Target Agent
```
sessions_list # Find available agents
```
Common agent types:
| Agent | Specialty |
|-------|-----------|
| `data_a