- Deleted docker-compose.discord.yml and merged into docker-compose.yml - Moved config.example.json to config/ - Updated volume mounts to use ./config/config.json - Updated verify script permissions (implied if valid) |
||
|---|---|---|
| .github/workflows | ||
| assets | ||
| cmd/picoclaw | ||
| config | ||
| pkg | ||
| skills | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| README.ja.md | ||
| README.md | ||
PicoClaw: Ultra-Efficient AI Assistant in Go
$10 Hardware · 10MB RAM · 1s Boot · 皮皮虾,我们走!
日本語 | English
🦐 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 |
🐜 Innovative Low-Footprint Deploy
PicoClaw can be deployed on almost any Linux device!
- $9.9 LicheeRV-Nano E(Ethernet) or W(WiFi6) version, for Minimal Home Assitant
- $30~50 NanoKVM, or $100 NanoKVM-Pro for Automated Server Maintenance
- $50 MaixCAM or $100 MaixCAM2 for Smart Monitoring
🌟 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
🐳 Docker Compose
You can also run PicoClaw using Docker Compose without installing anything locally.
Quick Start (Discord Bot)
# 1. Clone this repo
git clone https://github.com/Sunwood-AI-OSS-Hub/picoclaw.git
cd picoclaw
# 2. Set your API keys
cp config.example.json config/config.json
vim config/config.json # Set DISCORD_BOT_TOKEN, API keys, etc.
# 3. Build & Start
docker compose --profile gateway up -d
# 4. Check logs
docker compose logs -f picoclaw-gateway
# 5. Stop
docker compose --profile gateway down
Agent Mode (One-shot)
# Ask a question
docker compose run --rm picoclaw-agent -m "What is 2+2?"
# Interactive mode
docker compose run --rm picoclaw-agent
Rebuild
docker compose --profile gateway build --no-cache
docker compose --profile gateway up -d
🚀 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
- LLM Provider: OpenRouter · Zhipu · Anthropic · OpenAI · Gemini
- Web Search (optional): Brave Search - Free tier available (2000 requests/month)
Note
: See
config.example.jsonfor 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
@userinfoboton Telegram.
3. Run
picoclaw gateway
Discord
1. Create a bot
- Go to https://discord.com/developers/applications
- Create an application → Bot → Add Bot
- Copy the bot token
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
picoclaw gateway
Configuration
PicoClaw uses config.json for configuration.
-
Create Configuration File:
Copy the example configuration file:
cp config.example.json config/config.json -
Edit Configuration:
Open
config/config.jsonand set your API keys and preferences.{ "providers": { "openrouter": { "api_key": "sk-or-v1-..." } }, "channels": { "discord": { "enabled": true, "token": "YOUR_DISCORD_BOT_TOKEN" } } }
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 |
🤝 Contribute & Roadmap
PRs welcome! The codebase is intentionally small and readable. 🤗
discord: https://discord.gg/V4sAZ9XWpN
🐛 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) |



