🦐 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$ |
 |
|
|
|
🦾 Demonstration
🛠️ Standard Assistant Workflows



🧩 Full-Stack Engineer |
🗂️ Logging & Planning Management |
🔎 Web Search & Learning |
| Develop • Deploy • Scale |
Schedule • Automate • Memory |
Discovery • Insights • Trends |
- Minimal 10$ Home Assitant
- NanoKVM Automated Maintenance
- MaixCAM2 Smart Monitoring
https://private-user-images.githubusercontent.com/83055338/547056448-e7b031ff-d6f5-4468-bcca-5726b6fecb5c.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
picoclaw onboard
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://open.bigmodel.cn/api/paas/v4"
}
},
"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.
3. 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
| Channel |
Setup |
| Telegram |
Easy (just a token) |
| Discord |
Easy (bot token + intents) |
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
picoclaw gateway
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
nanobot gateway
⚙️ Configuration
Config file: ~/.picoclaw/config.json
Providers
[!NOTE]
Groq provides free voice transcription via Whisper. If configured, Telegram voice messages will be automatically transcribed.
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": {
"apiKey": "sk-or-v1-xxx"
},
"groq": {
"apiKey": "gsk_xxx"
}
},
"channels": {
"telegram": {
"enabled": true,
"token": "123456:ABC...",
"allowFrom": ["123456789"]
},
"discord": {
"enabled": true,
"token": "",
"allow_from": [""]
},
"whatsapp": {
"enabled": false
},
"feishu": {
"enabled": false,
"appId": "cli_xxx",
"appSecret": "xxx",
"encryptKey": "",
"verificationToken": "",
"allowFrom": []
}
},
"tools": {
"web": {
"search": {
"apiKey": "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 channels login |
Link WhatsApp (scan QR) |
picoclaw channels status |
Show channel status |
Scheduled Tasks (Cron)
# Add a job
picoclaw cron add --name "daily" --message "Good morning!" --cron "0 9 * * *"
picoclaw cron add --name "hourly" --message "Check status" --every 3600
# List jobs
picoclaw cron list
# Remove a job
picoclaw cron remove <job_id>
🤝 Contribute & Roadmap
PRs welcome! The codebase is intentionally small and readable. 🤗
Roadmap — Pick an item and open a PR!
🐛 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:
- Get a free API key at https://brave.com/search/api (2000 free queries/month)
- 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) |