/install a2h-bridge
Bridge
Request human help for physical-world tasks. Bridge verifies the work was done before releasing payment.
Start the server
uvicorn bridge.app:app --port 8015
Create a task with verification criteria
curl -s -X POST http://localhost:8015/v1/tasks \
-H "Content-Type: application/json" \
-d '{
"description": "Pick up package at 123 Main St, photograph it",
"budget_usdc": "25.00",
"verification_criteria": [
{"type": "gps_proof", "description": "At pickup location", "params": {"latitude": 37.7749, "longitude": -122.4194, "radius_m": 100}},
{"type": "photo_proof", "description": "Photo of package", "params": {"min_photos": 1}}
]
}' | jq
Escrow is locked automatically. Fee is 5% of budget.
Submit proof and verify
curl -s -X POST http://localhost:8015/v1/tasks/TASK_ID/verify \
-H "Content-Type: application/json" \
-d '{
"worker_id": "worker-1",
"proofs": [
{"type": "gps_proof", "data": {"latitude": 37.7749, "longitude": -122.4194}},
{"type": "photo_proof", "data": {"photo_hashes": ["sha256:abc123"]}}
]
}' | jq
If ALL criteria pass → escrow released. If any fail → escrow held.
Dispute a task
curl -s -X POST http://localhost:8015/v1/tasks/TASK_ID/dispute \
-H "Content-Type: application/json" \
-d '{"reason": "GPS proof appears faked"}' | jq
Freezes escrow. No verification possible while disputed.
Milestone-based tasks (partial payment)
curl -s -X POST http://localhost:8015/v1/tasks \
-H "Content-Type: application/json" \
-d '{
"description": "Two-step delivery",
"budget_usdc": "100.00",
"milestones": [
{"description": "Pick up", "budget_pct": 40, "criteria": [{"type": "gps_proof", "description": "At pickup", "params": {"latitude": 37.77, "longitude": -122.42, "radius_m": 100}}]},
{"description": "Deliver", "budget_pct": 60, "criteria": [{"type": "photo_proof", "description": "Photo", "params": {"min_photos": 1}}]}
]
}' | jq
Verify milestones individually — each releases its share of the budget:
curl -s -X POST http://localhost:8015/v1/tasks/TASK_ID/verify-milestone \
-H "Content-Type: application/json" \
-d '{"worker_id": "w", "milestone_index": 0, "proofs": [{"type": "gps_proof", "data": {"latitude": 37.77, "longitude": -122.42}}]}' | jq
Worker reputation
curl -s http://localhost:8015/v1/workers | jq # Leaderboard (sorted by score)
curl -s http://localhost:8015/v1/workers/worker-1 | jq # Individual profile
Other endpoints
curl -s http://localhost:8015/v1/tasks | jq # List all tasks
curl -s http://localhost:8015/v1/tasks?status=posted | jq # Filter by status
curl -s http://localhost:8015/v1/tasks/TASK_ID/accept?worker_id=w -X POST # Accept task
curl -s http://localhost:8015/v1/platforms | jq # Available platforms
curl -s http://localhost:8015/v1/stats | jq # Platform statistics
Verification types
| Type | What it proves | How |
|---|---|---|
gps_proof |
Worker was at location | Haversine distance \x3C radius |
photo_proof |
Photos submitted | Unique hash count >= min |
timestamp_proof |
Done within deadline | Elapsed hours \x3C max |
signature_proof |
Cryptographic signature | Non-empty signature present |
multi_witness |
N agents confirm completion | Unique attesting witness count >= threshold |
Surge pricing
- Standard: 5% base fee
- Urgent: +15% (total 20%)
- Critical: +40% (total 45%)
Escrow model
- Locked at task creation (budget held)
- Released only if ALL criteria pass (or per-milestone for milestone tasks)
- Frozen on dispute
- Refunded if deadline expires with no proof
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install a2h-bridge - 安装完成后,直接呼叫该 Skill 的名称或使用
/a2h-bridge触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Bridge 是什么?
Agent-to-Human (A2H) verification and escrow platform. Request physical-world tasks, define verification criteria (GPS, photos, timestamps, signatures, multi... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 91 次。
如何安装 Bridge?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install a2h-bridge」即可一键安装,无需额外配置。
Bridge 是免费的吗?
是的,Bridge 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Bridge 支持哪些平台?
Bridge 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Bridge?
由 mirni(@mirni)开发并维护,当前版本 v2.0.0。