picoclaw-ai-assistant
aradotso/trending-skills
Ultra-lightweight AI assistant in Go that runs on $10 hardware with <10MB RAM and single-binary deployment.
What is picoclaw-ai-assistant?
PicoClaw is a personal AI assistant written in Go that boots in under 1 second and runs on minimal hardware like Raspberry Pi Zero or LicheeRV-Nano. It supports multiple LLM providers (OpenAI, Anthropic, Volcengine), optional web search tools, and deploys as a self-contained binary across x86_64, ARM64, MIPS, and RISC-V Linux devices.
- Run on $10 hardware with under 10MB RAM and sub-1-second boot time
- Support multiple LLM providers (OpenAI-compatible, Anthropic, Volcengine) in a single config
- Deploy as a single self-contained binary across x86_64, ARM64, MIPS, and RISC-V architectures
- Enable optional web search tools (Tavily, Brave Search) for real-time information
- Configure workspace, model defaults, token limits, and tool iteration limits per agent
- Run in interactive chat, single-message, or Docker modes (gateway, launcher, or agent)
How to install picoclaw-ai-assistant
npx skills add https://github.com/aradotso/trending-skills --skill picoclaw-ai-assistant- An API key for at least one supported LLM provider (OpenAI, Anthropic, or Volcengine)
- Linux device (x86_64, ARM64, ARM, MIPS, or RISC-V) or Docker installation
- Optional: API keys for web search tools (Tavily or Brave Search) if search is desired
How to use picoclaw-ai-assistant
- 1.Download or build the appropriate binary for your architecture (ARM64 for Raspberry Pi, RISC-V for LicheeRV-Nano, etc.)
- 2.Run `picoclaw onboard` to initialize `~/.picoclaw/config.json` with starter configuration
- 3.Edit `~/.picoclaw/config.json` to add your LLM provider API keys (use environment variable references like `$OPENAI_API_KEY`)
- 4.Optionally enable web search tools (Tavily or Brave) by setting `enabled: true` and providing their API keys
- 5.Start interactive chat with `picoclaw`, send a single message with `picoclaw -m "..."`, or specify a model with `picoclaw -model <name>`
Use cases
- Deploy a personal AI assistant on a Raspberry Pi Zero 2 W or similar ultra-low-cost device
- Set up a lightweight coding assistant on embedded Linux boards (LicheeRV-Nano, RISC-V devices)
- Run a web-search-enabled chatbot in Docker with minimal resource overhead
- Configure multiple LLM providers and switch between them for different tasks
- Build an always-on AI agent on IoT hardware with strict memory constraints
- Embedded systems developers and IoT engineers
- Users with low-resource hardware (Raspberry Pi, single-board computers)
- Developers seeking lightweight alternatives to cloud-based AI assistants
- Teams deploying AI on edge devices or offline environments
picoclaw-ai-assistant FAQ
PicoClaw runs on any Linux device with x86_64, ARM64, ARM, MIPS, or RISC-V architecture. It is optimized for ultra-low-resource boards like Raspberry Pi Zero 2 W, LicheeRV-Nano, and other $10 devices with under 10MB RAM.
Never hard-code API keys in config.json. Instead, use environment variable references like `$OPENAI_API_KEY` in the config file, then set the actual keys in your shell environment before launching PicoClaw.
Yes. Add multiple entries to the `model_list` array in config.json with different providers (OpenAI, Anthropic, Volcengine). Use the `-model <name>` flag to switch between them, or set a default in `agents.defaults.model_name`.
Set `enabled: true` for either Tavily or Brave Search in the `tools.web` section of config.json, and provide your API key. Get free keys from tavily.com (1,000 queries/month) or brave.com/search/api (2,000 queries/month).
Yes. Use `docker compose -f docker/docker-compose.yml` with profiles: `--profile gateway` for a persistent service, `--profile launcher` for a web console at http://localhost:18800, or `run --rm picoclaw-agent` for one-shot queries.
Full instructions (SKILL.md)
Source of truth, from aradotso/trending-skills.
name: picoclaw-ai-assistant description: Ultra-lightweight AI assistant in Go that runs on $10 hardware with <10MB RAM, supporting multiple LLM providers, tools, and single-binary deployment across RISC-V, ARM, MIPS, and x86. triggers:
- "set up picoclaw on my device"
- "configure picoclaw with my API key"
- "deploy picoclaw on raspberry pi"
- "build picoclaw from source"
- "add a new LLM provider to picoclaw"
- "run picoclaw in docker"
- "picoclaw web search tool setup"
- "picoclaw memory and workspace configuration"
PicoClaw AI Assistant
Skill by ara.so — Daily 2026 Skills collection.
PicoClaw is an ultra-lightweight personal AI assistant written in Go. It runs on $10 hardware with under 10MB RAM and boots in under 1 second. It supports multiple LLM providers (OpenAI-compatible, Anthropic, Volcengine), optional web search tools, and deploys as a single self-contained binary on x86_64, ARM64, MIPS, and RISC-V Linux devices.
Installation
Precompiled Binary
Download from the releases page:
# Linux ARM64 (Raspberry Pi, LicheeRV-Nano, etc.)
wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64
chmod +x picoclaw-linux-arm64
./picoclaw-linux-arm64 onboard
Build from Source
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
# Install dependencies
make deps
# Build for current platform
make build
# Build for all platforms
make build-all
# Raspberry Pi Zero 2 W — 32-bit
make build-linux-arm # → build/picoclaw-linux-arm
# Raspberry Pi Zero 2 W — 64-bit
make build-linux-arm64 # → build/picoclaw-linux-arm64
# Build both Pi Zero variants
make build-pi-zero
# Build and install to system PATH
make install
Docker Compose
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
# First run — generates docker/data/config.json then exits
docker compose -f docker/docker-compose.yml --profile gateway up
# Edit config
vim docker/data/config.json
# Start in background
docker compose -f docker/docker-compose.yml --profile gateway up -d
# View logs
docker compose -f docker/docker-compose.yml logs -f picoclaw-gateway
# Stop
docker compose -f docker/docker-compose.yml --profile gateway down
Docker: Web Console (Launcher Mode)
docker compose -f docker/docker-compose.yml --profile launcher up -d
# Open http://localhost:18800
Docker: One-shot Agent Mode
# Single question
docker compose -f docker/docker-compose.yml run --rm picoclaw-agent -m "What is 2+2?"
# Interactive session
docker compose -f docker/docker-compose.yml run --rm picoclaw-agent
Docker: Expose Gateway to Host
If the gateway needs to be reachable from the host, set:
PICOCLAW_GATEWAY_HOST=0.0.0.0 docker compose -f docker/docker-compose.yml --profile gateway up -d
Or set PICOCLAW_GATEWAY_HOST=0.0.0.0 in docker/data/config.json.
Termux (Android)
pkg install wget proot
wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64
chmod +x picoclaw-linux-arm64
termux-chroot ./picoclaw-linux-arm64 onboard
Quick Start
1. Initialize
picoclaw onboard
This creates ~/.picoclaw/config.json with a starter configuration.
2. Configure ~/.picoclaw/config.json
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model_name": "gpt-4o",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"model_list": [
{
"model_name": "gpt-4o",
"model": "openai/gpt-4o",
"api_key": "$OPENAI_API_KEY",
"request_timeout": 300
},
{
"model_name": "claude-sonnet",
"model": "anthropic/claude-sonnet-4-5",
"api_key": "$ANTHROPIC_API_KEY"
},
{
"model_name": "ark-code",
"model": "volcengine/ark-code-latest",
"api_key": "$VOLCENGINE_API_KEY",
"api_base": "https://ark.cn-beijing.volces.com/api/coding/v3"
}
],
"tools": {
"web": {
"brave": {
"enabled": false,
"api_key": "$BRAVE_API_KEY"
},
"tavily": {
"enabled": false,
"api_key": "$TAVILY_API_KEY"
}
}
}
}
Never hard-code API keys. Reference environment variables using
$VAR_NAMEnotation in config, or set them in your shell environment before launch.
3. Run
# Interactive chat
picoclaw
# Single message
picoclaw -m "Summarize the latest Go release notes"
# Use a specific model
picoclaw -model claude-sonnet -m "Refactor this function for clarity"
Key CLI Commands
| Command | Description |
|---|---|
picoclaw onboard | Initialize config and workspace |
picoclaw | Start interactive chat session |
picoclaw -m "..." | Send a single message and exit |
picoclaw -model <name> | Override the default model |
picoclaw -config <path> | Use a custom config file |
Configuration Reference
Model Entry Fields
{
"model_name": "my-model", // Alias used in -model flag and agent defaults
"model": "provider/model-id", // Provider-prefixed model identifier
"api_key": "$ENV_VAR", // API key — use env var reference
"api_base": "https://...", // Optional: override base URL (for self-hosted or regional endpoints)
"request_timeout": 300 // Optional: seconds before timeout
}
Supported Provider Prefixes
| Prefix | Provider |
|---|---|
openai/ | OpenAI and OpenAI-compatible APIs |
anthropic/ | Anthropic Claude |
volcengine/ | Volcengine (Ark) |
Agent Defaults
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace", // Working directory for file operations
"model_name": "gpt-4o", // Default model alias
"max_tokens": 8192, // Max response tokens
"temperature": 0.7, // Sampling temperature
"max_tool_iterations": 20 // Max agentic tool-call loop iterations
}
}
Web Search Tools
Get free API keys:
- Tavily: https://tavily.com — 1,000 free queries/month
- Brave Search: https://brave.com/search/api — 2,000 free queries/month
"tools": {
"web": {
"tavily": {
"enabled": true,
"api_key": "$TAVILY_API_KEY"
},
"brave": {
"enabled": false,
"api_key": "$BRAVE_API_KEY"
}
}
}
Only enable one search provider at a time unless you want fallback behavior.
Common Patterns
Pattern: Minimal $10 Device Setup
For a LicheeRV-Nano or similar ultra-low-resource board:
# Download the RISC-V or ARM binary from releases
wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-riscv64
chmod +x picoclaw-linux-riscv64
# Initialize
./picoclaw-linux-riscv64 onboard
# Edit config — use a lightweight model, low max_tokens
cat > ~/.picoclaw/config.json << 'EOF'
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model_name": "gpt-4o-mini",
"max_tokens": 2048,
"temperature": 0.5,
"max_tool_iterations": 10
}
},
"model_list": [
{
"model_name": "gpt-4o-mini",
"model": "openai/gpt-4o-mini",
"api_key": "$OPENAI_API_KEY",
"request_timeout": 120
}
]
}
EOF
./picoclaw-linux-riscv64
Pattern: Full-Stack Dev Assistant with Web Search
{
"agents": {
"defaults": {
"workspace": "~/projects",
"model_name": "claude-sonnet",
"max_tokens": 8192,
"temperature": 0.3,
"max_tool_iterations": 30
}
},
"model_list": [
{
"model_name": "claude-sonnet",
"model": "anthropic/claude-sonnet-4-5",
"api_key": "$ANTHROPIC_API_KEY",
"request_timeout": 600
}
],
"tools": {
"web": {
"tavily": {
"enabled": true,
"api_key": "$TAVILY_API_KEY"
}
}
}
}
Pattern: Docker with Environment Variables
# docker/docker-compose.override.yml
services:
picoclaw-gateway:
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- TAVILY_API_KEY=${TAVILY_API_KEY}
- PICOCLAW_GATEWAY_HOST=0.0.0.0
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile gateway up -d
Pattern: Build for a Specific Target in Go
# Cross-compile for MIPS (OpenWRT routers)
GOOS=linux GOARCH=mips GOMIPS=softfloat go build -o build/picoclaw-linux-mips ./cmd/picoclaw
# Cross-compile for 32-bit ARM (older Raspberry Pi)
GOOS=linux GOARCH=arm GOARM=7 go build -o build/picoclaw-linux-arm ./cmd/picoclaw
# Cross-compile for RISC-V 64-bit
GOOS=linux GOARCH=riscv64 go build -o build/picoclaw-linux-riscv64 ./cmd/picoclaw
Troubleshooting
Binary won't execute on device
# Verify the binary matches the device architecture
file picoclaw-linux-arm64
uname -m # Should match: aarch64 = arm64, x86_64 = amd64
# Ensure executable permission
chmod +x picoclaw-linux-arm64
"Permission denied" on Termux
Termux requires proot for some system calls:
pkg install proot
termux-chroot ./picoclaw-linux-arm64 onboard
API key not recognized
- Do not use
"api_key": "sk-..."literals in config — set env vars and reference them as"$OPENAI_API_KEY". - Verify the env var is exported in your current shell:
echo $OPENAI_API_KEY.
Docker gateway not reachable from host
Set PICOCLAW_GATEWAY_HOST=0.0.0.0 in the environment or in config.json before starting the container.
High memory usage in recent versions
The project notes that recent PRs may push RAM usage to 10–20MB. If this is a concern on ultra-low-memory devices, pin to an earlier release tag:
git checkout v0.1.1
make build
Config file location
Default: ~/.picoclaw/config.json
Override at runtime:
picoclaw -config /path/to/custom-config.json
Rebuild after dependency changes
cd picoclaw
make deps
make build
Hardware Targets Quick Reference
| Device | Price | Binary |
|---|---|---|
| LicheeRV-Nano (E/W) | ~$10 | picoclaw-linux-riscv64 |
| NanoKVM | ~$30–50 | picoclaw-linux-riscv64 |
| MaixCAM / MaixCAM2 | ~$50–100 | picoclaw-linux-arm64 |
| Raspberry Pi Zero 2 W (32-bit OS) | ~$15 | picoclaw-linux-arm |
| Raspberry Pi Zero 2 W (64-bit OS) | ~$15 | picoclaw-linux-arm64 |
| Android via Termux | — | picoclaw-linux-arm64 |
| Standard Linux x86_64 | — | picoclaw-linux-amd64 |
Related skills
More from aradotso/trending-skills and the wider catalog.

polymarket-arbitrage-bot
TypeScript bot implementing dump-and-hedge arbitrage strategy on Polymarket 15-minute Up/Down prediction markets with CLOB order execution and simulation mode.

polymarket-arbitrage-trading-bot
Automated dump-and-hedge arbitrage trading bot for Polymarket's 15-minute crypto Up/Down markets, supporting BTC, ETH, SOL, and XRP.

polymarket-copy-trading-bot
TypeScript bot that monitors a Polymarket wallet and mirrors BUY trades to your own account via the Polymarket CLOB API on Polygon.

posterskill-academic-posters
AI-assisted academic conference poster generation from Overleaf source using Claude Code

pretext-text-measurement
Fast, accurate, DOM-free text measurement and layout library for JavaScript/TypeScript supporting multiline, rich-text, and variable-width layouts.

pump-analyzer-solana
Real-time monitoring and analytics platform for Pump.fun tokens on Solana using WebSockets, HTML/CSS/JS