Picoclaw Ai Assistant

作者 reason-machines2384a003145a無授權條款83 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫3 個月前更新

Ultra-lightweight AI assistant in Go that runs on $10 hardware with <10MB RAM, supporting multiple LLM providers, tools, and single-binary deployment across RISC-V, ARM, MIPS, and x86.

AI 產生的概覽

指導在小型 Linux 與嵌入式裝置上安裝、設定並執行輕量級 Go AI 助理 PicoClaw。

功能
此技能提供安裝與操作 PicoClaw 的說明,PicoClaw 是以 Go 撰寫的超輕量個人 AI 助理。內容涵蓋下載預編譯二進位檔、從原始碼建置、Docker Compose 設定、Termux 使用方式,以及編輯 config.json 來設定模型、代理預設值與網頁搜尋工具。也包含交叉編譯指令、硬體目標參考與疑難排解步驟。
適用情境
適用於在 Raspberry Pi、LicheeRV-Nano 或透過 Termux 的 Android 等低資源硬體上部署或設定 PicoClaw。也適用於新增 LLM 供應商、啟用網頁搜尋工具或在 Docker 中執行 PicoClaw。
執行需求
需要 PicoClaw 二進位檔,或從原始碼建置所需的 Go 工具鏈與 make,容器使用還需 Docker 與 Docker Compose。需要 LLM 供應商(OpenAI、Anthropic、Volcengine)的 API 金鑰,可選 Tavily 或 Brave Search,並透過環境變數引用。下載與 API 呼叫需要網路存取;此技能未附帶指令碼。

PicoClaw AI Assistant

Skill by ara.so — Daily 2026 Skills collection.

PicoClaw is an ultra-lightweight personal AI assistant written in Go. It runs on $10 hardware with under 10MB RAM and boots in under 1 second. It supports multiple LLM providers (OpenAI-compatible, Anthropic, Volcengine), optional web search tools, and deploys as a single self-contained binary on x86_64, ARM64, MIPS, and RISC-V Linux devices.


Installation

Precompiled Binary

Download from the releases page:

bash
# Linux ARM64 (Raspberry Pi, LicheeRV-Nano, etc.)wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64chmod +x picoclaw-linux-arm64./picoclaw-linux-arm64 onboard

Build from Source

bash
git clone https://github.com/sipeed/picoclaw.gitcd picoclaw
# Install dependenciesmake deps
# Build for current platformmake build
# Build for all platformsmake build-all
# Raspberry Pi Zero 2 W — 32-bitmake build-linux-arm      # → build/picoclaw-linux-arm
# Raspberry Pi Zero 2 W — 64-bitmake build-linux-arm64    # → build/picoclaw-linux-arm64
# Build both Pi Zero variantsmake build-pi-zero
# Build and install to system PATHmake install

Docker Compose

bash
git clone https://github.com/sipeed/picoclaw.gitcd picoclaw
# First run — generates docker/data/config.json then exitsdocker compose -f docker/docker-compose.yml --profile gateway up
# Edit configvim docker/data/config.json
# Start in backgrounddocker compose -f docker/docker-compose.yml --profile gateway up -d
# View logsdocker compose -f docker/docker-compose.yml logs -f picoclaw-gateway
# Stopdocker compose -f docker/docker-compose.yml --profile gateway down
Docker: Web Console (Launcher Mode)
bash
docker compose -f docker/docker-compose.yml --profile launcher up -d# Open http://localhost:18800
Docker: One-shot Agent Mode
bash
# Single questiondocker compose -f docker/docker-compose.yml run --rm picoclaw-agent -m "What is 2+2?"
# Interactive sessiondocker compose -f docker/docker-compose.yml run --rm picoclaw-agent
Docker: Expose Gateway to Host

If the gateway needs to be reachable from the host, set:

bash
PICOCLAW_GATEWAY_HOST=0.0.0.0 docker compose -f docker/docker-compose.yml --profile gateway up -d

Or set PICOCLAW_GATEWAY_HOST=0.0.0.0 in docker/data/config.json.

Termux (Android)

bash
pkg install wget prootwget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64chmod +x picoclaw-linux-arm64termux-chroot ./picoclaw-linux-arm64 onboard

Quick Start

1. Initialize

bash
picoclaw onboard

This creates ~/.picoclaw/config.json with a starter configuration.

2. Configure ~/.picoclaw/config.json

json
{  "agents": {    "defaults": {      "workspace": "~/.picoclaw/workspace",      "model_name": "gpt-4o",      "max_tokens": 8192,      "temperature": 0.7,      "max_tool_iterations": 20    }  },  "model_list": [    {      "model_name": "gpt-4o",      "model": "openai/gpt-4o",      "api_key": "$OPENAI_API_KEY",      "request_timeout": 300    },    {      "model_name": "claude-sonnet",      "model": "anthropic/claude-sonnet-4-5",      "api_key": "$ANTHROPIC_API_KEY"    },    {      "model_name": "ark-code",      "model": "volcengine/ark-code-latest",      "api_key": "$VOLCENGINE_API_KEY",      "api_base": "https://ark.cn-beijing.volces.com/api/coding/v3"    }  ],  "tools": {    "web": {      "brave": {        "enabled": false,        "api_key": "$BRAVE_API_KEY"      },      "tavily": {        "enabled": false,        "api_key": "$TAVILY_API_KEY"      }    }  }}

Never hard-code API keys. Reference environment variables using $VAR_NAME notation in config, or set them in your shell environment before launch.

3. Run

bash
# Interactive chatpicoclaw
# Single messagepicoclaw -m "Summarize the latest Go release notes"
# Use a specific modelpicoclaw -model claude-sonnet -m "Refactor this function for clarity"

Key CLI Commands

CommandDescription
picoclaw onboardInitialize config and workspace
picoclawStart interactive chat session
picoclaw -m "..."Send a single message and exit
picoclaw -model <name>Override the default model
picoclaw -config <path>Use a custom config file

Configuration Reference

Model Entry Fields

json
{  "model_name": "my-model",        // Alias used in -model flag and agent defaults  "model": "provider/model-id",    // Provider-prefixed model identifier  "api_key": "$ENV_VAR",           // API key — use env var reference  "api_base": "https://...",       // Optional: override base URL (for self-hosted or regional endpoints)  "request_timeout": 300           // Optional: seconds before timeout}

Supported Provider Prefixes

PrefixProvider
openai/OpenAI and OpenAI-compatible APIs
anthropic/Anthropic Claude
volcengine/Volcengine (Ark)

Agent Defaults

json
"agents": {  "defaults": {    "workspace": "~/.picoclaw/workspace",  // Working directory for file operations    "model_name": "gpt-4o",                // Default model alias    "max_tokens": 8192,                    // Max response tokens    "temperature": 0.7,                    // Sampling temperature    "max_tool_iterations": 20              // Max agentic tool-call loop iterations  }}

Web Search Tools

Get free API keys:

json
"tools": {  "web": {    "tavily": {      "enabled": true,      "api_key": "$TAVILY_API_KEY"    },    "brave": {      "enabled": false,      "api_key": "$BRAVE_API_KEY"    }  }}

Only enable one search provider at a time unless you want fallback behavior.


Common Patterns

Pattern: Minimal $10 Device Setup

For a LicheeRV-Nano or similar ultra-low-resource board:

bash
# Download the RISC-V or ARM binary from releaseswget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-riscv64chmod +x picoclaw-linux-riscv64
# Initialize./picoclaw-linux-riscv64 onboard
# Edit config — use a lightweight model, low max_tokenscat > ~/.picoclaw/config.json << 'EOF'{  "agents": {    "defaults": {      "workspace": "~/.picoclaw/workspace",      "model_name": "gpt-4o-mini",      "max_tokens": 2048,      "temperature": 0.5,      "max_tool_iterations": 10    }  },  "model_list": [    {      "model_name": "gpt-4o-mini",      "model": "openai/gpt-4o-mini",      "api_key": "$OPENAI_API_KEY",      "request_timeout": 120    }  ]}EOF
./picoclaw-linux-riscv64

Pattern: Full-Stack Dev Assistant with Web Search

json
{  "agents": {    "defaults": {      "workspace": "~/projects",      "model_name": "claude-sonnet",      "max_tokens": 8192,      "temperature": 0.3,      "max_tool_iterations": 30    }  },  "model_list": [    {      "model_name": "claude-sonnet",      "model": "anthropic/claude-sonnet-4-5",      "api_key": "$ANTHROPIC_API_KEY",      "request_timeout": 600    }  ],  "tools": {    "web": {      "tavily": {        "enabled": true,        "api_key": "$TAVILY_API_KEY"      }    }  }}

Pattern: Docker with Environment Variables

yaml
# docker/docker-compose.override.ymlservices:  picoclaw-gateway:    environment:      - OPENAI_API_KEY=${OPENAI_API_KEY}      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}      - TAVILY_API_KEY=${TAVILY_API_KEY}      - PICOCLAW_GATEWAY_HOST=0.0.0.0
bash
export OPENAI_API_KEY=sk-...export ANTHROPIC_API_KEY=sk-ant-...docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile gateway up -d

Pattern: Build for a Specific Target in Go

bash
# Cross-compile for MIPS (OpenWRT routers)GOOS=linux GOARCH=mips GOMIPS=softfloat go build -o build/picoclaw-linux-mips ./cmd/picoclaw
# Cross-compile for 32-bit ARM (older Raspberry Pi)GOOS=linux GOARCH=arm GOARM=7 go build -o build/picoclaw-linux-arm ./cmd/picoclaw
# Cross-compile for RISC-V 64-bitGOOS=linux GOARCH=riscv64 go build -o build/picoclaw-linux-riscv64 ./cmd/picoclaw

Troubleshooting

Binary won't execute on device

bash
# Verify the binary matches the device architecturefile picoclaw-linux-arm64uname -m   # Should match: aarch64 = arm64, x86_64 = amd64
# Ensure executable permissionchmod +x picoclaw-linux-arm64

"Permission denied" on Termux

Termux requires proot for some system calls:

bash
pkg install proottermux-chroot ./picoclaw-linux-arm64 onboard

API key not recognized

  • Do not use "api_key": "sk-..." literals in config — set env vars and reference them as "$OPENAI_API_KEY".
  • Verify the env var is exported in your current shell: echo $OPENAI_API_KEY.

Docker gateway not reachable from host

Set PICOCLAW_GATEWAY_HOST=0.0.0.0 in the environment or in config.json before starting the container.

High memory usage in recent versions

The project notes that recent PRs may push RAM usage to 10–20MB. If this is a concern on ultra-low-memory devices, pin to an earlier release tag:

bash
git checkout v0.1.1make build

Config file location

Default: ~/.picoclaw/config.json

Override at runtime:

bash
picoclaw -config /path/to/custom-config.json

Rebuild after dependency changes

bash
cd picoclawmake depsmake build

Hardware Targets Quick Reference

DevicePriceBinary
LicheeRV-Nano (E/W)~$10picoclaw-linux-riscv64
NanoKVM~$30–50picoclaw-linux-riscv64
MaixCAM / MaixCAM2~$50–100picoclaw-linux-arm64
Raspberry Pi Zero 2 W (32-bit OS)~$15picoclaw-linux-arm
Raspberry Pi Zero 2 W (64-bit OS)~$15picoclaw-linux-arm64
Android via Termux—picoclaw-linux-arm64
Standard Linux x86_64—picoclaw-linux-amd64

來源與署名

來源:reason-machines/trending-skills位於skills/picoclaw-ai-assistant提交2384a00

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架