afjcjsbx/picoclaw

Ultra-lightweight, open-source, self-hosted personal AI assistant in Go for RISC-V, SBCs, and embedded systems. Active PicoClaw fork with WebUI, MCP, memory, multi-agent workflows, plugins, and chat apps.

Go

14

2,715 commits

updated Oct 12, 2026

See the code

See what people are saying

SourceMessageScoreDate

[Release] PicoClaw v0.5.0 (r/coolgithubprojects)

Hi everyone! I'm not sure how many of you know or have ever tried PicoClaw (the project originally created by Sipeed), but I wanted to let you know that development has officially resumed on a dedicated fork and there are a ton of new features! If you'd like to check it out, give it a try, report…

2

Oct 12, 2026

README

PicoClaw

PicoClaw: The Ultra-Lightweight Agent the Upstream No Longer Is — for RISC-V, SBCs, and Embedded Systems

$10 Hardware · 10–20 MB RAM · ms Boot · Let's Go, PicoClaw!

Go Hardware License
Docs Latest release Discord Wiki

中文 | 日本語 | 한국어 | Português | Tiếng Việt | Français | Italiano | Bahasa Indonesia | Malay | English


PicoClaw is an independent open-source project initiated by Sipeed, written entirely in Go from scratch — not a fork of OpenClaw, NanoBot, or any other project.

🌱 Active Fork

This repository is an actively maintained fork of PicoClaw. Development continues here, with ongoing fixes, dependency updates, and new features.

PicoClaw is an ultra-lightweight personal AI assistant inspired by NanoBot. It was rebuilt from the ground up in Go through a "self-bootstrapping" process — the AI Agent itself drove the architecture migration and code optimization.

Runs on $10 hardware with 10–20 MB RAM in recent builds.

[!CAUTION] Security Notice

  • NO CRYPTO: PicoClaw has not issued any official tokens or cryptocurrency. All claims on pump.fun or other trading platforms are scams.
  • OFFICIAL DOMAIN: The ONLY official website is picoclaw.io, and company website is sipeed.com
  • BEWARE: Many .ai/.org/.com/.net/... domains have been registered by third parties. Do not trust them.
  • NOTE: PicoClaw is in early rapid development. There may be unresolved security issues. Do not deploy to production before v1.0.
  • NOTE: PicoClaw has recently merged many PRs. Recent builds may use 10–20 MB RAM. Resource optimization is planned after feature stabilization.

📢 News

2026-09-29 🚀 v0.4.0 Released! This substantial release adds MCP CLI management and Web UI configuration, native Anthropic Messages API support, configurable web search (including Keenable and Kagi), configurable logging and virtual models, cross-platform serial-tool support, enhanced hooks and isolation, plus numerous channel, provider, security, and build fixes.

2026-09-28 🌱 Project revived! Development has resumed and will continue to be actively maintained in this fork.

Earlier news...

2026-05-11 🛒 LicheeRV-Claw on AliExpress! You can now purchase LicheeRV-Claw from AliExpress, making it easier to try PicoClaw on compact RISC-V hardware.

LicheeRV-Claw on AliExpress

2026-05-28 🚀 v0.2.9 Released! MCP server management in Web UI, configurable Sogou-backed web search, tool feedback animation in channels, pretty_print and disable_escape_html defaults, and numerous bug fixes across providers and channels.

2026-05-14 🚀 v0.2.8 Released! MCP CLI commands (show, add, list, remove, test, edit), empty object instead of null for MCP tool parameters, and build fixes.

2026-05-07 🚀 v0.2.7 Released! Configurable Sogou-backed web search, channel tool feedback animation, linter fixes.

2026-04-23 🚀 v0.2.6 Released! Hooks with respond action and comprehensive documentation, isolation support, help banner fix.

2026-04-11 🚀 v0.2.5 Released! Zoneinfo from TZ/ZONEINFO env, Matrix CommonMark rendering alignment, read_file by lines.

2026-03-31 📱 Android Support! PicoClaw now runs on Android! Download the APK at GitHub Releases

2026-03-25 🚀 v0.2.4 Released! Agent architecture overhaul (SubTurn, Hooks, Steering, EventBus), WeChat/WeCom integration, security hardening (.security.yml, sensitive data filtering), new providers (AWS Bedrock, Azure, Xiaomi MiMo), and 35 bug fixes. PicoClaw has reached 26K Stars!

2026-03-17 🚀 v0.2.3 Released! System tray UI (Windows & Linux), sub-agent status query (spawn_status), experimental Gateway hot-reload, Cron security gating, and 2 security fixes. PicoClaw has reached 25K Stars!

2026-03-09 🎉 v0.2.1 — Biggest update yet! MCP protocol support, 4 new channels (Matrix/IRC/WeCom/Discord Proxy), 3 new providers (Kimi/Minimax/Avian), vision pipeline, JSONL memory store, model routing.

2026-02-28 📦 v0.2.0 released with Docker Compose and Web UI Launcher support.

2026-02-26 🎉 PicoClaw hits 20K Stars in just 17 days! Channel auto-orchestration and capability interfaces are live.

2026-02-16 🎉 PicoClaw breaks 12K Stars in one week! Community maintainer roles and Roadmap officially launched.

2026-02-13 🎉 PicoClaw breaks 5000 Stars in 4 days! Project roadmap and developer groups in progress.

2026-02-09 🎉 PicoClaw Released! Built in 1 day to bring AI Agents to $10 hardware with <10MB RAM. Let's Go, PicoClaw!

✨ Features

🪶 Ultra-lightweight: Recent core builds use 10–20 MB of RAM.

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

⚡️ Lightning-fast boot: 400x faster startup. Boots in <1s even on a 0.6GHz single-core processor.

🌍 Truly portable: Single binary across RISC-V, ARM, MIPS, and x86 architectures. One binary, runs everywhere!

🤖 AI-bootstrapped: Pure Go native implementation — 95% of core code was generated by an Agent and fine-tuned through human-in-the-loop review.

🔌 MCP support: Native Model Context Protocol integration — connect any MCP server to extend Agent capabilities.

🧩 Agent Plugins: Install and activate Agent Plugins 1.0.0 packages that bundle skills and MCP servers. See the plugin installation guide.

👁️ Vision pipeline: Send images and files directly to the Agent — automatic base64 encoding for multimodal LLMs.

🧠 Smart routing: Rule-based model routing — simple queries go to lightweight models, saving API costs.

*Memory use varies by build and workload. Boot speed comparison is based on 0.8GHz single-core benchmarks (see table below).

OpenClawNanoBotPicoClaw
LanguageTypeScriptPythonGo
RAM reference2 GB host RAM recommended~200–600 MB reported10–20 MB in recent builds
Single executableNo (Node.js app)No (Python app with native TUI component)35.36 MiB
Boot time
(0.8GHz core)
>500s>30s<1s
CostMac Mini $599Most Linux boards ~$50Any Linux board
from $10
PicoClaw

RAM: These are references, not a controlled comparison: OpenClaw's value is a deployment recommendation, NanoBot's is one Raspberry Pi 4 user report, and PicoClaw's is the estimate for recent builds.

Executable size: OpenClaw and NanoBot do not distribute the complete agent as one executable. PicoClaw's size is the measured full default macOS ARM64 build; see the measurement method and other profiles.

Hardware Compatibility List — See all tested boards, from $5 RISC-V to Raspberry Pi to Android phones. Your board not listed? Submit a PR!

PicoClaw Hardware Compatibility

🦾 Demonstration

🛠️ Standard Assistant Workflows

Full-Stack Engineer Mode

Logging & Planning

Web Search & Learning

Develop · Deploy · ScaleSchedule · Automate · RememberDiscover · Insights · Trends

🐜 Innovative Low-Footprint Deployment

PicoClaw can be deployed on virtually any Linux device!

https://private-user-images.githubusercontent.com/83055338/547056448-e7b031ff-d6f5-4468-bcca-5726b6fecb5c.mp4

🌟 More Deployment Cases Await!

📦 Install

Quick install with Web UI

On Linux or macOS:

curl -fsSL https://raw.githubusercontent.com/afjcjsbx/picoclaw/main/scripts/install.sh | sh

On Windows PowerShell:

irm https://raw.githubusercontent.com/afjcjsbx/picoclaw/main/scripts/install.ps1 | iex

The installer detects the CPU architecture, verifies the release checksum, installs both binaries, and starts the launcher. The Web UI opens at http://localhost:18800; on first run, create its dashboard password in the browser.

Download precompiled binary

Download the binary for your platform from this repository's GitHub Releases.

Build from source (for development)

Prerequisites:

  • Go 1.27.2+
  • Node.js 22+ and pnpm 10.33.0+ for Web UI / launcher builds
git clone https://github.com/afjcjsbx/picoclaw.git

cd picoclaw
make deps

# Install frontend dependencies
(cd web/frontend && pnpm install --frozen-lockfile)

# Build the core binary for the current platform
make build

# Build the Web UI Launcher (required for WebUI mode)
make build-launcher

# Build core binaries for all Makefile-managed platforms
make build-all

# Build for Raspberry Pi Zero 2 W
# 32-bit: make build-linux-arm
# 64-bit: make build-linux-arm64
make build-pi-zero

# Build and install
make install

Raspberry Pi Zero 2 W: Use the binary that matches your OS: 32-bit Raspberry Pi OS -> make build-linux-arm; 64-bit -> make build-linux-arm64. Or run make build-pi-zero to build both.

Custom channel builds

The normal build includes every channel. Custom channel selection, optional Seahorse builds, SQLite caveats, and measured binary sizes are documented in the Custom Builds Guide. For example, this builds with Telegram and Discord only:

make build GO_BUILD_TAGS='goolm,stdjson,custom_channels,channel_telegram,channel_discord'

In the measured macOS ARM64 Telegram-only build, adding no_seahorse reduced the binary by 3.92 MiB (14.3%). See the guide for the full measurement details and the cases where Matrix or WhatsApp Native still require SQLite.

🚀 Quick Start Guide

The WebUI Launcher provides a browser-based interface for configuration and chat. This is the easiest way to get started — no command-line knowledge required.

Option 1: Double-click (Desktop)

After downloading from GitHub Releases, double-click picoclaw-launcher (or picoclaw-launcher.exe on Windows). Your browser will open automatically at http://localhost:18800.

Option 2: Command line

picoclaw-launcher
# Open http://localhost:18800 in your browser

[!TIP] Remote access / Docker / VM: Add the -public flag to listen on all interfaces:

picoclaw-launcher -public

WebUI Launcher

Getting started:

Open the WebUI, then: 1) Configure a Provider (add your LLM API key) -> 2) Configure a Channel (e.g., Telegram) -> 3) Start the Gateway -> 4) Chat!

For detailed WebUI documentation, see PicoClaw documentation.

Docker (alternative)
# 1. Clone this repo
git clone https://github.com/afjcjsbx/picoclaw.git
cd picoclaw

# 2. First run — auto-generates docker/data/config.json then exits
#    (only triggers when both config.json and workspace/ are missing)
docker compose -f docker/docker-compose.yml --profile launcher up
# The container prints "First-run setup complete." and stops.

# 3. Set your API keys
vim docker/data/config.json

# 4. Start
docker compose -f docker/docker-compose.yml --profile launcher up -d
# Open http://localhost:18800

Docker / VM users: The Gateway listens on 127.0.0.1 by default. Set PICOCLAW_GATEWAY_HOST=0.0.0.0 or use the -public flag to make it accessible from the host.

# Check logs
docker compose -f docker/docker-compose.yml logs -f

# Stop
docker compose -f docker/docker-compose.yml --profile launcher down

# Update
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml --profile launcher up -d
macOS — First Launch Security Warning

macOS may block picoclaw-launcher on first launch because it is downloaded from the internet and not notarized through the Mac App Store.

Step 1: Double-click picoclaw-launcher. You will see a security warning:

macOS Gatekeeper warning

"picoclaw-launcher" Not Opened — Apple could not verify "picoclaw-launcher" is free of malware that may harm your Mac or compromise your privacy.

Step 2: Open System Settings → Privacy & Security → scroll down to the Security section → click Open Anyway → confirm by clicking Open Anyway in the dialog.

macOS Privacy & Security — Open Anyway

After this one-time step, picoclaw-launcher will open normally on subsequent launches.

📱 Android

Give your decade-old phone a second life! Turn it into a smart AI Assistant with PicoClaw.

Option 1: APK Install

Preview:

Download the APK from GitHub Releases and install directly. No Termux required!

Option 2: Termux

For a full command-line setup checklist, see the Android Termux Guide.

Terminal Launcher (for resource-constrained environments)
  1. Install Termux (download from GitHub Releases, or search in F-Droid / Google Play)
  2. Run the following commands:
# Download the latest release
wget https://github.com/afjcjsbx/picoclaw/releases/latest/download/picoclaw_Linux_arm64.tar.gz
tar xzf picoclaw_Linux_arm64.tar.gz
pkg install proot
termux-chroot ./picoclaw onboard   # chroot provides a standard Linux filesystem layout

Then follow the Terminal Launcher section below to complete configuration.

PicoClaw on Termux

For minimal environments where only the picoclaw core binary is available (no Launcher UI), you can configure everything via the command line and a JSON config file.

1. Initialize

picoclaw onboard

This creates ~/.picoclaw/config.json and the workspace directory.

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

{
  "agents": {
    "defaults": {
      "model_name": "gpt-5.4"
    }
  },
  "model_list": [
    {
      "model_name": "gpt-5.4",
      "model": "openai/gpt-5.4"
      // api_key is now loaded from .security.yml
    }
  ]
}

See config/config.example.json in the repo for a complete configuration template with all available options.

Please note: config.example.json format is version 0, with sensitive codes in it, and will be auto migrated to version 1+, then, the config.json will only store insensitive data, the sensitive codes will be stored in .security.yml, if you need manually modify the codes, please see docs/security/security_configuration.md for more details.

3. Chat

# One-shot question
picoclaw agent -m "What is 2+2?"

# Interactive mode
picoclaw agent

# Start gateway for chat app integration
picoclaw gateway

🔌 Providers (LLM)

PicoClaw supports 30+ LLM providers through the model_list configuration. Use the protocol/model format:

ProviderProtocolAPI KeyNotes
OpenAIopenai/RequiredGPT-5.4, GPT-4o, o3, etc.
Anthropicanthropic/RequiredClaude Opus 4.6, Sonnet 4.6, etc.
Google Geminigemini/RequiredGemini 3 Flash, 2.5 Pro, etc.
OpenRouteropenrouter/Required200+ models, unified API
Zhipu (GLM)zhipu/RequiredGLM-4.7, GLM-5, etc.
DeepSeekdeepseek/RequiredDeepSeek-V3, DeepSeek-R1
Volcenginevolcengine/RequiredDoubao, Ark models
Qwenqwen/RequiredQwen3, Qwen-Max, etc.
Groqgroq/RequiredFast inference (Llama, Mixtral)
Moonshot (Kimi)moonshot/RequiredKimi models
Minimaxminimax/RequiredMiniMax models
Mistralmistral/RequiredMistral Large, Codestral
NVIDIA NIMnvidia/RequiredNVIDIA hosted models
Cerebrascerebras/RequiredFast inference
NEAR AI Cloudnearai/RequiredTEE inference, OpenAI-compatible
Novita AInovita/RequiredVarious open models
Xiaomi MiMomimo/RequiredMiMo models
Ollamaollama/Not neededLocal models, self-hosted
vLLMvllm/Not neededLocal deployment, OpenAI-compatible
LiteLLMlitellm/VariesProxy for 100+ providers
Azure OpenAIazure/API key or Entra ID**Enterprise Azure deployment
GitHub Copilotgithub-copilot/OAuthDevice code login
Antigravityantigravity/OAuthGoogle Cloud AI
AWS Bedrock*bedrock/AWS credentialsClaude, Llama, Mistral on AWS

* AWS Bedrock requires build tag: go build -tags bedrock. Set api_base to a region name (e.g., us-east-1) for automatic endpoint resolution across all AWS partitions (aws, aws-cn, aws-us-gov). When using a full endpoint URL instead, you must also configure AWS_REGION via environment variable or AWS config/profile.

** Azure OpenAI uses api_key when set. If api_key is omitted, the provider falls back to Microsoft Entra ID via DefaultAzureCredential (env vars, workload identity, managed identity, Azure CLI, etc.). The Entra ID path requires build tag: go build -tags azidentity.

Local deployment (Ollama, vLLM, etc.)

Ollama:

{
  "model_list": [
    {
      "model_name": "local-llama",
      "model": "ollama/llama3.1:8b",
      "api_base": "http://localhost:11434/v1"
    }
  ]
}

vLLM:

{
  "model_list": [
    {
      "model_name": "local-vllm",
      "model": "vllm/your-model",
      "api_base": "http://localhost:8000/v1"
    }
  ]
}

For full provider configuration details, see Providers & Models.

💬 Channels (Chat Apps)

Talk to your PicoClaw through 19+ messaging platforms:

ChannelSetupProtocolDocs
TelegramEasy (bot token)Long pollingGuide
DiscordEasy (bot token + intents)WebSocketGuide
WhatsAppEasy (QR scan or bridge URL)Native / BridgeGuide
WeixinEasy (Native QR scan)iLink APIGuide
QQEasy (AppID + AppSecret)WebSocketGuide
SlackEasy (bot + app token)Socket ModeGuide
MatrixMedium (homeserver + token)Sync APIGuide
Delta ChatEasy (chatmail or existing account)JSON-RPC (email/E2EE)Guide
DingTalkMedium (client credentials)StreamGuide
Feishu / LarkMedium (App ID + Secret)WebSocket/SDKGuide
LINEMedium (credentials + webhook)WebhookGuide
WeComEasy (QR login or manual)WebSocketGuide
VKEasy (group token)Long PollGuide
IRCMedium (server + nick)IRC protocolGuide
OneBotMedium (WebSocket URL)OneBot v11Guide
MQTTEasy (broker + agent_id)MQTT pub/subGuide
MaixCamEasy (enable)TCP socketGuide
PicoEasy (enable)Native protocolBuilt-in
Pico ClientEasy (WebSocket URL)WebSocketBuilt-in

All webhook-based channels share a single Gateway HTTP server (gateway.host:gateway.port, default 127.0.0.1:18790). Feishu uses WebSocket/SDK mode and does not use the shared HTTP server.

Log verbosity is controlled by gateway.log_level (default: warn). Supported values: debug, info, warn, error, fatal. Can also be set via PICOCLAW_LOG_LEVEL. See Configuration for details.

For detailed channel setup instructions, see Chat Apps Configuration.

🔧 Tools

PicoClaw can search the web to provide up-to-date information. Configure in tools.web:

Search EngineAPI KeyFree TierLink
DuckDuckGoNot neededUnlimitedBuilt-in fallback
Gemini Google SearchRequiredVariesGemini with Google Search grounding
Baidu SearchRequired1500/month (daily allocation)AI-powered, China-optimized
TavilyRequired1000 queries/monthOptimized for AI Agents
Brave SearchRequired2000 queries/monthFast and private
Kagi SearchRequiredPaid/limited by API setupPremium search results
KeenableOptionalKeyless: 10 req/s, 1000/hour per IPWorks without a key; a key lifts the rate limits
PerplexityRequiredPaidAI-powered search
SearXNGNot neededSelf-hostedFree metasearch engine
GLM SearchRequiredVariesZhipu web search

⚙️ Other Tools

PicoClaw includes built-in tools for file operations, code execution, scheduling, and more. See Tools Configuration for details.

🎯 Skills

Skills and MCP servers can also be packaged together as portable Agent Plugins 1.0.0. See the plugin guide and the working demo plugin. Mem0 publishes its own Agent Plugin; see the compatibility notes before enabling it.

Skills are modular capabilities that extend your Agent. They are loaded from SKILL.md files in your workspace.

Install skills from ClawHub:

picoclaw skills search "web scraping"
picoclaw skills install <skill-name>

Configure skill registries:

Add to your config.json:

{
  "tools": {
    "skills": {
      "registries": {
        "clawhub": {
          "auth_token": "your-clawhub-token"
        },
        "github": {
          "base_url": "https://github.com",
          "auth_token": "your-github-token",
          "proxy": ""
        }
      }
    }
  }
}

tools.skills.github.* is deprecated. Use tools.skills.registries.github.* instead.

For more details, see Tools Configuration - Skills.

🔗 MCP (Model Context Protocol)

PicoClaw natively supports MCP — connect any MCP server to extend your Agent's capabilities with external tools and data sources.

PicoClaw is a lightweight assistant, so remote MCP servers are the best choice. For local servers, prefer natively compiled server binaries and avoid npx, uvx, or other heavyweight dependency managers.

{
  "tools": {
    "mcp": {
      "enabled": true,
      "servers": {
        "browserbase": {
          "enabled": true,
          "deferred": false,
          "command": "",
          "type": "http",
          "url": "https://mcp.browserbase.com/mcp?browserbaseApiKey=API_KEY",
          "headers": {
            "BROWSERBASE_PROJECT_ID": "********"
          }
        }
      }
    }
  }
}

You can manage common MCP setups directly from the CLI instead of editing JSON by hand:

picoclaw mcp list
picoclaw mcp test browserbase

picoclaw mcp is a configuration manager: it updates config.json under tools.mcp.servers, but it does not keep the server process running itself.

Use picoclaw mcp edit when you need advanced fields that are not covered by picoclaw mcp add. For example, picoclaw mcp add supports --deferred and --env-file, while picoclaw mcp edit is still useful for direct JSON editing and uncommon MCP settings.

For full MCP configuration (stdio, SSE, HTTP transports, Tool Discovery), see Tools Configuration - MCP. For CLI usage and examples, see MCP Server CLI.

ClawdChat Join the Agent Social Network

Connect PicoClaw to the Agent Social Network simply by sending a single message via the CLI or any integrated Chat App.

Read https://clawdchat.ai/skill.md and follow the instructions to join ClawdChat.ai

🖥️ CLI Reference

CommandDescription
picoclaw onboardInitialize config & workspace
picoclaw auth weixinConnect WeChat account via QR
picoclaw agent -m "..."Chat with the agent
picoclaw agentInteractive chat mode
picoclaw gatewayStart the gateway
picoclaw statusShow status
picoclaw versionShow version info
picoclaw modelView or switch the default model
picoclaw mcp listList configured MCP servers
picoclaw mcp add ...Add or update an MCP server entry
picoclaw mcp testProbe a configured MCP server
picoclaw mcp editOpen config for advanced MCP editing
picoclaw mcp removeRemove an MCP server entry
picoclaw cron listList all scheduled jobs
picoclaw cron add ...Add a scheduled job
picoclaw cron disableDisable a scheduled job
picoclaw cron removeRemove a scheduled job
picoclaw skills listList installed skills
picoclaw skills installInstall a skill
picoclaw migrateMigrate data from older versions
picoclaw auth loginAuthenticate with providers

⏰ 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

See docs/reference/cron.md for current schedule types, execution modes, command-job gates, and persistence details.

📚 Documentation

For detailed guides beyond this README:

TopicDescription
Docker & Quick StartDocker Compose setup, Launcher/Agent modes
Chat AppsAll 18+ channel setup guides
ConfigurationEnvironment variables, workspace layout, security sandbox
Plugin InstallationInstall and activate Agent Plugin packages
MCP Server CLIAdd, list, test, edit, and remove MCP server entries from the CLI
Scheduled Tasks and Cron JobsCron schedule types, deliver modes, command gates, job storage
Providers & Models30+ LLM providers, model routing, model_list configuration
Spawn & Async TasksQuick tasks, long tasks with spawn, async sub-agent orchestration
HooksEvent-driven hook system: observers, interceptors, approval hooks
SteeringInject messages into a running agent loop between tool calls
SubTurnSubagent coordination, concurrency control, lifecycle
TroubleshootingCommon issues and solutions
Tools ConfigurationPer-tool enable/disable, exec policies, MCP, Skills
Hardware CompatibilityTested boards, minimum requirements

🤝 Contribute & Roadmap

PRs welcome! The codebase is intentionally small and readable.

See our CONTRIBUTING.md for guidelines.

agent
ai
ai-agent
arm
edge-ai
embedded
golang
iot
llm
llms
low-resource
mcp
openai
openclaw
raspberry-pi
riscv
sbc
self-hosted
telegram
workflow-automation

afjcjsbx/picoclaw

Ultra-lightweight, open-source, self-hosted personal AI assistant in Go for RISC-V, SBCs, and embedded systems. Active PicoClaw fork with WebUI, MCP, memory, multi-agent workflows, plugins, and chat apps.

Go

14

2,715 commits

updated Oct 12, 2026

See the code

See what people are saying

SourceMessageScoreDate

[Release] PicoClaw v0.5.0 (r/coolgithubprojects)

Hi everyone! I'm not sure how many of you know or have ever tried PicoClaw (the project originally created by Sipeed), but I wanted to let you know that development has officially resumed on a dedicated fork and there are a ton of new features! If you'd like to check it out, give it a try, report…

2

Oct 12, 2026

README

PicoClaw

PicoClaw: The Ultra-Lightweight Agent the Upstream No Longer Is — for RISC-V, SBCs, and Embedded Systems

$10 Hardware · 10–20 MB RAM · ms Boot · Let's Go, PicoClaw!

Go Hardware License
Docs Latest release Discord Wiki

中文 | 日本語 | 한국어 | Português | Tiếng Việt | Français | Italiano | Bahasa Indonesia | Malay | English


PicoClaw is an independent open-source project initiated by Sipeed, written entirely in Go from scratch — not a fork of OpenClaw, NanoBot, or any other project.

🌱 Active Fork

This repository is an actively maintained fork of PicoClaw. Development continues here, with ongoing fixes, dependency updates, and new features.

PicoClaw is an ultra-lightweight personal AI assistant inspired by NanoBot. It was rebuilt from the ground up in Go through a "self-bootstrapping" process — the AI Agent itself drove the architecture migration and code optimization.

Runs on $10 hardware with 10–20 MB RAM in recent builds.

[!CAUTION] Security Notice

  • NO CRYPTO: PicoClaw has not issued any official tokens or cryptocurrency. All claims on pump.fun or other trading platforms are scams.
  • OFFICIAL DOMAIN: The ONLY official website is picoclaw.io, and company website is sipeed.com
  • BEWARE: Many .ai/.org/.com/.net/... domains have been registered by third parties. Do not trust them.
  • NOTE: PicoClaw is in early rapid development. There may be unresolved security issues. Do not deploy to production before v1.0.
  • NOTE: PicoClaw has recently merged many PRs. Recent builds may use 10–20 MB RAM. Resource optimization is planned after feature stabilization.

📢 News

2026-09-29 🚀 v0.4.0 Released! This substantial release adds MCP CLI management and Web UI configuration, native Anthropic Messages API support, configurable web search (including Keenable and Kagi), configurable logging and virtual models, cross-platform serial-tool support, enhanced hooks and isolation, plus numerous channel, provider, security, and build fixes.

2026-09-28 🌱 Project revived! Development has resumed and will continue to be actively maintained in this fork.

Earlier news...

2026-05-11 🛒 LicheeRV-Claw on AliExpress! You can now purchase LicheeRV-Claw from AliExpress, making it easier to try PicoClaw on compact RISC-V hardware.

LicheeRV-Claw on AliExpress

2026-05-28 🚀 v0.2.9 Released! MCP server management in Web UI, configurable Sogou-backed web search, tool feedback animation in channels, pretty_print and disable_escape_html defaults, and numerous bug fixes across providers and channels.

2026-05-14 🚀 v0.2.8 Released! MCP CLI commands (show, add, list, remove, test, edit), empty object instead of null for MCP tool parameters, and build fixes.

2026-05-07 🚀 v0.2.7 Released! Configurable Sogou-backed web search, channel tool feedback animation, linter fixes.

2026-04-23 🚀 v0.2.6 Released! Hooks with respond action and comprehensive documentation, isolation support, help banner fix.

2026-04-11 🚀 v0.2.5 Released! Zoneinfo from TZ/ZONEINFO env, Matrix CommonMark rendering alignment, read_file by lines.

2026-03-31 📱 Android Support! PicoClaw now runs on Android! Download the APK at GitHub Releases

2026-03-25 🚀 v0.2.4 Released! Agent architecture overhaul (SubTurn, Hooks, Steering, EventBus), WeChat/WeCom integration, security hardening (.security.yml, sensitive data filtering), new providers (AWS Bedrock, Azure, Xiaomi MiMo), and 35 bug fixes. PicoClaw has reached 26K Stars!

2026-03-17 🚀 v0.2.3 Released! System tray UI (Windows & Linux), sub-agent status query (spawn_status), experimental Gateway hot-reload, Cron security gating, and 2 security fixes. PicoClaw has reached 25K Stars!

2026-03-09 🎉 v0.2.1 — Biggest update yet! MCP protocol support, 4 new channels (Matrix/IRC/WeCom/Discord Proxy), 3 new providers (Kimi/Minimax/Avian), vision pipeline, JSONL memory store, model routing.

2026-02-28 📦 v0.2.0 released with Docker Compose and Web UI Launcher support.

2026-02-26 🎉 PicoClaw hits 20K Stars in just 17 days! Channel auto-orchestration and capability interfaces are live.

2026-02-16 🎉 PicoClaw breaks 12K Stars in one week! Community maintainer roles and Roadmap officially launched.

2026-02-13 🎉 PicoClaw breaks 5000 Stars in 4 days! Project roadmap and developer groups in progress.

2026-02-09 🎉 PicoClaw Released! Built in 1 day to bring AI Agents to $10 hardware with <10MB RAM. Let's Go, PicoClaw!

✨ Features

🪶 Ultra-lightweight: Recent core builds use 10–20 MB of RAM.

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

⚡️ Lightning-fast boot: 400x faster startup. Boots in <1s even on a 0.6GHz single-core processor.

🌍 Truly portable: Single binary across RISC-V, ARM, MIPS, and x86 architectures. One binary, runs everywhere!

🤖 AI-bootstrapped: Pure Go native implementation — 95% of core code was generated by an Agent and fine-tuned through human-in-the-loop review.

🔌 MCP support: Native Model Context Protocol integration — connect any MCP server to extend Agent capabilities.

🧩 Agent Plugins: Install and activate Agent Plugins 1.0.0 packages that bundle skills and MCP servers. See the plugin installation guide.

👁️ Vision pipeline: Send images and files directly to the Agent — automatic base64 encoding for multimodal LLMs.

🧠 Smart routing: Rule-based model routing — simple queries go to lightweight models, saving API costs.

*Memory use varies by build and workload. Boot speed comparison is based on 0.8GHz single-core benchmarks (see table below).

OpenClawNanoBotPicoClaw
LanguageTypeScriptPythonGo
RAM reference2 GB host RAM recommended~200–600 MB reported10–20 MB in recent builds
Single executableNo (Node.js app)No (Python app with native TUI component)35.36 MiB
Boot time
(0.8GHz core)
>500s>30s<1s
CostMac Mini $599Most Linux boards ~$50Any Linux board
from $10
PicoClaw

RAM: These are references, not a controlled comparison: OpenClaw's value is a deployment recommendation, NanoBot's is one Raspberry Pi 4 user report, and PicoClaw's is the estimate for recent builds.

Executable size: OpenClaw and NanoBot do not distribute the complete agent as one executable. PicoClaw's size is the measured full default macOS ARM64 build; see the measurement method and other profiles.

Hardware Compatibility List — See all tested boards, from $5 RISC-V to Raspberry Pi to Android phones. Your board not listed? Submit a PR!

PicoClaw Hardware Compatibility

🦾 Demonstration

🛠️ Standard Assistant Workflows

Full-Stack Engineer Mode

Logging & Planning

Web Search & Learning

Develop · Deploy · ScaleSchedule · Automate · RememberDiscover · Insights · Trends

🐜 Innovative Low-Footprint Deployment

PicoClaw can be deployed on virtually any Linux device!

https://private-user-images.githubusercontent.com/83055338/547056448-e7b031ff-d6f5-4468-bcca-5726b6fecb5c.mp4

🌟 More Deployment Cases Await!

📦 Install

Quick install with Web UI

On Linux or macOS:

curl -fsSL https://raw.githubusercontent.com/afjcjsbx/picoclaw/main/scripts/install.sh | sh

On Windows PowerShell:

irm https://raw.githubusercontent.com/afjcjsbx/picoclaw/main/scripts/install.ps1 | iex

The installer detects the CPU architecture, verifies the release checksum, installs both binaries, and starts the launcher. The Web UI opens at http://localhost:18800; on first run, create its dashboard password in the browser.

Download precompiled binary

Download the binary for your platform from this repository's GitHub Releases.

Build from source (for development)

Prerequisites:

  • Go 1.27.2+
  • Node.js 22+ and pnpm 10.33.0+ for Web UI / launcher builds
git clone https://github.com/afjcjsbx/picoclaw.git

cd picoclaw
make deps

# Install frontend dependencies
(cd web/frontend && pnpm install --frozen-lockfile)

# Build the core binary for the current platform
make build

# Build the Web UI Launcher (required for WebUI mode)
make build-launcher

# Build core binaries for all Makefile-managed platforms
make build-all

# Build for Raspberry Pi Zero 2 W
# 32-bit: make build-linux-arm
# 64-bit: make build-linux-arm64
make build-pi-zero

# Build and install
make install

Raspberry Pi Zero 2 W: Use the binary that matches your OS: 32-bit Raspberry Pi OS -> make build-linux-arm; 64-bit -> make build-linux-arm64. Or run make build-pi-zero to build both.

Custom channel builds

The normal build includes every channel. Custom channel selection, optional Seahorse builds, SQLite caveats, and measured binary sizes are documented in the Custom Builds Guide. For example, this builds with Telegram and Discord only:

make build GO_BUILD_TAGS='goolm,stdjson,custom_channels,channel_telegram,channel_discord'

In the measured macOS ARM64 Telegram-only build, adding no_seahorse reduced the binary by 3.92 MiB (14.3%). See the guide for the full measurement details and the cases where Matrix or WhatsApp Native still require SQLite.

🚀 Quick Start Guide

The WebUI Launcher provides a browser-based interface for configuration and chat. This is the easiest way to get started — no command-line knowledge required.

Option 1: Double-click (Desktop)

After downloading from GitHub Releases, double-click picoclaw-launcher (or picoclaw-launcher.exe on Windows). Your browser will open automatically at http://localhost:18800.

Option 2: Command line

picoclaw-launcher
# Open http://localhost:18800 in your browser

[!TIP] Remote access / Docker / VM: Add the -public flag to listen on all interfaces:

picoclaw-launcher -public

WebUI Launcher

Getting started:

Open the WebUI, then: 1) Configure a Provider (add your LLM API key) -> 2) Configure a Channel (e.g., Telegram) -> 3) Start the Gateway -> 4) Chat!

For detailed WebUI documentation, see PicoClaw documentation.

Docker (alternative)
# 1. Clone this repo
git clone https://github.com/afjcjsbx/picoclaw.git
cd picoclaw

# 2. First run — auto-generates docker/data/config.json then exits
#    (only triggers when both config.json and workspace/ are missing)
docker compose -f docker/docker-compose.yml --profile launcher up
# The container prints "First-run setup complete." and stops.

# 3. Set your API keys
vim docker/data/config.json

# 4. Start
docker compose -f docker/docker-compose.yml --profile launcher up -d
# Open http://localhost:18800

Docker / VM users: The Gateway listens on 127.0.0.1 by default. Set PICOCLAW_GATEWAY_HOST=0.0.0.0 or use the -public flag to make it accessible from the host.

# Check logs
docker compose -f docker/docker-compose.yml logs -f

# Stop
docker compose -f docker/docker-compose.yml --profile launcher down

# Update
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml --profile launcher up -d
macOS — First Launch Security Warning

macOS may block picoclaw-launcher on first launch because it is downloaded from the internet and not notarized through the Mac App Store.

Step 1: Double-click picoclaw-launcher. You will see a security warning:

macOS Gatekeeper warning

"picoclaw-launcher" Not Opened — Apple could not verify "picoclaw-launcher" is free of malware that may harm your Mac or compromise your privacy.

Step 2: Open System Settings → Privacy & Security → scroll down to the Security section → click Open Anyway → confirm by clicking Open Anyway in the dialog.

macOS Privacy & Security — Open Anyway

After this one-time step, picoclaw-launcher will open normally on subsequent launches.

📱 Android

Give your decade-old phone a second life! Turn it into a smart AI Assistant with PicoClaw.

Option 1: APK Install

Preview:

Download the APK from GitHub Releases and install directly. No Termux required!

Option 2: Termux

For a full command-line setup checklist, see the Android Termux Guide.

Terminal Launcher (for resource-constrained environments)
  1. Install Termux (download from GitHub Releases, or search in F-Droid / Google Play)
  2. Run the following commands:
# Download the latest release
wget https://github.com/afjcjsbx/picoclaw/releases/latest/download/picoclaw_Linux_arm64.tar.gz
tar xzf picoclaw_Linux_arm64.tar.gz
pkg install proot
termux-chroot ./picoclaw onboard   # chroot provides a standard Linux filesystem layout

Then follow the Terminal Launcher section below to complete configuration.

PicoClaw on Termux

For minimal environments where only the picoclaw core binary is available (no Launcher UI), you can configure everything via the command line and a JSON config file.

1. Initialize

picoclaw onboard

This creates ~/.picoclaw/config.json and the workspace directory.

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

{
  "agents": {
    "defaults": {
      "model_name": "gpt-5.4"
    }
  },
  "model_list": [
    {
      "model_name": "gpt-5.4",
      "model": "openai/gpt-5.4"
      // api_key is now loaded from .security.yml
    }
  ]
}

See config/config.example.json in the repo for a complete configuration template with all available options.

Please note: config.example.json format is version 0, with sensitive codes in it, and will be auto migrated to version 1+, then, the config.json will only store insensitive data, the sensitive codes will be stored in .security.yml, if you need manually modify the codes, please see docs/security/security_configuration.md for more details.

3. Chat

# One-shot question
picoclaw agent -m "What is 2+2?"

# Interactive mode
picoclaw agent

# Start gateway for chat app integration
picoclaw gateway

🔌 Providers (LLM)

PicoClaw supports 30+ LLM providers through the model_list configuration. Use the protocol/model format:

ProviderProtocolAPI KeyNotes
OpenAIopenai/RequiredGPT-5.4, GPT-4o, o3, etc.
Anthropicanthropic/RequiredClaude Opus 4.6, Sonnet 4.6, etc.
Google Geminigemini/RequiredGemini 3 Flash, 2.5 Pro, etc.
OpenRouteropenrouter/Required200+ models, unified API
Zhipu (GLM)zhipu/RequiredGLM-4.7, GLM-5, etc.
DeepSeekdeepseek/RequiredDeepSeek-V3, DeepSeek-R1
Volcenginevolcengine/RequiredDoubao, Ark models
Qwenqwen/RequiredQwen3, Qwen-Max, etc.
Groqgroq/RequiredFast inference (Llama, Mixtral)
Moonshot (Kimi)moonshot/RequiredKimi models
Minimaxminimax/RequiredMiniMax models
Mistralmistral/RequiredMistral Large, Codestral
NVIDIA NIMnvidia/RequiredNVIDIA hosted models
Cerebrascerebras/RequiredFast inference
NEAR AI Cloudnearai/RequiredTEE inference, OpenAI-compatible
Novita AInovita/RequiredVarious open models
Xiaomi MiMomimo/RequiredMiMo models
Ollamaollama/Not neededLocal models, self-hosted
vLLMvllm/Not neededLocal deployment, OpenAI-compatible
LiteLLMlitellm/VariesProxy for 100+ providers
Azure OpenAIazure/API key or Entra ID**Enterprise Azure deployment
GitHub Copilotgithub-copilot/OAuthDevice code login
Antigravityantigravity/OAuthGoogle Cloud AI
AWS Bedrock*bedrock/AWS credentialsClaude, Llama, Mistral on AWS

* AWS Bedrock requires build tag: go build -tags bedrock. Set api_base to a region name (e.g., us-east-1) for automatic endpoint resolution across all AWS partitions (aws, aws-cn, aws-us-gov). When using a full endpoint URL instead, you must also configure AWS_REGION via environment variable or AWS config/profile.

** Azure OpenAI uses api_key when set. If api_key is omitted, the provider falls back to Microsoft Entra ID via DefaultAzureCredential (env vars, workload identity, managed identity, Azure CLI, etc.). The Entra ID path requires build tag: go build -tags azidentity.

Local deployment (Ollama, vLLM, etc.)

Ollama:

{
  "model_list": [
    {
      "model_name": "local-llama",
      "model": "ollama/llama3.1:8b",
      "api_base": "http://localhost:11434/v1"
    }
  ]
}

vLLM:

{
  "model_list": [
    {
      "model_name": "local-vllm",
      "model": "vllm/your-model",
      "api_base": "http://localhost:8000/v1"
    }
  ]
}

For full provider configuration details, see Providers & Models.

💬 Channels (Chat Apps)

Talk to your PicoClaw through 19+ messaging platforms:

ChannelSetupProtocolDocs
TelegramEasy (bot token)Long pollingGuide
DiscordEasy (bot token + intents)WebSocketGuide
WhatsAppEasy (QR scan or bridge URL)Native / BridgeGuide
WeixinEasy (Native QR scan)iLink APIGuide
QQEasy (AppID + AppSecret)WebSocketGuide
SlackEasy (bot + app token)Socket ModeGuide
MatrixMedium (homeserver + token)Sync APIGuide
Delta ChatEasy (chatmail or existing account)JSON-RPC (email/E2EE)Guide
DingTalkMedium (client credentials)StreamGuide
Feishu / LarkMedium (App ID + Secret)WebSocket/SDKGuide
LINEMedium (credentials + webhook)WebhookGuide
WeComEasy (QR login or manual)WebSocketGuide
VKEasy (group token)Long PollGuide
IRCMedium (server + nick)IRC protocolGuide
OneBotMedium (WebSocket URL)OneBot v11Guide
MQTTEasy (broker + agent_id)MQTT pub/subGuide
MaixCamEasy (enable)TCP socketGuide
PicoEasy (enable)Native protocolBuilt-in
Pico ClientEasy (WebSocket URL)WebSocketBuilt-in

All webhook-based channels share a single Gateway HTTP server (gateway.host:gateway.port, default 127.0.0.1:18790). Feishu uses WebSocket/SDK mode and does not use the shared HTTP server.

Log verbosity is controlled by gateway.log_level (default: warn). Supported values: debug, info, warn, error, fatal. Can also be set via PICOCLAW_LOG_LEVEL. See Configuration for details.

For detailed channel setup instructions, see Chat Apps Configuration.

🔧 Tools

PicoClaw can search the web to provide up-to-date information. Configure in tools.web:

Search EngineAPI KeyFree TierLink
DuckDuckGoNot neededUnlimitedBuilt-in fallback
Gemini Google SearchRequiredVariesGemini with Google Search grounding
Baidu SearchRequired1500/month (daily allocation)AI-powered, China-optimized
TavilyRequired1000 queries/monthOptimized for AI Agents
Brave SearchRequired2000 queries/monthFast and private
Kagi SearchRequiredPaid/limited by API setupPremium search results
KeenableOptionalKeyless: 10 req/s, 1000/hour per IPWorks without a key; a key lifts the rate limits
PerplexityRequiredPaidAI-powered search
SearXNGNot neededSelf-hostedFree metasearch engine
GLM SearchRequiredVariesZhipu web search

⚙️ Other Tools

PicoClaw includes built-in tools for file operations, code execution, scheduling, and more. See Tools Configuration for details.

🎯 Skills

Skills and MCP servers can also be packaged together as portable Agent Plugins 1.0.0. See the plugin guide and the working demo plugin. Mem0 publishes its own Agent Plugin; see the compatibility notes before enabling it.

Skills are modular capabilities that extend your Agent. They are loaded from SKILL.md files in your workspace.

Install skills from ClawHub:

picoclaw skills search "web scraping"
picoclaw skills install <skill-name>

Configure skill registries:

Add to your config.json:

{
  "tools": {
    "skills": {
      "registries": {
        "clawhub": {
          "auth_token": "your-clawhub-token"
        },
        "github": {
          "base_url": "https://github.com",
          "auth_token": "your-github-token",
          "proxy": ""
        }
      }
    }
  }
}

tools.skills.github.* is deprecated. Use tools.skills.registries.github.* instead.

For more details, see Tools Configuration - Skills.

🔗 MCP (Model Context Protocol)

PicoClaw natively supports MCP — connect any MCP server to extend your Agent's capabilities with external tools and data sources.

PicoClaw is a lightweight assistant, so remote MCP servers are the best choice. For local servers, prefer natively compiled server binaries and avoid npx, uvx, or other heavyweight dependency managers.

{
  "tools": {
    "mcp": {
      "enabled": true,
      "servers": {
        "browserbase": {
          "enabled": true,
          "deferred": false,
          "command": "",
          "type": "http",
          "url": "https://mcp.browserbase.com/mcp?browserbaseApiKey=API_KEY",
          "headers": {
            "BROWSERBASE_PROJECT_ID": "********"
          }
        }
      }
    }
  }
}

You can manage common MCP setups directly from the CLI instead of editing JSON by hand:

picoclaw mcp list
picoclaw mcp test browserbase

picoclaw mcp is a configuration manager: it updates config.json under tools.mcp.servers, but it does not keep the server process running itself.

Use picoclaw mcp edit when you need advanced fields that are not covered by picoclaw mcp add. For example, picoclaw mcp add supports --deferred and --env-file, while picoclaw mcp edit is still useful for direct JSON editing and uncommon MCP settings.

For full MCP configuration (stdio, SSE, HTTP transports, Tool Discovery), see Tools Configuration - MCP. For CLI usage and examples, see MCP Server CLI.

ClawdChat Join the Agent Social Network

Connect PicoClaw to the Agent Social Network simply by sending a single message via the CLI or any integrated Chat App.

Read https://clawdchat.ai/skill.md and follow the instructions to join ClawdChat.ai

🖥️ CLI Reference

CommandDescription
picoclaw onboardInitialize config & workspace
picoclaw auth weixinConnect WeChat account via QR
picoclaw agent -m "..."Chat with the agent
picoclaw agentInteractive chat mode
picoclaw gatewayStart the gateway
picoclaw statusShow status
picoclaw versionShow version info
picoclaw modelView or switch the default model
picoclaw mcp listList configured MCP servers
picoclaw mcp add ...Add or update an MCP server entry
picoclaw mcp testProbe a configured MCP server
picoclaw mcp editOpen config for advanced MCP editing
picoclaw mcp removeRemove an MCP server entry
picoclaw cron listList all scheduled jobs
picoclaw cron add ...Add a scheduled job
picoclaw cron disableDisable a scheduled job
picoclaw cron removeRemove a scheduled job
picoclaw skills listList installed skills
picoclaw skills installInstall a skill
picoclaw migrateMigrate data from older versions
picoclaw auth loginAuthenticate with providers

⏰ 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

See docs/reference/cron.md for current schedule types, execution modes, command-job gates, and persistence details.

📚 Documentation

For detailed guides beyond this README:

TopicDescription
Docker & Quick StartDocker Compose setup, Launcher/Agent modes
Chat AppsAll 18+ channel setup guides
ConfigurationEnvironment variables, workspace layout, security sandbox
Plugin InstallationInstall and activate Agent Plugin packages
MCP Server CLIAdd, list, test, edit, and remove MCP server entries from the CLI
Scheduled Tasks and Cron JobsCron schedule types, deliver modes, command gates, job storage
Providers & Models30+ LLM providers, model routing, model_list configuration
Spawn & Async TasksQuick tasks, long tasks with spawn, async sub-agent orchestration
HooksEvent-driven hook system: observers, interceptors, approval hooks
SteeringInject messages into a running agent loop between tool calls
SubTurnSubagent coordination, concurrency control, lifecycle
TroubleshootingCommon issues and solutions
Tools ConfigurationPer-tool enable/disable, exec policies, MCP, Skills
Hardware CompatibilityTested boards, minimum requirements

🤝 Contribute & Roadmap

PRs welcome! The codebase is intentionally small and readable.

See our CONTRIBUTING.md for guidelines.

agent
ai
ai-agent
arm
edge-ai
embedded
golang
iot
llm
llms
low-resource
mcp
openai
openclaw
raspberry-pi
riscv
sbc
self-hosted
telegram
workflow-automation

Significant stargazers

pancake

443 followers · starred Sep 2026