📍 无忆研习社 › 开源解码 › PicoClaw:用不到 10 美元硬件跑起来的超轻量 AI 智能体,全流程部署拆解

PicoClaw:用不到 10 美元硬件跑起来的超轻量 AI 智能体,全流程部署拆解

摘要:PicoClaw是一款超轻量级AI智能体运行框架,使用Go语言重构,内存占用不到10MB,可运行在树莓派、旧手机等低成本硬件上。它支持多平台接入、工具调用和联网搜索,是部署24小时在线AI助手的低门槛方案。
字号 100%
行距 2.05
当前可见 60% 的内容
莫潇羽@无忆研习社(www.wuyi.wiki)原创内容,转载请注明出处。

快速摘要

PicoClaw 是由矽速科技(Sipeed)开源的一款超轻量级 AI 智能体运行框架,使用 Go 语言从零重构,整个程序打包为单个二进制文件,内存占用不到 10MB,可以运行在 LicheeRV-Nano、树莓派、旧手机甚至路由器等极低成本硬件上。 它保留了 AI Agent 的核心三要素——感知、思考、行动,支持 Telegram、Discord、QQ、钉钉等多渠道接入,同时具备工具调用、语音识别和联网搜索能力。如果你一直想在家里部署一个 24 小时在线的 AI 助手,却苦于硬件成本和资源占用,那 PicoClaw 可能是目前门槛极低的方案之一。 往下看,莫潇羽将从项目原理、架构设计、硬件选型到完整部署流程,给你做一次详细拆解。


为什么需要一个"极致轻量"的 AI Agent

传统方案的痛点

在 AI Agent(智能体)领域,不少开源项目已经做到了相当完善的功能覆盖。但很多主流框架都面临一些共性问题:

  • 依赖链条过长:以 TypeScript 和 Python 为主的技术栈,往往需要安装大量的运行时环境和依赖包。一个 node_modules 文件夹动辄几百兆,Python 的虚拟环境配置也让不少人头疼。
  • 内存占用偏高:运行一个完整的 Agent 框架,通常需要数百兆甚至数 GB 的内存。对于想在低功耗设备上跑 Agent 的开发者来说,这是一个硬性门槛。
  • 冷启动时间长:从执行命令到服务真正就绪,可能要等十几秒甚至更久。在嵌入式场景或者需要快速响应的场景下,这样的启动延迟是不可接受的。
  • 跨平台部署繁琐:不同的 CPU 架构(x86、ARM、RISC-V)之间的迁移,往往需要重新处理依赖兼容性问题。

莫潇羽在无忆研习社也测试过几个主流的开源 Agent 框架,实际体验下来,想要在一台树莓派 3B 上流畅运行一个完整的 Agent,确实是一件相当困难的事情。

边缘 AI 的趋势

近年来,"边缘 AI(Edge AI)"的概念正在被越来越多地讨论。简单来说,边缘 AI 的核心思路是:把 AI 的推理计算放在云端大模型 API 上完成,把控制逻辑和运行框架放在本地轻量设备上执行。

这种架构有几个明显的好处:

  • 本地设备只需要负责"调度"和"通信",不需要真正跑大模型推理,硬件门槛大幅降低。
  • 7×24 小时运行的功耗极低,一块 5V/1A 的电源适配器就够用了。
  • 数据流转和控制权掌握在自己手中,隐私性相对更好。

PicoClaw 正是这一思路的典型实践。它不在本地做任何大模型推理,而是将推理请求通过 API 转发给云端大模型,自己只负责"接收指令 → 调用工具 → 返回结果"这条控制链路。


PicoClaw 是什么

PicoClaw 是矽速科技(Sipeed)开源的一款超轻量级 AI Agent 框架,项目托管在 GitHub 上:

项目地址:https://github.com/sipeed/picoclaw

从技术定位上看,PicoClaw 属于 AI Agent 的"运行时(Runtime)"层——它本身不包含大语言模型,而是作为一个高效的控制中枢,连接用户输入、大模型 API 和各类工具。

核心定位

用一句话概括:PicoClaw 是一个能跑在"电子垃圾"上的 AI Agent 微内核。

这里的"电子垃圾"并非贬义,而是指那些你可能已经闲置了的老旧硬件——几年前买的树莓派、刷了 Linux 的旧手机、几十块的开发板等等。PicoClaw 的设计目标就是让这些设备重新焕发生命力。

数据对比

为了让大家直观地理解 PicoClaw 的轻量程度,莫潇羽@无忆研习社 整理了一组核心指标的对比:

指标

传统 Agent 框架(参考值)

PicoClaw

内存占用

500MB - 2GB+

< 10MB

启动时间

10-30 秒

< 1 秒(0.6GHz 单核)

部署文件

数百 MB(含依赖)

单个二进制文件(数 MB)

最低硬件成本

Mac mini 级别

~10 美元

跨平台支持

需要适配

原生支持 RISC-V/ARM/x86

语言栈

TypeScript/Python

Go

内存占用减少了约 99%,启动速度提升了约 400 倍。这不是简单的"优化",而是技术栈层面的彻底重构。


技术架构深度解析

为什么选择 Go 语言

PicoClaw 从零开始使用 Go 语言重构,这个技术决策本身就值得深入分析。莫潇羽认为,Go 语言在这个场景下有几个不可替代的优势:

第一,单二进制文件编译。 Go 的编译器默认会将所有依赖静态链接到一个二进制文件中。这意味着部署时不需要安装任何运行时环境——没有 Node.js,没有 Python 解释器,没有 pip install,没有 npm install。把编译好的文件通过 scp 拷贝到目标设备上,给个执行权限,直接运行。这在嵌入式场景下的价值是巨大的。

第二,卓越的内存效率。 Go 的运行时(goroutine 调度器 + GC)本身非常轻量。一个 goroutine 的初始栈大小只有几 KB,相比之下,一个系统线程通常需要几 MB 的栈空间。这使得 Go 程序可以在极低的内存环境下高效运行并发任务。

第三,原生跨平台交叉编译。 Go 的工具链原生支持交叉编译,只需要设置 GOOS 和 GOARCH 两个环境变量,就可以在一台 x86 的开发机上编译出 ARM 或 RISC-V 架构的二进制文件。例如:

# 在 x86 机器上编译 ARM 架构的二进制文件
GOOS=linux GOARCH=arm GOARM=7 go build -o picoclaw-arm

# 编译 RISC-V 架构的二进制文件
GOOS=linux GOARCH=riscv64 go build -o picoclaw-riscv64

# 编译 x86_64 架构的二进制文件
GOOS=linux GOARCH=amd64 go build -o picoclaw-amd64

这些命令可以在几秒钟内完成,不需要安装额外的交叉编译工具链。

第四,高效的并发模型。 AI Agent 的工作流程天然适合并发处理:同时监听多个消息渠道、并行调用多个工具、异步等待 API 响应。Go 的 goroutine + channel 模型让这些并发逻辑的实现既简洁又高效。

Agent 的三要素架构

PicoClaw 虽然轻量,但严格遵循了 AI Agent 的经典三要素架构——感知(Perception)、思考(Reasoning)、行动(Action)。下面莫潇羽分别拆解每个模块的实现原理。

感知层:多渠道接入

感知层负责"接收信息"。PicoClaw 采用了统一的消息抽象接口,将来自不同平台的消息格式统一化处理。目前支持的渠道包括:

  • Telegram:通过 Telegram Bot API 接入,适合海外用户和开发者。
  • Discord:通过 Discord Bot API 接入,适合社区场景。
  • QQ:通过 QQ 开放平台接入,适合国内用户的日常沟通。
  • 钉钉:通过钉钉机器人接口接入,适合团队协作场景。

每个渠道的接入逻辑被封装为独立的 Gateway 模块,遵循统一的接口规范。这意味着如果你需要接入一个新的平台(比如飞书或者企业微信),只需要实现对应的 Gateway 适配器即可,核心逻辑不需要改动。

这种设计模式在软件工程中叫做"适配器模式(Adapter Pattern)",它的好处是让系统具备良好的可扩展性。

在语音感知方面,PicoClaw 接入了 Groq 的 Whisper 语音识别服务。当用户发送语音消息时,PicoClaw 会将音频文件转发给 Groq API,获取转写后的文本,然后再交给大模型处理。这让你可以直接对着手机说话来操控你的 AI Agent。

思考层:大模型 API 调用

思考层是 Agent 的"大脑"。PicoClaw 本身不运行任何大语言模型——它的策略是将推理任务完全委托给云端大模型 API。

从配置文件中可以看到,PicoClaw 支持通过 OpenRouter 等聚合平台接入多种大模型。默认配置中使用的模型标识为 glm-4.7,当然你也可以替换为其他兼容 OpenAI API 格式的模型服务。

{
  "agents": {
    "defaults": {
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  }
}

这里几个关键参数的含义:

  • model:指定使用的大语言模型标识。你可以根据自己的需求和预算选择不同的模型。
  • max_tokens:单次对话中模型生成的最大 token 数量。8192 是一个比较合理的默认值,足以应对大多数对话场景。
  • temperature:生成随机性参数。0.7 表示适度的创造性,你可以调低到 0.1-0.3 来获得更确定性的回答,或者调高到 0.9 以上来获得更发散的回答。
  • max_tool_iterations:工具调用的最大迭代次数。设为 20 意味着 Agent 在一次对话中最多可以连续调用 20 次工具。这是一个安全限制,防止 Agent 陷入无限循环。

这种"本地控制 + 云端推理"的架构,正是 PicoClaw 能够将内存占用压缩到 10MB 以下的根本原因。大模型推理是 AI 系统中最耗资源的环节,把它交给云端处理后,本地只需要维护一个轻量的 HTTP 客户端和消息队列即可。

行动层:工具调用系统

行动层负责"执行操作"。一个只会聊天的 Bot 并不是真正的 Agent——Agent 的核心价值在于它能够"做事"。

PicoClaw 内置了以下核心工具能力:

  • Shell 命令执行:Agent 可以在宿主设备上执行 Shell 命令。这意味着你可以通过聊天指令让 Agent 查看系统状态、管理文件、执行脚本等等。
  • 文件读写:Agent 可以读取和写入文件系统中的文件。结合 Shell 命令,你可以让 Agent 帮你编辑配置文件、生成报告、整理数据。
  • 联网搜索:通过接入 Brave Search API,Agent 可以实时搜索互联网上的信息。这让它不再局限于大模型的训练数据,而是能够获取最新的信息。
  • 语音转文字:通过 Groq 的 Whisper 服务,Agent 可以处理语音输入。
  • Skills 技能系统:PicoClaw 还支持技能(Skills)的安装和扩展,你可以为它添加自定义的工具和能力。

值得注意的是,Shell 命令执行这个能力需要谨慎对待。莫潇羽@无忆研习社提醒大家,在生产环境中部署时,一定要做好权限隔离,建议使用非 root 用户运行 PicoClaw,并通过 Linux 的权限机制限制它能够访问的目录和命令范围。

"AI 自引导"的开发模式

PicoClaw 的 README 中提到了一个有趣的细节:项目核心代码的 95% 是由 AI Agent 自主生成的,人类开发者主要负责架构设计和代码审查。

这是一种被称为"AI 自引导(AI-Bootstrapped)"的开发模式。具体来说,开发团队先用 AI Agent 分析了现有 Agent 框架的架构和代码,然后让 Agent 按照 Go 语言的最佳实践重新生成核心逻辑代码。人类开发者在这个过程中扮演"架构师 + 审查者"的角色,负责把控方向、审查代码质量、处理边界情况。

这种开发模式在开源社区中正变得越来越普遍。它的优势在于可以快速完成大量重复性的编码工作,让人类开发者把精力集中在更高层次的设计决策上。


硬件选型指南

PicoClaw 最吸引人的特性之一就是它对硬件要求极低。莫潇羽为大家整理了几种典型的硬件方案,帮助不同需求的读者找到适合自己的选择。

极致性价比方案:LicheeRV-Nano

LicheeRV-Nano 是矽速科技自家出品的一款超小型 RISC-V 开发板,售价约 9.9 美元(折合人民币约 70 元左右)。

它的核心参数:

  • CPU:RISC-V 架构,主频 1GHz
  • 内存:64MB DDR
  • 存储:支持 MicroSD 卡
  • 网络:板载以太网或可选 WiFi
  • 尺寸:约 25mm × 21mm,比一枚硬币大不了多少

64MB 的内存对于 PicoClaw 来说绰绰有余——PicoClaw 只需要不到 10MB。这意味着你还有超过 50MB 的内存空间来运行其他服务。

这个方案适合追求极致性价比、有一定嵌入式开发基础的开发者。

入门友好方案:树莓派

树莓派(Raspberry Pi)是嵌入式社区最知名的开发板之一,社区生态完善,文档丰富,非常适合小白入门。

即使是最老的树莓派 3B,也有 1GB 的内存和四核 ARM 处理器,运行 PicoClaw 完全不在话下。如果你手头已经有一块闲置的树莓派,那直接拿来用就好。

树莓派的优势在于生态成熟——你遇到的绝大多数问题,都能在社区论坛上找到答案。对于第一次接触嵌入式设备的读者,莫潇羽推荐从树莓派开始。

零成本方案:旧手机刷 Linux

如果你有一台已经淘汰的安卓手机,可以考虑用它来运行 PicoClaw。通过 Termux 或者刷入 Linux 发行版,旧手机可以变成一台迷你 Linux 服务器。

大多数几年前的手机都有至少 2-4GB 的内存和多核处理器,硬件性能远超 PicoClaw 的最低要求。而且手机自带电池,在断电情况下还能继续运行一段时间,算是一个天然的 UPS。

不过这个方案有一些注意事项:

  • 手机的散热不如专门的开发板,长时间满负荷运行可能会有温度问题。
  • 不同手机型号的 Linux 适配程度不同,可能需要额外的折腾。
  • 建议使用 Termux 方案,兼容性相对最好。

其他可选硬件

PicoClaw 还可以运行在以下设备上:

  • NanoKVM:矽速科技的另一款产品,主打远程 KVM 控制。
  • MaixCAM:带摄像头的 AI 开发板,适合需要视觉感知的场景。
  • 安卓电视盒:刷入 Armbian 后,几十块的电视盒也能变成 Agent 服务器。
  • 路由器:理论上,刷了 OpenWrt 的路由器也可以运行 PicoClaw,但这取决于路由器的 CPU 架构和可用内存。

完整部署教程

下面莫潇羽@无忆研习社 给大家做一个从零开始的完整部署流程讲解。我会尽量把每个步骤都说清楚,让没有服务器运维经验的读者也能跟着操作。

方式一:使用预编译二进制文件(推荐新手)

这是最简单的部署方式,适合大多数用户。

第一步:下载二进制文件。

到 PicoClaw 的 GitHub Release 页面,根据你的设备 CPU 架构下载对应的二进制文件。

下载地址:https://github.com/sipeed/picoclaw/releases

常见的架构对照:

  • x86_64 电脑(包括大多数台式机和笔记本):选择 amd64 版本
  • 树莓派 3B/4B:选择 arm 或 arm64 版本
  • RISC-V 开发板(如 LicheeRV-Nano):选择 riscv64 版本

如果你不确定自己设备的架构,可以在终端中执行以下命令查看:

uname -m

输出结果的对照关系:

  • x86_64 → 下载 amd64 版本
  • aarch64 或 armv7l → 下载 arm64 或 arm 版本
  • riscv64 → 下载 riscv64 版本

第二步:赋予执行权限并移动到系统路径。

# 假设下载的文件名为 picoclaw-linux-amd64
chmod +x picoclaw-linux-amd64

# 重命名为更简洁的名称
mv picoclaw-linux-amd64 picoclaw

# 移动到系统路径(可选,方便全局调用)
sudo mv picoclaw /usr/local/bin/

第三步:初始化配置。

picoclaw onboard

这个命令会在 ~/.picoclaw/ 目录下生成默认的配置文件。初始化完成后,你需要编辑配置文件来填入你的 API 密钥。

方式二:从源码编译

如果你想从源码编译,或者需要对代码做一些自定义修改,可以按照以下步骤操作。

前置要求: 确保你的开发机上安装了 Go 语言环境。Go 的版本建议使用 1.21 或更高版本。

检查 Go 是否已安装:

go version

如果没有安装,可以参考 Go 官方文档进行安装:https://go.dev/doc/install

编译步骤:

# 第一步:克隆项目代码
git clone https://github.com/sipeed/picoclaw.git

# 第二步:进入项目目录
cd picoclaw

# 第三步:安装依赖
make deps

# 第四步:编译
# 只编译当前平台
make build

# 或者编译所有平台(会同时生成 x86、ARM、RISC-V 等多个版本)
make build-all

# 第五步:安装到系统路径(可选)
make install

编译完成后,生成的二进制文件会出现在项目的 build 或 bin 目录下。

如果你需要为不同于当前机器架构的平台编译(交叉编译),Go 的工具链让这件事变得非常简单:

# 示例:在你的开发机上为树莓派编译
GOOS=linux GOARCH=arm64 make build

# 然后通过 scp 把编译好的文件传到树莓派
scp build/picoclaw-linux-arm64 pi@raspberrypi.local:~/picoclaw

方式三:Docker 部署

如果你的设备支持 Docker(比如 x86 服务器或者较新的树莓派 4B),Docker 部署是最省心的方式。

# 第一步:克隆项目代码
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw

# 第二步:配置 API 密钥
cp config/config.example.json config/config.json
vim config/config.json    # 用你喜欢的编辑器打开,填入 API 密钥

# 第三步:构建并启动服务
docker compose --profile gateway up -d

# 第四步:查看运行日志
docker compose logs -f picoclaw-gateway

# 如果需要停止服务
docker compose --profile gateway down

Docker 方式还支持"一次性对话模式",适合快速测试:

# 直接提问
docker compose run --rm picoclaw-agent -m "今天天气怎么样?"

# 交互式对话模式
docker compose run --rm picoclaw-agent

如果你修改了代码或配置,需要重新构建镜像:

docker compose --profile gateway build --no-cache
docker compose --profile gateway up -d

配置文件详解

配置文件是 PicoClaw 运行的核心,位于 ~/.picoclaw/config.json。下面莫潇羽@无忆研习社 逐个字段为大家解释每个配置项的含义和最佳实践。

完整配置文件模板

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "openrouter": {
      "api_key": "你的 API 密钥",
      "api_base": "https://openrouter.ai/api/v1"
    }
  },
  "tools": {
    "web": {
      "search": {
        "api_key": "你的 Brave Search API 密钥",
        "max_results": 5
      }
    }
  },
  "channels": {
    "qq": {
      "enabled": true,
      "app_id": "你的 QQ 机器人 App ID",
      "app_secret": "你的 QQ 机器人 App Secret",
      "allow_from": []
    }
  }
}

agents 配置段

这个部分定义了 Agent 的核心行为参数。

workspace:Agent 的工作目录。Agent 在执行文件操作时,会以这个目录为基准。默认值 ~/.picoclaw/workspace 是一个合理的选择,如果你想把工作目录放到其他位置(比如一个外挂的 U 盘或 NAS 挂载点),可以修改这个路径。

model:指定调用的大语言模型。这里的模型标识取决于你使用的 API 提供商。例如:

  • 如果通过 OpenRouter,可以使用 google/gemma-2-9b-it、meta-llama/llama-3-8b-instruct 等标识。
  • 如果直接对接智谱 AI,可以使用 glm-4 系列模型标识。
  • 如果使用兼容 OpenAI API 格式的国内大模型服务(如通义千问、百川等),填入对应的模型标识即可。

max_tokens:限制模型单次回复的最大 token 数。建议根据使用场景调整:

  • 日常聊天:4096 就够了
  • 需要生成长文本或代码:8192 - 16384
  • 简短问答场景:2048

temperature:控制输出的随机性和创造性。

  • 0.0 - 0.3:输出非常确定,适合需要精确答案的场景(代码生成、数据分析)
  • 0.4 - 0.7:平衡模式,大多数场景推荐
  • 0.8 - 1.0:高创造性,适合头脑风暴、创意写作

max_tool_iterations:Agent 在单次对话中连续调用工具的最大次数。这是一个安全阀门,防止 Agent 因为逻辑错误而无限循环地调用工具。20 次在大多数场景下足够,如果你的使用场景涉及复杂的多步操作,可以适当调高。

providers 配置段

这个部分定义了大模型 API 的连接信息。

PicoClaw 默认支持 OpenRouter 作为 API 聚合层。OpenRouter 的好处是它聚合了多家大模型服务商,你可以用一个 API 密钥访问上百种不同的模型。

如果你更倾向于直接对接某一家大模型服务商,可以将 api_base 修改为对应的 API 地址。只要服务商的 API 格式兼容 OpenAI 的 Chat Completions 接口,PicoClaw 都可以无缝对接。

例如,如果要对接国产的大模型 API 服务:

{
  "providers": {
    "custom": {
      "api_key": "你的 API 密钥",
      "api_base": "https://你的API服务地址/v1"
    }
  }
}

tools 配置段

这个部分定义了 Agent 可以使用的外部工具。

目前配置文件中主要涉及的是联网搜索功能。PicoClaw 使用 Brave Search 作为搜索引

🔒
该内容仅对更高等级社区用户开放
请谨慎解锁时效性强且发布日期较早的文章
单篇解锁后若未显示全文请刷新页面
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布0 篇
文章总数1107 篇
昨日发布1 篇
本月发布31 篇
建站时间456 天
🔍 搜索
站长微语

联系站长

QQ:2805463528
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术应用社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长QQ二维码
AI交流群
AI交流群
仍在路上

那些寒夜里追赶过的方向

那些冷眼下没放弃的理想

一篇一篇写到现在

仍在路上

"不羁放纵爱自由"

—— 致敬 Beyond
持续创作中 莫潇羽 · 无忆研习社
▲