picoclaw Documentation

Tiny, Fast, and Deployable anywhere — automate the mundane, unleash your creativity

29,841 stars Go Go 1 file · ~10,195 tokens
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy picoclaw on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name picoclaw --restart always sipeed/picoclaw:latest
Configured Services & Ports
⚙️ picoclaw-agent
image: build locally
⚙️ picoclaw-gateway
image: build locally
docker-compose.yml
yaml (docker-compose.yml)
services:
  # ─────────────────────────────────────────────
  # PicoClaw Agent (one-shot query) - Full MCP Support
  #   docker compose -f docker/docker-compose.full.yml run --rm picoclaw-agent -m "Hello"
  # ─────────────────────────────────────────────
  picoclaw-agent:
    build:
      context: ..
      dockerfile: docker/Dockerfile.full
    container_name: picoclaw-agent-full
    profiles:
      - agent
    volumes:
      - ../config/config.json:/root/.picoclaw/config.json:ro
      - picoclaw-workspace:/root/.picoclaw/workspace
      - picoclaw-npm-cache:/root/.npm # npm cache for faster MCP server installs
    entrypoint: ["picoclaw", "agent"]
    stdin_open: true
    tty: true

  # ─────────────────────────────────────────────
  # PicoClaw Gateway (Long-running Bot) - Full MCP Support
  #   docker compose -f docker/docker-compose.full.yml --profile gateway up
  # ─────────────────────────────────────────────
  picoclaw-gateway:
    build:
      context: ..
      dockerfile: docker/Dockerfile.full
    container_name: picoclaw-gateway-full
    restart: unless-stopped
    profiles:
      - gateway
    volumes:
      # Configuration file
      - ../config/config.json:/root/.picoclaw/config.json:ro
      # Persistent workspace (sessions, memory, logs)
      - picoclaw-workspace:/root/.picoclaw/workspace
      # NPM cache for faster MCP server installs
      - picoclaw-npm-cache:/root/.npm
    command: ["gateway"]

volumes:
  picoclaw-workspace:
  picoclaw-npm-cache: # Cache npm packages to speed up MCP server installations

1. Project Overview & Quickstart (sipeed/picoclaw)

File: README.md


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.

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 <10MB RAM — that's 99% less memory than OpenClaw and 98% cheaper than a Mac mini!

[!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-20MB RAM. Resource optimization is planned after feature stabilization.

📢 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.

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 picoclaw.io

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.

Earlier news...

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: Core memory footprint <10MB — 99% smaller than OpenClaw.*

💰 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.

👁️ 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.

*Recent builds may use 10-20MB due to rapid PR merges. Resource optimization is planned. Boot speed comparison based on 0.8GHz single-core benchmarks (see table below).

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

🦾 Demonstration

🛠️ Standard Assistant Workflows

Develop · Deploy · Scale Schedule · Automate · Remember Discover · 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

Visit picoclaw.io — the official website auto-detects your platform and provides one-click download. No need to manually pick an architecture.

Download precompiled binary

Alternatively, download the binary for your platform from the GitHub Releases page.

Build from source (for development)

Prerequisites:

  • Go 1.25+
  • Node.js 22+ and pnpm 10.33.0+ for Web UI / launcher builds
bash
git clone https://github.com/sipeed/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.

🚀 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 picoclaw.io, double-click picoclaw-launcher (or picoclaw-launcher.exe on Windows). Your browser will open automatically at http://localhost:18800.

Option 2: Command line

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

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

bash
picoclaw-launcher -public

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 docs.picoclaw.io.

Docker (alternative)

bash
# 1. Clone this repo
git clone https://github.com/sipeed/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.

bash
# 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:

"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.

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 picoclaw.io 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:
bash
# Download the latest release
wget https://github.com/sipeed/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.

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

bash
picoclaw onboard

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

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

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

bash
# 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:

Provider Protocol API Key Notes
OpenAI openai/ Required GPT-5.4, GPT-4o, o3, etc.
Anthropic anthropic/ Required Claude Opus 4.6, Sonnet 4.6, etc.
Google Gemini gemini/ Required Gemini 3 Flash, 2.5 Pro, etc.
OpenRouter openrouter/ Required 200+ models, unified API
Zhipu (GLM) zhipu/ Required GLM-4.7, GLM-5, etc.
DeepSeek deepseek/ Required DeepSeek-V3, DeepSeek-R1
Volcengine volcengine/ Required Doubao, Ark models
Qwen qwen/ Required Qwen3, Qwen-Max, etc.
Groq groq/ Required Fast inference (Llama, Mixtral)
Moonshot (Kimi) moonshot/ Required Kimi models
Minimax minimax/ Required MiniMax models
Mistral mistral/ Required Mistral Large, Codestral
NVIDIA NIM nvidia/ Required NVIDIA hosted models
Cerebras cerebras/ Required Fast inference
NEAR AI Cloud nearai/ Required TEE inference, OpenAI-compatible
Novita AI novita/ Required Various open models
Xiaomi MiMo mimo/ Required MiMo models
Ollama ollama/ Not needed Local models, self-hosted
vLLM vllm/ Not needed Local deployment, OpenAI-compatible
LiteLLM litellm/ Varies Proxy for 100+ providers
Azure OpenAI azure/ API key or Entra ID** Enterprise Azure deployment
GitHub Copilot github-copilot/ OAuth Device code login
Antigravity antigravity/ OAuth Google Cloud AI
AWS Bedrock* bedrock/ AWS credentials Claude, 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:

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

vLLM:

json
{
  "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:

Channel Setup Protocol Docs
Telegram Easy (bot token) Long polling Guide
Discord Easy (bot token + intents) WebSocket Guide
WhatsApp Easy (QR scan or bridge URL) Native / Bridge Guide
Weixin Easy (Native QR scan) iLink API Guide
QQ Easy (AppID + AppSecret) WebSocket Guide
Slack Easy (bot + app token) Socket Mode Guide
Matrix Medium (homeserver + token) Sync API Guide
Delta Chat Easy (account script or email/password) JSON-RPC (email/E2EE) Guide
DingTalk Medium (client credentials) Stream Guide
Feishu / Lark Medium (App ID + Secret) WebSocket/SDK Guide
LINE Medium (credentials + webhook) Webhook Guide
WeCom Easy (QR login or manual) WebSocket Guide
VK Easy (group token) Long Poll Guide
IRC Medium (server + nick) IRC protocol Guide
OneBot Medium (WebSocket URL) OneBot v11 Guide
MQTT Easy (broker + agent_id) MQTT pub/sub Guide
MaixCam Easy (enable) TCP socket Guide
Pico Easy (enable) Native protocol Built-in
Pico Client Easy (WebSocket URL) WebSocket Built-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 Engine API Key Free Tier Link
DuckDuckGo Not needed Unlimited Built-in fallback
Gemini Google Search Required Varies Gemini with Google Search grounding
Baidu Search Required 1500/month (daily allocation) AI-powered, China-optimized
Tavily Required 1000 queries/month Optimized for AI Agents
Brave Search Required 2000 queries/month Fast and private
Kagi Search Required Paid/limited by API setup Premium search results
Perplexity Required Paid AI-powered search
SearXNG Not needed Self-hosted Free metasearch engine
GLM Search Required Varies Zhipu web search

⚙️ Other Tools

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

🎯 Skills

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

Install skills from ClawHub:

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

Configure skill registries:

Add to your config.json:

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.

json
{
  "tools": {
    "mcp": {
      "enabled": true,
      "servers": {
        "filesystem": {
          "enabled": true,
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
        }
      }
    }
  }
}

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

bash
picoclaw mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /tmp
picoclaw mcp list
picoclaw mcp test filesystem

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.

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

Command Description
picoclaw onboard Initialize config & workspace
picoclaw auth weixin Connect WeChat account via QR
picoclaw agent -m "..." Chat with the agent
picoclaw agent Interactive chat mode
picoclaw gateway Start the gateway
picoclaw status Show status
picoclaw version Show version info
picoclaw model View or switch the default model
picoclaw mcp list List configured MCP servers
picoclaw mcp add ... Add or update an MCP server entry
picoclaw mcp test Probe a configured MCP server
picoclaw mcp edit Open config for advanced MCP editing
picoclaw mcp remove Remove an MCP server entry
picoclaw cron list List all scheduled jobs
picoclaw cron add ... Add a scheduled job
picoclaw cron disable Disable a scheduled job
picoclaw cron remove Remove a scheduled job
picoclaw skills list List installed skills
picoclaw skills install Install a skill
picoclaw migrate Migrate data from older versions
picoclaw auth login Authenticate 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:

Topic Description
Docker & Quick Start Docker Compose setup, Launcher/Agent modes
Chat Apps All 18+ channel setup guides
Configuration Environment variables, workspace layout, security sandbox
MCP Server CLI Add, list, test, edit, and remove MCP server entries from the CLI
Scheduled Tasks and Cron Jobs Cron schedule types, deliver modes, command gates, job storage
Providers & Models 30+ LLM providers, model routing, model_list configuration
Spawn & Async Tasks Quick tasks, long tasks with spawn, async sub-agent orchestration
Hooks Event-driven hook system: observers, interceptors, approval hooks
Steering Inject messages into a running agent loop between tool calls
SubTurn Subagent coordination, concurrency control, lifecycle
Troubleshooting Common issues and solutions
Tools Configuration Per-tool enable/disable, exec policies, MCP, Skills
Hardware Compatibility Tested boards, minimum requirements

🤝 Contribute & Roadmap

PRs welcome! The codebase is intentionally small and readable.

See our Community Roadmap and CONTRIBUTING.md for guidelines.

Developer group building, join after your first merged PR!

User Groups:

Discord: https://discord.gg/V4sAZ9XWpN

WeChat:


File: docs/README.md

PicoClaw Documentation

PicoClaw documentation is organized by document type first and language second.

This file describes the recommended documentation layout, how translated files should be named, and what make lint-docs currently checks locally.

These conventions are intended as contributor guidance for new or moved docs. Existing docs may still have historical exceptions, and make lint-docs only checks a common subset of the patterns described here.

Reader Navigation

If you are browsing docs rather than reorganizing them, start with these directory indexes:

  • Guides: setup, configuration, provider, and workflow guides.
  • Reference: precise configuration and behavior reference.
  • Operations: debugging and troubleshooting material.
  • Security: security-focused guides and controls.
  • Architecture: implementation notes and internal design docs.
  • Migration: upgrade and migration notes.

For channel-specific setup, start with Chat Apps Configuration and then drill into docs/channels/<name>/README.md as needed.

Principles

  • Choose the document type directory first. Do not create language buckets such as docs/zh/ or docs/fr/.
  • Keep each translated document next to its English source document.
  • Use English as the base filename with no locale suffix.
  • Use lowercase locale suffixes for translations, for example configuration.zh.md or README.pt-br.md.
  • Keep module-specific docs next to the code they describe instead of moving them into docs/.
  • README.md: English project entry document at the repository root.
  • docs/project/: translated project entry documents such as README.zh.md and CONTRIBUTING.zh.md.
  • docs/guides/: setup and usage guides.
  • docs/reference/: reference material and detailed configuration docs.
  • docs/operations/: debugging and troubleshooting docs.
  • docs/security/: security-related documentation.
  • docs/architecture/: architecture and internal design notes.
  • docs/channels/: channel-specific integration guides.
  • docs/design/: design proposals and investigations.
  • docs/migration/: migration notes.
  • English documents use the base filename:
    • README.md
    • configuration.md
  • Translations use .<locale>.md:
    • README.zh.md
    • configuration.fr.md
    • README.pt-br.md
  • Code-adjacent translated READMEs follow the same rule:
    • pkg/audio/asr/README.zh.md
    • pkg/isolation/README.zh.md

Common Patterns To Avoid

  • Root-level translated entry docs such as README.zh.md or CONTRIBUTING.fr.md
    • Use docs/project/README.zh.md or docs/project/CONTRIBUTING.fr.md instead.
  • Language directories under docs/ such as docs/zh/, docs/ZH/, docs/ja/, or docs/fr/
    • Use docs/<type>/<name>.<locale>.md instead.
  • Nested locale buckets such as docs/guides/zh/configuration.md or docs/channels/telegram/zh/README.md
    • Keep translations beside the English source file instead.
  • Legacy translation filenames such as README_zh.md or README_CN.md
    • Use README.zh.md.
  • Non-canonical locale suffixes such as configuration_zh.md or configuration.ZH.md
    • Use lowercase .<locale>.md, for example configuration.zh.md.

Translation Placement

  • For docs under docs/guides, docs/reference, docs/operations, docs/security, docs/architecture, docs/channels, and docs/migration, keep translations beside the English source file.
  • For project entry translations, keep translated files in docs/project/ and keep the English source in the repository root.
  • In most cases, each translated file should have an English source document:
    • docs/guides/configuration.zh.md usually sits beside docs/guides/configuration.md
    • docs/project/README.zh.md usually corresponds to README.md
  • Exception: docs/design/ may contain locale-specific working notes without an English source document. The naming rules still apply there.

Code-Adjacent Docs

Keep documentation next to the implementation when it primarily describes a package, command, example, or subproject.

Examples:

  • pkg/**/README.md
  • cmd/**/README.md
  • web/README.md
  • examples/**/README.md

These files still follow the same translation naming rules.

Adding a New Document

  1. Pick the correct document type directory.
  2. Create the English source file first.
  3. Add translated siblings after the English source exists when that source is part of the same docs set.
  4. Update links from existing docs when the new doc becomes a navigation target.
  5. Run make lint-docs locally when adding or moving docs.

Examples

  • New setup guide:
    • docs/guides/launcher-setup.md
    • docs/guides/launcher-setup.zh.md
  • New security guide:
    • docs/security/token-rotation.md
  • New translated package README:
    • pkg/channels/README.zh.md

Validation

Run:

bash
make lint-docs

The local docs linter currently checks these common cases:

  • no root-level translated README or CONTRIBUTING files
  • no docs/<locale>/ language buckets, regardless of case
  • no nested locale buckets under typed docs directories
  • no legacy README_*.md filenames
  • no non-canonical translation-like filenames such as _zh.md or .ZH.md
  • no extra Markdown files directly under docs/ except docs/README.md
  • every translated Markdown file has a matching English source file
    • except for locale-specific working notes under docs/design/

make lint-docs is a local consistency check for common naming and placement mistakes. It helps contributors stay close to the recommended layout, but it is not intended to describe every acceptable documentation pattern in the repository.

When a check fails, make lint-docs prints the failing path, the reason, and a suggested fix.

If you change these recommendations or want the local linter to reflect them more closely, update this file and scripts/lint-docs.sh together.

2. Official Technical Reference & Guides (sipeed/picoclaw_docs)

File: README.md

PicoClaw Documentation

This repository contains the source for the PicoClaw documentation site.

The easiest way to contribute — no local setup required.

  1. Fork this repository
  2. Click Code → Codespaces → Create codespace on main
  3. Wait for the container to build and dependencies to install automatically
  4. Run the dev server:
bash
# English (default)
npm start

# Chinese
npm run start:zh

Note: Docusaurus dev server only serves one locale at a time. Use npm start for English or npm run start:zh for Chinese. Visiting /zh-Hans/... while running npm start will return 404.

The preview will open automatically in your browser. The dev server supports hot reload, so changes to docs are reflected instantly.

Local Development

bash
npm install

# English (default)
npm start

# Chinese
npm run start:zh

Open http://localhost:3000 to view the site.

Build

bash
npm run build

Deploy

This site automatically deploys to GitHub Pages on every push to main via GitHub Actions.

To enable deployment in a new repository:

  1. Go to Settings → Pages
  2. Set Source to GitHub Actions
  3. Push to main

Contributing

Content is sourced from and synchronized with the main sipeed/picoclaw repository.

To update documentation, open a PR with the updated Markdown files.

Structure

text
docs/           English documentation (default locale)
i18n/zh-Hans/   Chinese documentation
src/            Custom React pages and CSS
static/img/     Images and assets

File: docs/intro.md


id: intro title: Introduction sidebar_label: Introduction slug: /

PicoClaw: Ultra-Efficient AI Assistant in Go

🦐 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 less than 10MB RAM — that's 99% less memory than OpenClaw and 98% cheaper than a Mac mini!

Key Features

Feature Description
🪶 Ultra-Lightweight Less than 10MB memory footprint — 99% smaller than comparable solutions
💰 Minimal Cost Runs on $10 hardware — 98% cheaper than a Mac mini
⚡️ Lightning Fast 400x faster startup — boots in under 1 second even on a 0.6GHz single core
🌍 True Portability Single self-contained binary for RISC-V, ARM64, and x86_64
🤖 AI-Bootstrapped 95% agent-generated core with human-in-the-loop refinement
💬 Multi-Channel Telegram, Discord, Slack, DingTalk, Feishu, WeCom, LINE, QQ, and more

Comparison

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

Architecture

Security Notice

OFFICIAL DOMAIN: The only official website is picoclaw.io, and company website is sipeed.com.

NO CRYPTO: PicoClaw has NO official token/coin. All claims on trading platforms are scams.

PicoClaw is in early development and may have unresolved security issues. Do not deploy to production environments before the v1.0 release.

Community

Join the Developer Group

After submitting a PR to PicoClaw, you're welcome to join the developer WeChat group or Discord server.

To join, please send an email to [email protected] with the subject line:

text
[Join PicoClaw Dev Group] Your GitHub account

We will send the Discord invite link to your inbox. For the WeChat group, scan the QR code on the homepage and ask the group owner, providing your GitHub account and PR number.


File: docs/getting-started.md


id: getting-started title: Getting Started

Getting Started

Get PicoClaw running in 2 minutes.

:::tip Reminder
Please get and verify your API key first. For supported models, see Model Configuration. Web search is optional. You can get a free Tavily API (1,000 free queries/month) or Brave Search API (2,000 free queries/month).
:::

Configure with WebUI (`picoclaw-launcher`)

For most users, we recommend configuring through Launcher WebUI instead of editing config files first.

  1. Start the WebUI launcher directly (no pre-initialization required) via command line:
bash
picoclaw-launcher

Or double-click picoclaw-launcher (picoclaw-launcher.exe on Windows).

picoclaw-launcher-tui is no longer maintained and is being phased out. Prefer picoclaw-launcher.

  1. Open http://localhost:18800 and complete the following in the UI:
  • Add at least one LLM model and set it as default
  • Configure web search (currently via config files; see Web Search Setup)
  • Start Gateway in Launcher

For more model fields and full config file examples, see Model Configuration.

After configuration is complete, you can start using PicoClaw.

Without web search enabled, many real-world scenarios (checking the latest information, finding links, fact verification) are significantly limited.
We recommend enabling at least one search engine during initial setup.

In the current version, web search must be configured via config files (config.json + .security.yml), and WebUI does not yet provide a dedicated entry. See Web Search Setup for details.

CLI Command Reference

For CLI commands and picoclaw-launcher parameters, see CLI Commands and Parameters.

Scheduled Tasks

PicoClaw supports reminders and recurring tasks via the cron tool:

  • One-time: "Remind me in 10 minutes"
  • Recurring: "Remind me every 2 hours"
  • Cron expressions: "Remind me at 9am daily"

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

Troubleshooting

Web Search Shows "API key configuration issue"

If you have not configured a search API key yet, this is expected.

To enable web search:

  1. Option 1 (Recommended): Get a free API key at https://brave.com/search/api (2000 free queries/month).
  2. Option 2 (No Credit Card): Use DuckDuckGo fallback (no key required).
  3. Option 3 (Mainland China content first): Use Baidu Search (1000 free queries/day).

Content filtering errors

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

Telegram bot "Conflict: terminated by other getUpdates"

Only one picoclaw gateway instance should run at a time. Stop any other instances.

API Key Comparison

Service Free Tier Use Case
OpenRouter 200K tokens/month Multiple models (Claude, GPT-4, etc.)
Volcengine CodingPlan ¥9.9/first month Best for Chinese users, multiple SOTA models (Doubao, DeepSeek, etc.)
Zhipu 200K tokens/month For Chinese users
Brave Search 2000 queries/month Web search functionality
Tavily 1000 queries/month AI Agent optimized search
Baidu Search 1000 queries/day Better coverage for Mainland China content
Groq Free tier Fast inference (Llama, Mixtral)
Cerebras Free tier Fast inference (Llama, Qwen)