mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-05-25 16:00:35 +00:00
794eb04f32
* add gemini web search provider * fix(web): prefer free providers before Gemini in auto mode * fix(web): expose gemini api key and model settings * fix(web): prefer configured providers before Gemini in auto mode * fix(web): satisfy gemini lint checks * fix(web): address gemini provider review feedback * test(web): align auto-provider expectations * fix(web): let gemini ignore search range
657 lines
29 KiB
Markdown
657 lines
29 KiB
Markdown
<div align="center">
|
|
<img src="assets/logo.webp" alt="PicoClaw" width="512">
|
|
|
|
<h1>PicoClaw: Ultra-Efficient AI Assistant in Go</h1>
|
|
|
|
<h3>$10 Hardware · 10MB RAM · ms Boot · Let's Go, PicoClaw!</h3>
|
|
<p>
|
|
<img src="https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go&logoColor=white" alt="Go">
|
|
<img src="https://img.shields.io/badge/Arch-x86__64%2C%20ARM64%2C%20MIPS%2C%20RISC--V%2C%20LoongArch-blue" alt="Hardware">
|
|
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
|
<br>
|
|
<a href="https://picoclaw.io"><img src="https://img.shields.io/badge/Website-picoclaw.io-blue?style=flat&logo=google-chrome&logoColor=white" alt="Website"></a>
|
|
<a href="https://docs.picoclaw.io/"><img src="https://img.shields.io/badge/Docs-Official-007acc?style=flat&logo=read-the-docs&logoColor=white" alt="Docs"></a>
|
|
<a href="https://deepwiki.com/sipeed/picoclaw"><img src="https://img.shields.io/badge/Wiki-DeepWiki-FFA500?style=flat&logo=wikipedia&logoColor=white" alt="Wiki"></a>
|
|
<br>
|
|
<a href="https://x.com/SipeedIO"><img src="https://img.shields.io/badge/X_(Twitter)-SipeedIO-black?style=flat&logo=x&logoColor=white" alt="Twitter"></a>
|
|
<a href="./assets/wechat.png"><img src="https://img.shields.io/badge/WeChat-Group-41d56b?style=flat&logo=wechat&logoColor=white"></a>
|
|
<a href="https://discord.gg/V4sAZ9XWpN"><img src="https://img.shields.io/badge/Discord-Community-4c60eb?style=flat&logo=discord&logoColor=white" alt="Discord"></a>
|
|
</p>
|
|
|
|
[中文](docs/project/README.zh.md) | [日本語](docs/project/README.ja.md) | [한국어](docs/project/README.ko.md) | [Português](docs/project/README.pt-br.md) | [Tiếng Việt](docs/project/README.vi.md) | [Français](docs/project/README.fr.md) | [Italiano](docs/project/README.it.md) | [Bahasa Indonesia](docs/project/README.id.md) | [Malay](docs/project/README.ms.md) | **English**
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
> **PicoClaw** is an independent open-source project initiated by [Sipeed](https://sipeed.com), 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](https://github.com/HKUDS/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!
|
|
|
|
<table align="center">
|
|
<tr align="center">
|
|
<td align="center" valign="top">
|
|
<p align="center">
|
|
<img src="assets/picoclaw_mem.gif" width="360" height="240">
|
|
</p>
|
|
</td>
|
|
<td align="center" valign="top">
|
|
<p align="center">
|
|
<img src="assets/licheervnano.png" width="400" height="240">
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
> [!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](https://picoclaw.io)**, and company website is **[sipeed.com](https://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](https://www.aliexpress.com/item/1005006519668532.html), making it easier to try PicoClaw on compact RISC-V hardware.
|
|
|
|
<p align="center">
|
|
<a href="https://www.aliexpress.com/item/1005006519668532.html">
|
|
<img src="assets/licheerv-claw.jpg" alt="LicheeRV-Claw on AliExpress" width="520">
|
|
</a>
|
|
</p>
|
|
|
|
2026-03-31 📱 **Android Support!** PicoClaw now runs on Android! Download the APK at [picoclaw.io](https://picoclaw.io/download)
|
|
|
|
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.
|
|
|
|
<details>
|
|
<summary>Earlier news...</summary>
|
|
|
|
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](ROADMAP.md) 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!
|
|
|
|
</details>
|
|
|
|
## ✨ 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](https://modelcontextprotocol.io/) 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)._
|
|
|
|
<div align="center">
|
|
|
|
| | OpenClaw | NanoBot | **PicoClaw** |
|
|
| ------------------------------ | ------------- | ------------------------ | -------------------------------------- |
|
|
| **Language** | TypeScript | Python | **Go** |
|
|
| **RAM** | >1GB | >100MB | **< 10MB*** |
|
|
| **Boot time**</br>(0.8GHz core) | >500s | >30s | **<1s** |
|
|
| **Cost** | Mac Mini $599 | Most Linux boards ~$50 | **Any Linux board**</br>**from $10** |
|
|
|
|
<img src="assets/compare.jpg" alt="PicoClaw" width="512">
|
|
|
|
</div>
|
|
|
|
> **[Hardware Compatibility List](docs/guides/hardware-compatibility.md)** — See all tested boards, from $5 RISC-V to Raspberry Pi to Android phones. Your board not listed? Submit a PR!
|
|
|
|
<p align="center">
|
|
<img src="assets/hardware-banner.jpg" alt="PicoClaw Hardware Compatibility" width="100%">
|
|
</p>
|
|
|
|
## 🦾 Demonstration
|
|
|
|
### 🛠️ Standard Assistant Workflows
|
|
|
|
<table align="center">
|
|
<tr align="center">
|
|
<th><p align="center">Full-Stack Engineer Mode</p></th>
|
|
<th><p align="center">Logging & Planning</p></th>
|
|
<th><p align="center">Web Search & Learning</p></th>
|
|
</tr>
|
|
<tr>
|
|
<td align="center"><p align="center"><img src="assets/picoclaw_code.gif" width="240" height="180"></p></td>
|
|
<td align="center"><p align="center"><img src="assets/picoclaw_memory.gif" width="240" height="180"></p></td>
|
|
<td align="center"><p align="center"><img src="assets/picoclaw_search.gif" width="240" height="180"></p></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">Develop · Deploy · Scale</td>
|
|
<td align="center">Schedule · Automate · Remember</td>
|
|
<td align="center">Discover · Insights · Trends</td>
|
|
</tr>
|
|
</table>
|
|
|
|
### 🐜 Innovative Low-Footprint Deployment
|
|
|
|
PicoClaw can be deployed on virtually any Linux device!
|
|
|
|
- $9.9 [LicheeRV-Nano](https://www.aliexpress.com/item/1005006519668532.html) E(Ethernet) or W(WiFi6) edition, for a minimal home assistant
|
|
- $30~50 [NanoKVM](https://www.aliexpress.com/item/1005007369816019.html), or $100 [NanoKVM-Pro](https://www.aliexpress.com/item/1005010048471263.html), for automated server operations
|
|
- $50 [MaixCAM](https://www.aliexpress.com/item/1005008053333693.html) or $100 [MaixCAM2](https://www.kickstarter.com/projects/zepan/maixcam2-build-your-next-gen-4k-ai-camera), for smart surveillance
|
|
|
|
<https://private-user-images.githubusercontent.com/83055338/547056448-e7b031ff-d6f5-4468-bcca-5726b6fecb5c.mp4>
|
|
|
|
🌟 More Deployment Cases Await!
|
|
|
|
## 📦 Install
|
|
|
|
### Download from picoclaw.io (Recommended)
|
|
|
|
Visit **[picoclaw.io](https://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](https://github.com/sipeed/picoclaw/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
|
|
|
|
### 🌐 WebUI Launcher (Recommended for Desktop)
|
|
|
|
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](https://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
|
|
> ```
|
|
|
|
<p align="center">
|
|
<img src="assets/launcher-webui.jpg" alt="WebUI Launcher" width="600">
|
|
</p>
|
|
|
|
**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](https://docs.picoclaw.io).
|
|
|
|
<details>
|
|
<summary><b>Docker (alternative)</b></summary>
|
|
|
|
```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
|
|
```
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary><b>macOS — First Launch Security Warning</b></summary>
|
|
|
|
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:
|
|
|
|
<p align="center">
|
|
<img src="assets/macos-gatekeeper-warning.jpg" alt="macOS Gatekeeper warning" width="400">
|
|
</p>
|
|
|
|
> *"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.
|
|
|
|
<p align="center">
|
|
<img src="assets/macos-gatekeeper-allow.jpg" alt="macOS Privacy & Security — Open Anyway" width="600">
|
|
</p>
|
|
|
|
After this one-time step, `picoclaw-launcher` will open normally on subsequent launches.
|
|
|
|
</details>
|
|
|
|
<a id="-run-on-old-android-phones"></a>
|
|
### 📱 Android
|
|
|
|
Give your decade-old phone a second life! Turn it into a smart AI Assistant with PicoClaw.
|
|
|
|
**Option 1: APK Install**
|
|
|
|
Preview:
|
|
|
|
<table>
|
|
<tr>
|
|
<td><img src="assets/fui_main_page.jpg" width="200"></td>
|
|
<td><img src="assets/fui_web_page.jpg" width="200"></td>
|
|
<td><img src="assets/fui_log_page.jpg" width="200"></td>
|
|
<td><img src="assets/fui_setting_page.jpg" width="200"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
Download the APK from [picoclaw.io](https://picoclaw.io/download/) and install directly. No Termux required!
|
|
|
|
**Option 2: Termux**
|
|
|
|
<details>
|
|
<summary><b>Terminal Launcher (for resource-constrained environments)</b></summary>
|
|
|
|
1. Install [Termux](https://github.com/termux/termux-app) (download from [GitHub Releases](https://github.com/termux/termux-app/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.
|
|
|
|
<img src="assets/termux.jpg" alt="PicoClaw on Termux" width="512">
|
|
|
|
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
|
|
```
|
|
|
|
</details>
|
|
|
|
## 🔌 Providers (LLM)
|
|
|
|
PicoClaw supports 30+ LLM providers through the `model_list` configuration. Use the `protocol/model` format:
|
|
|
|
| Provider | Protocol | API Key | Notes |
|
|
|----------|----------|---------|-------|
|
|
| [OpenAI](https://platform.openai.com/api-keys) | `openai/` | Required | GPT-5.4, GPT-4o, o3, etc. |
|
|
| [Anthropic](https://console.anthropic.com/settings/keys) | `anthropic/` | Required | Claude Opus 4.6, Sonnet 4.6, etc. |
|
|
| [Google Gemini](https://aistudio.google.com/apikey) | `gemini/` | Required | Gemini 3 Flash, 2.5 Pro, etc. |
|
|
| [OpenRouter](https://openrouter.ai/keys) | `openrouter/` | Required | 200+ models, unified API |
|
|
| [Zhipu (GLM)](https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys) | `zhipu/` | Required | GLM-4.7, GLM-5, etc. |
|
|
| [DeepSeek](https://platform.deepseek.com/api_keys) | `deepseek/` | Required | DeepSeek-V3, DeepSeek-R1 |
|
|
| [Volcengine](https://console.volcengine.com) | `volcengine/` | Required | Doubao, Ark models |
|
|
| [Qwen](https://dashscope.console.aliyun.com/apiKey) | `qwen/` | Required | Qwen3, Qwen-Max, etc. |
|
|
| [Groq](https://console.groq.com/keys) | `groq/` | Required | Fast inference (Llama, Mixtral) |
|
|
| [Moonshot (Kimi)](https://platform.moonshot.cn/console/api-keys) | `moonshot/` | Required | Kimi models |
|
|
| [Minimax](https://platform.minimaxi.com/user-center/basic-information/interface-key) | `minimax/` | Required | MiniMax models |
|
|
| [Mistral](https://console.mistral.ai/api-keys) | `mistral/` | Required | Mistral Large, Codestral |
|
|
| [NVIDIA NIM](https://build.nvidia.com/) | `nvidia/` | Required | NVIDIA hosted models |
|
|
| [Cerebras](https://cloud.cerebras.ai/) | `cerebras/` | Required | Fast inference |
|
|
| [Novita AI](https://novita.ai/) | `novita/` | Required | Various open models |
|
|
| [Xiaomi MiMo](https://platform.xiaomimimo.com/) | `mimo/` | Required | MiMo models |
|
|
| [Ollama](https://ollama.com/) | `ollama/` | Not needed | Local models, self-hosted |
|
|
| [vLLM](https://docs.vllm.ai/) | `vllm/` | Not needed | Local deployment, OpenAI-compatible |
|
|
| [LiteLLM](https://docs.litellm.ai/) | `litellm/` | Varies | Proxy for 100+ providers |
|
|
| [Azure OpenAI](https://portal.azure.com/) | `azure/` | Required | Enterprise Azure deployment |
|
|
| [GitHub Copilot](https://github.com/features/copilot) | `github-copilot/` | OAuth | Device code login |
|
|
| [Antigravity](https://console.cloud.google.com/) | `antigravity/` | OAuth | Google Cloud AI |
|
|
| [AWS Bedrock](https://console.aws.amazon.com/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.
|
|
|
|
<details>
|
|
<summary><b>Local deployment (Ollama, vLLM, etc.)</b></summary>
|
|
|
|
**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](docs/guides/providers.md).
|
|
|
|
</details>
|
|
|
|
## 💬 Channels (Chat Apps)
|
|
|
|
Talk to your PicoClaw through 19+ messaging platforms:
|
|
|
|
| Channel | Setup | Protocol | Docs |
|
|
|---------|-------|----------|------|
|
|
| **Telegram** | Easy (bot token) | Long polling | [Guide](docs/channels/telegram/README.md) |
|
|
| **Discord** | Easy (bot token + intents) | WebSocket | [Guide](docs/channels/discord/README.md) |
|
|
| **WhatsApp** | Easy (QR scan or bridge URL) | Native / Bridge | [Guide](docs/guides/chat-apps.md#whatsapp) |
|
|
| **Weixin** | Easy (Native QR scan) | iLink API | [Guide](docs/guides/chat-apps.md#weixin) |
|
|
| **QQ** | Easy (AppID + AppSecret) | WebSocket | [Guide](docs/channels/qq/README.md) |
|
|
| **Slack** | Easy (bot + app token) | Socket Mode | [Guide](docs/channels/slack/README.md) |
|
|
| **Matrix** | Medium (homeserver + token) | Sync API | [Guide](docs/channels/matrix/README.md) |
|
|
| **DingTalk** | Medium (client credentials) | Stream | [Guide](docs/channels/dingtalk/README.md) |
|
|
| **Feishu / Lark** | Medium (App ID + Secret) | WebSocket/SDK | [Guide](docs/channels/feishu/README.md) |
|
|
| **LINE** | Medium (credentials + webhook) | Webhook | [Guide](docs/channels/line/README.md) |
|
|
| **WeCom** | Easy (QR login or manual) | WebSocket | [Guide](docs/channels/wecom/README.md) |
|
|
| **VK** | Easy (group token) | Long Poll | [Guide](docs/channels/vk/README.md) |
|
|
| **IRC** | Medium (server + nick) | IRC protocol | [Guide](docs/guides/chat-apps.md#irc) |
|
|
| **OneBot** | Medium (WebSocket URL) | OneBot v11 | [Guide](docs/channels/onebot/README.md) |
|
|
| **MQTT** | Easy (broker + agent_id) | MQTT pub/sub | [Guide](docs/channels/mqtt/README.md) |
|
|
| **MaixCam** | Easy (enable) | TCP socket | [Guide](docs/channels/maixcam/README.md) |
|
|
| **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](docs/guides/configuration.md#gateway-log-level) for details.
|
|
|
|
For detailed channel setup instructions, see [Chat Apps Configuration](docs/guides/chat-apps.md).
|
|
|
|
## 🔧 Tools
|
|
|
|
### 🔍 Web Search
|
|
|
|
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](https://aistudio.google.com/apikey) | Required | Varies | Gemini with Google Search grounding |
|
|
| [Baidu Search](https://cloud.baidu.com/doc/qianfan-api/s/Wmbq4z7e5) | Required | 1500/month (daily allocation) | AI-powered, China-optimized |
|
|
| [Tavily](https://tavily.com) | Required | 1000 queries/month | Optimized for AI Agents |
|
|
| [Brave Search](https://brave.com/search/api) | Required | 2000 queries/month | Fast and private |
|
|
| [Perplexity](https://www.perplexity.ai) | Required | Paid | AI-powered search |
|
|
| [SearXNG](https://github.com/searxng/searxng) | Not needed | Self-hosted | Free metasearch engine |
|
|
| [GLM Search](https://open.bigmodel.cn/) | Required | Varies | Zhipu web search |
|
|
|
|
### ⚙️ Other Tools
|
|
|
|
PicoClaw includes built-in tools for file operations, code execution, scheduling, and more. See [Tools Configuration](docs/reference/tools_configuration.md) 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](docs/reference/tools_configuration.md#skills-tool).
|
|
|
|
## 🔗 MCP (Model Context Protocol)
|
|
|
|
PicoClaw natively supports [MCP](https://modelcontextprotocol.io/) — 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](docs/reference/tools_configuration.md#mcp-tool). For CLI usage and examples, see [MCP Server CLI](docs/reference/mcp-cli.md).
|
|
|
|
## <img src="assets/clawdchat-icon.png" width="24" height="24" alt="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](https://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](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](docs/guides/docker.md) | Docker Compose setup, Launcher/Agent modes |
|
|
| [Chat Apps](docs/guides/chat-apps.md) | All 18+ channel setup guides |
|
|
| [Configuration](docs/guides/configuration.md) | Environment variables, workspace layout, security sandbox |
|
|
| [MCP Server CLI](docs/reference/mcp-cli.md) | Add, list, test, edit, and remove MCP server entries from the CLI |
|
|
| [Scheduled Tasks and Cron Jobs](docs/reference/cron.md) | Cron schedule types, deliver modes, command gates, job storage |
|
|
| [Providers & Models](docs/guides/providers.md) | 30+ LLM providers, model routing, model_list configuration |
|
|
| [Spawn & Async Tasks](docs/guides/spawn-tasks.md) | Quick tasks, long tasks with spawn, async sub-agent orchestration |
|
|
| [Hooks](docs/architecture/hooks/README.md) | Event-driven hook system: observers, interceptors, approval hooks |
|
|
| [Steering](docs/architecture/steering.md) | Inject messages into a running agent loop between tool calls |
|
|
| [SubTurn](docs/architecture/subturn.md) | Subagent coordination, concurrency control, lifecycle |
|
|
| [Troubleshooting](docs/operations/troubleshooting.md) | Common issues and solutions |
|
|
| [Tools Configuration](docs/reference/tools_configuration.md) | Per-tool enable/disable, exec policies, MCP, Skills |
|
|
| [Hardware Compatibility](docs/guides/hardware-compatibility.md) | Tested boards, minimum requirements |
|
|
|
|
## 🤝 Contribute & Roadmap
|
|
|
|
PRs welcome! The codebase is intentionally small and readable.
|
|
|
|
See our [Community Roadmap](https://github.com/sipeed/picoclaw/issues/988) and [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
|
|
Developer group building, join after your first merged PR!
|
|
|
|
User Groups:
|
|
|
|
Discord: <https://discord.gg/V4sAZ9XWpN>
|
|
|
|
WeChat:
|
|
<img src="assets/wechat.png" alt="WeChat group QR code" width="512">
|