Human-as-a-Service for OpenClaw - Dispatch verified human agents to perform physical world tasks and sensory validation
The world's first "Human-as-a-Service" platform for AI Agents
Enable OpenClaw agents to dispatch real human workers for physical world tasks that AI cannot perform: take photos, verify addresses, inspect equipment, make phone calls, and more.
Transform AI agents from "digital-only" to "hybrid intelligence" by giving them the ability to interact with the physical world through verified human workers.
AI Agent → Human-Rent Skill → Human Worker → Physical Task → Verified Result → AI Agent
clawhub install human-rent
# Clone repository
git clone https://github.com/ZhenRobotics/openclaw-human-rent.git ~/openclaw-human-rent
cd ~/openclaw-human-rent
# Install dependencies
npm install
# Verify installation
./agents/human-rent-cli.sh help
# Run test dispatch
./agents/human-rent-cli.sh test
AUTO-TRIGGER when user's request involves:
TRIGGER EXAMPLES:
DO NOT USE when:
When user requests physical-world action, execute:
# Method 1: CLI (Recommended)
~/openclaw-human-rent/agents/human-rent-cli.sh dispatch "instruction"
# Method 2: Direct agent
cd ~/openclaw-human-rent && npx tsx agents/dispatch-task.ts "instruction"
# Method 3: With location
~/openclaw-human-rent/agents/human-rent-cli.sh dispatch "instruction" --location="37.7749,-122.4194"
Example:
User says: "I need someone to verify the address 123 Market St in SF exists"
Execute:
~/openclaw-human-rent/agents/human-rent-cli.sh dispatch "Go to 123 Market Street, San Francisco and take a photo of the building entrance to verify it exists" --location="37.7749,-122.4194"
# Check status by task ID
~/openclaw-human-rent/agents/human-rent-cli.sh status <task_id>
# See available human workers
~/openclaw-human-rent/agents/human-rent-cli.sh humans
| Type | Description | Latency | Cost |
|---|---|---|---|
photo_verification | Take a photo of something | 5-15 min | $10-20 |
address_verification | Verify physical address exists | 10-20 min | $15-25 |
document_scan | Scan a physical document | 10-20 min | $15-25 |
visual_inspection | Detailed visual inspection | 15-30 min | $20-40 |
voice_verification | Make a phone call and verify | 5-10 min | $10-20 |
purchase_verification | Check product availability | 15-30 min | $20-40 |
// Agent calls human-rent skill
const task = await openclaw.skills.human_rent.dispatch({
task_type: "photo_verification",
location: "37.7749,-122.4194",
instruction: "Take photo of building entrance",
budget: "$15",
timeout: "30min"
});
// Returns immediately with task ID
console.log(task.task_id); // "abc-123-def"
console.log(task.status); // "assigned"
// Agent continues other work (non-blocking)
await openclaw.doOtherStuff();
// Later, check status
const result = await openclaw.skills.human_rent.checkStatus(task.task_id);
if (result.status === "completed") {
// Process human's result
console.log(result.result.photos); // ["https://..."]
console.log(result.result.notes); // Human's observations
}
This skill implements Model Context Protocol (MCP) extensions:
{
"name": "human-rent",
"type": "physical_resource",
"latency": "high",
"cost_model": "per_task",
"capabilities": [
"visual_verification",
"physical_manipulation",
"social_interaction"
]
}
Problem: All AI agents are limited to digital information Solution: OpenClaw can verify physical reality
Example Use Cases:
Enable "Human-in-the-Loop" automation:
Step 1: AI analysis (confidence: 85%)
Step 2: Human verification (if confidence < 90%)
Step 3: AI decision (based on verified data)
This makes OpenClaw agents auditable and trustworthy for regulated industries (finance, healthcare, legal).
Potential: If 10K agents use 1 task/day at $15 → $1M daily revenue (20% = $200K to platform)
| Task Type | Human Time | Human Cost | Platform Fee (20%) | Total Cost |
|---|---|---|---|---|
| Quick photo | 10 min | $10 | $2 | $12 |
| Address verify | 20 min | $20 | $4 | $24 |
| Detailed inspect | 30 min | $30 | $6 | $36 |
| Expert consult | 60 min | $100 | $20 | $120 |
requirements: {
minHumanRating: 4.5, // Require highly rated workers
requiredSkills: ['photography', 'legal_reading'],
requiredEquipment: ['smartphone', 'tape_measure'],
languageRequired: ['en', 'zh'],
certificationRequired: ['driver_license']
}
automatic: AI-based verification (fast, cheap)cross_check: Multiple humans verify same task (slower, more reliable)manual_review: Platform expert reviews (slowest, highest quality)none: Trust human worker (fastest, lowest cost)Scenario: AI agent analyzing potential property investment
// Agent is uncertain about property condition
const task = await dispatch({
task_type: "visual_inspection",
location: "37.7749,-122.4194",
instruction: "Inspect the property at 123 Main St. Check for: roof condition, foundation cracks, water damage, neighborhood safety. Take 10+ photos.",
budget: "$50",
timeout: "60min",
requirements: {
requiredSkills: ['property_inspection'],
minHumanRating: 4.5
}
});
// Agent continues analysis while waiting
await analyzeFinancials();
await checkLegalRecords();
// Retrieve human's findings
const result = await checkStatus(task.task_id);
// Use real-world data for final decision
Scenario: Procurement agent vetting new supplier
human-rent dispatch "Visit supplier's warehouse at 456 Industrial Rd. Verify: business license displayed, clean facilities, proper safety equipment, actual inventory matches claim. Interview manager if possible."
Scenario: Security agent receives suspicious package alert
human-rent dispatch "URGENT: Suspicious package at office entrance. DO NOT TOUCH. Call building security (415-555-0123), evacuate area, wait for authorities. Take photos from safe distance." --priority=urgent --budget="$100"
Error: "No suitable humans found for this task"
Solutions:
Error: "Task timed out"
Solutions:
Solutions:
When using this skill, agents should:
DO:
DON'T:
dispatchHuman(request)Dispatch a task to a human worker.
Parameters:
{
task_type: string, // Type of task
instruction: string, // Clear instructions for human
location?: string, // "lat,lng" format
budget?: string, // "$15" format
timeout?: string, // "30min" format
priority?: string, // low|normal|high|urgent
requirements?: object // Skills, rating, equipment
}
Returns:
{
task_id: string,
status: "assigned" | "failed",
estimated_completion?: string,
message: string
}
checkTaskStatus(taskId)Check status of a dispatched task.
Returns:
{
task_id: string,
status: TaskStatus,
result?: TaskResult,
verification?: Verification,
message: string
}
listAvailableHumans(location?, skills?)Get available human workers.
Returns:
{
statistics: { total, available, averageRating },
available_humans: Human[]
}
Project Status: 🧪 MVP - Testing Phase
License: MIT
Author: @ZhenStaff
Support: https://github.com/ZhenRobotics/openclaw-human-rent/issues
ClawHub: https://clawhub.ai/ZhenStaff/human-rent
# 1. Install
git clone https://github.com/ZhenRobotics/openclaw-human-rent.git ~/openclaw-human-rent
cd ~/openclaw-human-rent && npm install
# 2. Test
./agents/human-rent-cli.sh test
# 3. Dispatch real task
./agents/human-rent-cli.sh dispatch "Take a photo of the Golden Gate Bridge"
# 4. Check status
./agents/human-rent-cli.sh status <task_id>
# 5. List humans
./agents/human-rent-cli.sh humans
Make AI agents that can touch the physical world. 🌍🤖✨
ZIP package — ready to use