PicoClaw 运维手册
快速启动
从源码构建
# 克隆仓库
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
# 安装依赖
make deps
# 构建
make build
# 输出: build/picoclaw
# 构建并安装到 $GOPATH/bin
make install
首次配置
# 交互式配置向导
picoclaw onboard
# 或手动创建配置
cp config/config.example.json ~/.picoclaw/config.json
vim ~/.picoclaw/config.json # 填入 API Key 和渠道 Token
启动网关
# 前台运行
picoclaw gateway
# 查看状态
picoclaw status
交互式 Agent(CLI 模式)
picoclaw agent
Docker 部署
# 首次运行(生成配置文件)
docker compose -f docker/docker-compose.yml --profile gateway up
# 容器会打印 "First-run setup complete." 然后退出
# 编辑配置
vim docker/data/config.json
# 启动
docker compose -f docker/docker-compose.yml --profile gateway up -d
# 查看日志
docker compose -f docker/docker-compose.yml logs -f picoclaw-gateway
# 停止
docker compose -f docker/docker-compose.yml --profile gateway down
完整版(含 Web UI)
docker compose -f docker/docker-compose.full.yml up -d
交叉编译
# 构建所有平台
make build-all
# 特定平台
make build-linux-arm # ARM 32-bit
make build-linux-arm64 # ARM 64-bit (树莓派 4/5)
make build-linux-mipsle # MIPS Little-Endian
make build-pi-zero # 树莓派 Zero 2 W (ARM + ARM64)
嵌入式设备部署
LicheeRV-Nano ($10 RISC-V)
# 在开发机上交叉编译
GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build -o picoclaw-riscv64 ./cmd/picoclaw
# 传输到设备
scp picoclaw-riscv64 root@licheerv:/usr/local/bin/picoclaw
# 在设备上运行
ssh root@licheerv
picoclaw onboard
picoclaw gateway
Android 手机(Termux)
# 在 Termux 中
wget https://github.com/sipeed/picoclaw/releases/download/v0.2.3/picoclaw-linux-arm64
chmod +x picoclaw-linux-arm64
pkg install proot
termux-chroot ./picoclaw-linux-arm64 onboard
测试
# 运行所有测试
make test
# 完整检查(依赖 + 格式 + vet + 测试)
make check
# Lint
make lint
# Docker 中测试
make docker-test
常见问题排查
1. Gateway 启动失败
# 检查配置文件语法
python3 -c "import json; json.load(open('~/.picoclaw/config.json'))"
# 检查端口占用
lsof -i :18790
# 查看详细日志
PICOCLAW_LOG_LEVEL=debug picoclaw gateway
2. Provider 连接失败
# 测试 API 连通性
curl -H "Authorization: Bearer sk-xxx" https://api.openai.com/v1/models
# 检查代理设置
echo $HTTP_PROXY $HTTPS_PROXY
# 使用 model 命令测试
picoclaw model list
3. 渠道连接问题
# Telegram: 检查 Bot Token
curl https://api.telegram.org/bot<TOKEN>/getMe
# 飞书: 检查 App ID 和 Secret
# 确保 Webhook URL 可达
# 查看渠道状态
picoclaw status
4. 内存占用过高
# 查看进程内存
ps aux | grep picoclaw
# 使用 pprof(如果启用了 health server)
go tool pprof http://localhost:18790/debug/pprof/heap
5. 配置迁移
# 从旧版本迁移配置
picoclaw migrate
# 手动迁移: providers → model_list
# 参考 docs/migration/model-list-migration.md
技能管理
# 列出已安装技能
picoclaw skills list
# 列出内置技能
picoclaw skills list-builtin
# 搜索技能
picoclaw skills search weather
# 安装技能
picoclaw skills install https://github.com/user/skill-repo
# 安装内置技能
picoclaw skills install-builtin weather
# 删除技能
picoclaw skills remove weather
定时任务管理
# 列出定时任务
picoclaw cron list
# 添加定时任务
picoclaw cron add --cron "0 9 * * *" --message "早安提醒"
# 禁用任务
picoclaw cron disable <job-id>
# 启用任务
picoclaw cron enable <job-id>
# 删除任务
picoclaw cron remove <job-id>
发布流程
# 使用 GoReleaser 发布
# 1. 创建 tag
git tag v0.2.4
# 2. 推送 tag(触发 GitHub Actions release workflow)
git push origin v0.2.4
# 或手动触发 workflow
gh workflow run release.yml -f tag=v0.2.4
GoReleaser 会自动:
交叉编译所有平台二进制
构建 Docker 镜像(推送到 GHCR + DockerHub)
创建 GitHub Release
上传到火山引擎 TOS(可选)