GitHub - sipeed/picoclaw: picoclaw

7 min read Original article ↗

PicoClaw

PicoClaw: Ultra-Efficient AI Assistant in Go

$10 Hardware · 10MB RAM · 1s Boot · 皮皮虾,我们走!

Go Hardware License


🦐 PicoClaw is an ultra-lightweight personal AI Assistant inspired by nanobot, refactored from the ground up in Go through a self-bootstrapping process, where the AI agent itself drove the entire architectural migration and code optimization.

⚡️ Runs on $10 hardware with <10MB RAM: That's 99% less memory than OpenClaw and 98% cheaper than a Mac mini!

📢 News

2026-02-09 🎉 PicoClaw Launched! Built in 1 day to bring AI Agents to $10 hardware with <10MB RAM. 🦐 皮皮虾,我们走!

✨ Features

🪶 Ultra-Lightweight: <10MB Memory footprint — 99% smaller than Clawdbot - core functionality.

💰 Minimal Cost: Efficient enough to run on $10 Hardware — 98% cheaper than a Mac mini.

⚡️ Lightning Fast: 400X Faster startup time, boot in 1 second even in 0.6GHz single core.

🌍 True Portability: Single self-contained binary across RISC-V, ARM, and x86, One-click to Go!

🤖 AI-Bootstrapped: Autonomous Go-native implementation — 95% Agent-generated core with human-in-the-loop refinement.

OpenClaw NanoBot PicoClaw
Language TypeScript Python Go
RAM >1GB >100MB < 10MB
Startup
(0.8GHz core)
>500s >30s <1s
Cost Mac Mini 599$ Most Linux SBC
~50$
Any Linux Board
As low as 10$

PicoClaw

🦾 Demonstration

🛠️ Standard Assistant Workflows

🧩 Full-Stack Engineer

🗂️ Logging & Planning Management

🔎 Web Search & Learning

Develop • Deploy • Scale Schedule • Automate • Memory Discovery • Insights • Trends

🐜 Innovative Low-Footprint Deploy

PicoClaw can be deployed on almost any Linux device!

picoclaw_detect_person.mp4

🌟 More Deployment Cases Await!

📦 Install

Install with precompiled binary

Download the firmware for your platform from the release page.

Install from source (latest features, recommended for development)

git clone https://github.com/sipeed/picoclaw.git

cd picoclaw
make deps

# Build, no need to install
make build

# Build for multiple platforms
make build-all

# Build And Install
make install

🚀 Quick Start

Tip

Set your API key in ~/.picoclaw/config.json. Get API keys: OpenRouter (LLM) · Zhipu (LLM) Web search is optional - get free Brave Search API (2000 free queries/month)

1. Initialize

2. Configure (~/.picoclaw/config.json)

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "openrouter": {
      "api_key": "xxx",
      "api_base": "https://openrouter.ai/api/v1"
    }
  },
  "tools": {
    "web": {
      "search": {
        "api_key": "YOUR_BRAVE_API_KEY",
        "max_results": 5
      }
    }
  }
}

3. Get API Keys

Note: See config.example.json for a complete configuration template.

4. Chat

picoclaw agent -m "What is 2+2?"

That's it! You have a working AI assistant in 2 minutes.


💬 Chat Apps

Talk to your picoclaw through Telegram, Discord, or DingTalk

Channel Setup
Telegram Easy (just a token)
Discord Easy (bot token + intents)
QQ Easy (AppID + AppSecret)
DingTalk Medium (app credentials)
Telegram (Recommended)

1. Create a bot

  • Open Telegram, search @BotFather
  • Send /newbot, follow prompts
  • Copy the token

2. Configure

{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN",
      "allowFrom": ["YOUR_USER_ID"]
    }
  }
}

Get your user ID from @userinfobot on Telegram.

3. Run

Discord

1. Create a bot

2. Enable intents

  • In the Bot settings, enable MESSAGE CONTENT INTENT
  • (Optional) Enable SERVER MEMBERS INTENT if you plan to use allow lists based on member data

3. Get your User ID

  • Discord Settings → Advanced → enable Developer Mode
  • Right-click your avatar → Copy User ID

4. Configure

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN",
      "allowFrom": ["YOUR_USER_ID"]
    }
  }
}

5. Invite the bot

  • OAuth2 → URL Generator
  • Scopes: bot
  • Bot Permissions: Send Messages, Read Message History
  • Open the generated invite URL and add the bot to your server

6. Run

QQ

1. Create a bot

2. Configure

{
  "channels": {
    "qq": {
      "enabled": true,
      "app_id": "YOUR_APP_ID",
      "app_secret": "YOUR_APP_SECRET",
      "allow_from": []
    }
  }
}

Set allow_from to empty to allow all users, or specify QQ numbers to restrict access.

3. Run

DingTalk

1. Create a bot

  • Go to Open Platform
  • Create an internal app
  • Copy Client ID and Client Secret

2. Configure

{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "client_id": "YOUR_CLIENT_ID",
      "client_secret": "YOUR_CLIENT_SECRET",
      "allow_from": []
    }
  }
}

Set allow_from to empty to allow all users, or specify QQ numbers to restrict access.

3. Run

⚙️ Configuration

Config file: ~/.picoclaw/config.json

Workspace Layout

PicoClaw stores data in your configured workspace (default: ~/.picoclaw/workspace):

~/.picoclaw/workspace/
├── sessions/          # Conversation sessions and history
├── memory/           # Long-term memory (MEMORY.md)
├── cron/             # Scheduled jobs database
├── skills/           # Custom skills
├── AGENTS.md         # Agent behavior guide
├── IDENTITY.md       # Agent identity
├── SOUL.md           # Agent soul
├── TOOLS.md          # Tool descriptions
└── USER.md           # User preferences

Providers

Note

Groq provides free voice transcription via Whisper. If configured, Telegram voice messages will be automatically transcribed.

Provider Purpose Get API Key
gemini LLM (Gemini direct) aistudio.google.com
zhipu LLM (Zhipu direct) bigmodel.cn
openrouter(To be tested) LLM (recommended, access to all models) openrouter.ai
anthropic(To be tested) LLM (Claude direct) console.anthropic.com
openai(To be tested) LLM (GPT direct) platform.openai.com
deepseek(To be tested) LLM (DeepSeek direct) platform.deepseek.com
groq LLM + Voice transcription (Whisper) console.groq.com
Zhipu

1. Get API key and base URL

2. Configure

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "zhipu": {
      "api_key": "Your API Key",
      "api_base": "https://open.bigmodel.cn/api/paas/v4"
    },
  },
}

3. Run

picoclaw agent -m "Hello"
Full config example
{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-opus-4-5"
    }
  },
  "providers": {
    "openrouter": {
      "api_key": "sk-or-v1-xxx"
    },
    "groq": {
      "api_key": "gsk_xxx"
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "123456:ABC...",
      "allow_from": ["123456789"]
    },
    "discord": {
      "enabled": true,
      "token": "",
      "allow_from": [""]
    },
    "whatsapp": {
      "enabled": false
    },
    "feishu": {
      "enabled": false,
      "app_id": "cli_xxx",
      "app_secret": "xxx",
      "encrypt_key": "",
      "verification_token": "",
      "allow_from": []
    },
    "qq": {
      "enabled": false,
      "app_id": "",
      "app_secret": "",
      "allow_from": []
    }
  },
  "tools": {
    "web": {
      "search": {
        "api_key": "BSA..."
      }
    }
  }
}

CLI Reference

Command Description
picoclaw onboard Initialize config & workspace
picoclaw agent -m "..." Chat with the agent
picoclaw agent Interactive chat mode
picoclaw gateway Start the gateway
picoclaw status Show status
picoclaw cron list List all scheduled jobs
picoclaw cron add ... Add a scheduled job

Scheduled Tasks / Reminders

PicoClaw supports scheduled reminders and recurring tasks through the cron tool:

  • One-time reminders: "Remind me in 10 minutes" → triggers once after 10min
  • Recurring tasks: "Remind me every 2 hours" → triggers every 2 hours
  • Cron expressions: "Remind me at 9am daily" → uses cron expression

Jobs are stored in ~/.picoclaw/workspace/cron/ and processed automatically.

🤝 Contribute & Roadmap

PRs welcome! The codebase is intentionally small and readable. 🤗

discord: https://discord.gg/V4sAZ9XWpN

PicoClaw

🐛 Troubleshooting

Web search says "API 配置问题"

This is normal if you haven't configured a search API key yet. PicoClaw will provide helpful links for manual searching.

To enable web search:

  1. Get a free API key at https://brave.com/search/api (2000 free queries/month)

  2. Add to ~/.picoclaw/config.json:

    {
      "tools": {
        "web": {
          "search": {
            "api_key": "YOUR_BRAVE_API_KEY",
            "max_results": 5
          }
        }
      }
    }

Getting content filtering errors

Some providers (like Zhipu) have content filtering. Try rephrasing your query or use a different model.

Telegram bot says "Conflict: terminated by other getUpdates"

This happens when another instance of the bot is running. Make sure only one picoclaw gateway is running at a time.


📝 API Key Comparison

Service Free Tier Use Case
OpenRouter 200K tokens/month Multiple models (Claude, GPT-4, etc.)
Zhipu 200K tokens/month Best for Chinese users
Brave Search 2000 queries/month Web search functionality
Groq Free tier available Fast inference (Llama, Mixtral)