NanoClaw Logo
NanoClaw

NanoClaw 自托管部署:硬件选型与运行成本核算

10分钟阅读

NanoClaw 是 1 个进程、5 个核心文件的自托管个人 AI 助手,官网标注 30.2k GitHub Stars。本文把运行成本拆成三块——硬件选型(Raspberry Pi、迷你主机、家庭实验室、VPS、Windows WSL2)、电费公式,以及 Anthropic API 的按 token 计价算例,并给出 Node.js 20+ 与 Claude Code 前提下的三步部署流程。

NanoClaw 自托管部署:硬件选型与运行成本核算

NanoClaw(基于 Claude Agent SDK 的个人 AI 助手)的架构目标很明确:1 个进程、5 个核心文件、没有微服务。官网标注 30.2k GitHub Stars。

这个规模决定了硬件选型的重点。你不需要为它准备算力,你需要准备的是常开的网络连接、够用的内存,和一个能跑容器的系统。真正的变量是成本:硬件是一次性的,电费是持续的,Anthropic API 是按 token 计费的。

下面把这三项拆开算。

一、动手之前的软件基线

无论最后选哪台机器,前提条件不变:

项目 要求
运行时 Node.js 20+
配置与运维入口 Claude Code(用于 /setup/customize/debug 等)
容器运行时 macOS 可用 Apple Container 或 Docker;Linux 与 Windows WSL2 使用 Docker
模型访问 Anthropic API key,或 Claude Code 的登录凭证
消息通道 WhatsApp 等即时通讯工具

平台支持覆盖 Linux、macOS、Windows WSL2、Docker 与 Raspberry Pi。这五类并不互斥:Raspberry Pi 通常跑 Linux + Docker,Windows 用户通过 WSL2 进入 Linux 环境。

二、选型的真实约束:内存与常开,而不是 CPU

2.1 并发容器数决定内存下限

NanoClaw 的默认上限是最多 3 个并发容器。每个群组按 FIFO 排队,同一群组在同一时刻只处理一个会话。宿主进程本身很轻,内存主要被容器消耗——每个容器里跑的是 Bun 运行时加 Claude Agent SDK 的 agent-runner,会话状态存在 SQLite 中。

按这个模型给出经验值(这是工程建议,不是官方硬性要求):

  • 4 GB:单群组、低频使用,能跑,但没有余量。
  • 8 GB:2–3 个群组加定时任务,比较舒适。
  • 16 GB 及以上:需要在容器内跑浏览器自动化,或同时开多个群组。

2.2 Raspberry Pi 5

官方规格:5V/5A(25W)USB-C 供电;若使用 5V/3A(15W)电源,USB 外设总电流会被限制在 600 mA。官方推荐搭配 27W USB-C 电源,供电不足会触发降频,甚至不稳定。ARM64 架构,Docker 可用。

需要注意的是价格。受内存涨价影响,Raspberry Pi 5 的官方建议零售价在 2025 年底到 2026 年经历了多轮上调,16GB 型号从 $120 升至 $305。这意味着「用 Pi 省钱」这个判断需要重新算一遍:今天一块 8GB 的 Pi 5,成本已经接近入门级 x86 迷你主机。

Pi 的优势依然在功耗和体积,但性价比不再像 2023 年那样压倒性。

2.3 已常开的机器:迷你主机、旧笔记本、家庭实验室服务器

如果你已经有一台 7×24 开着的机器——NAS、家庭服务器、退役笔记本——把它作为首选。边际硬件成本接近 0,你只需要确认三件事:

  1. 能装 Docker(macOS 上可用 Apple Container)。
  2. 有至少 8 GB 内存可以分给容器。
  3. 有稳定的、不会因休眠而断线的网络出口。

以当前 Mac mini 为例,官方规格页给出的最大持续功率是 155W。注意这是上限,不是日常功耗;轻载运行时实际功率远低于此。电费应按实测估算,而不是按标称值。

2.4 VPS

VPS 的账最好算。以 DigitalOcean 的基础 Droplet 为例:1 GiB 内存 $6/月,2 GiB $12/月,4 GiB $24/月,8 GiB $48/月。

但要清楚一个取舍:NanoClaw 的核心卖点之一是把数据留在自有硬件上。放到 VPS 上,进程和 SQLite 数据文件都在别人的机房里,「数据不外流」的诉求被部分削弱。用 VPS 换来的是可用性与公网 IP,不是隐私。

2.5 选型速查

场景 建议
单群组、轻量自动化 4 GB 级 ARM 板,或 2 GiB VPS
2–3 个群组 + 定时任务 8 GB 内存
浏览器自动化 / 多代理 16 GB 起
已有常开的 x86 机器 直接用,边际成本最低
Windows 用户 WSL2 + Docker

三、运行成本核算

3.1 一次性硬件成本

方案 参考成本 说明
Raspberry Pi 5 受内存行情影响,官方 MSRP 已多次上调 另需 27W USB-C 电源、存储卡或 NVMe
迷你主机 / 旧笔记本 已有则接近 0 需留出 8 GB 内存余量
家庭实验室服务器 已有则接近 0 优先选择
VPS 0 转为月租,见 2.4
Mac mini 视配置 最大持续功率 155W

硬件价格随行情波动较快,采购前请以官方或授权渠道的实时报价为准。

3.2 电费

公式很简单:

年电费 = 平均功耗(W) ÷ 1000 × 24 × 365 × 电价(元/kWh)

代入一个算例:假设整机平均功耗 6W、电价 0.6 元/kWh:

0.006 × 8760 × 0.6 ≈ 31.5 元/年

这里的 6W 与 0.6 元/kWh 都是举例用的假设值,既不是对任何设备的实测结论,也不是任何地区的实际电价。要算准,请用功率计实测你的机器,再代入当地电价。

有一个容易搞错的地方:官方给出的 5V/5A 是供电规格上限,不等于实际功耗。电源标称 25W,不代表机器一直在消耗 25W。

3.3 Anthropic API 费用

这是持续成本里最需要关注的一项,因为它随使用量线性增长。官方定价(每百万 token,USD):

模型 输入 输出 缓存读取 缓存写入
Haiku 4.5 $1 $5 $0.10 $1.25
Sonnet 5 $2 $10 $0.20 $2.50
Opus 5 $5 $25 $0.50 $6.25

两个会显著影响账单的机制:

  • Prompt caching:缓存读取按输入价的 0.1× 计费(上表为 5 分钟 TTL 的价格)。个人助手的 CLAUDE.md 记忆与较长上下文会被反复发送,命中缓存后这部分成本大幅下降。
  • Batch API:官方标注可节省 50%,适用于可以异步处理的批量任务。

一个算例。假设每天 30 轮对话,每轮输入 8,000 tokens、输出 600 tokens:

  • 输入:30 × 8,000 = 240,000 tokens = 0.24 MTok
  • 输出:30 × 600 = 18,000 tokens = 0.018 MTok
模型 每日 每月(按 30 天)
Haiku 4.5 0.24×$1 + 0.018×$5 ≈ $0.33 ≈ $10
Sonnet 5 0.24×$2 + 0.018×$10 ≈ $0.66 ≈ $20
Opus 5 0.24×$5 + 0.018×$25 ≈ $1.65 ≈ $50

再强调一次:这是算例,不是套餐,不是承诺,也不是预测。实际消耗取决于对话长度、上下文大小、是否命中缓存以及模型选择;官方定价本身也可能调整,请以 Anthropic 定价页为准。

这是开源项目,使用者需自行承担 Anthropic API、服务器或本地硬件的运行成本。

3.4 第一年总成本对照

方案 硬件 电费 / 月租(首年) API
已有 x86 机器 0 电费,按 3.2 的公式代入 按 3.3 代入
Raspberry Pi 5 按现价采购 电费,通常低于 x86 按 3.3 代入
VPS 2 GiB 0 $144($12 × 12) 按 3.3 代入
VPS 4 GiB 0 $288($24 × 12) 按 3.3 代入

可以看到,在一台 7×24 常开的机器上,API 费用往往是最大的一项,而不是硬件或电费。优化方向因此很明确:选合适的模型、开启 prompt caching、控制上下文长度。

四、部署:三步

第一步:克隆仓库

git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2
cd nanoclaw-v2

第二步:准备配置

准备 Anthropic 凭据(API key 或 Claude Code 登录),并想清楚要挂载哪些目录。这一步直接决定后续的隔离边界:容器只能看到被显式挂载的路径。挂得越少,暴露面越小。敏感目录不要挂。

第三步:由 Claude Code 完成依赖、认证与容器配置

在仓库目录中启动 Claude Code:

claude

然后执行 /setup。它会处理依赖安装、Anthropic 凭证注册、容器镜像构建与首个消息通道配对。仓库的快速开始也提供了等价的一键脚本:

bash nanoclaw.sh

配置完成后,通过消息通道给助手发第一条消息即可。

五、隔离边界:可以承诺什么

NanoClaw 的做法是基于 Apple Container / Docker 的操作系统级容器隔离,每个群组独立容器、文件系统与 Claude 会话,仅能访问显式挂载的目录。bash 命令在容器内执行,不在宿主机上执行;凭据不写入容器。

需要明确的是,这不是「绝对安全」,也没有任何方案配得上这个说法。隔离效果取决于两件事:你挂了哪些目录,以及所用的容器运行时版本是否及时更新。把这两件事管好,比更换任何工具都有效。

六、许可证与同类项目

站点徽章与页脚对许可证给出了两种表述(MIT License 与 Apache 2.0)。具体许可以仓库 LICENSE 文件为准,并以该文件作为法律依据。

与 OpenClaw、PicoClaw、OpenFang 等同类项目相比,可核实的差异集中在四个维度:

  • 代码规模:NanoClaw 的仓库描述称 OpenClaw 有接近 50 万行代码,而 NanoClaw 自身以 1 个进程、5 个核心文件为设计目标。
  • 隔离方式:操作系统级容器隔离,而非应用层权限校验。
  • 模型支持:基于 Claude Agent SDK。
  • 定制方式:没有配置文件堆叠,通过 Claude Code 直接改代码,或用 Skill 按需扩展通道(如 /add-telegram)。

以上都是可以自己打开仓库核对的维度。性能与安全上的强弱取决于具体部署,不适合用一句话概括。

七、上线前检查清单

  • Node.js 20+ 已安装
  • Claude Code 可用
  • 容器运行时就绪(Apple Container 或 Docker)
  • 内存留够:单群组 4 GB 起,多群组 8 GB 起
  • 挂载目录已最小化,敏感目录未挂载
  • 已确认机器不会休眠、网络不会掉线
  • 已确认 API 预算,并考虑开启 prompt caching
  • 已阅读仓库 LICENSE 文件

开始部署

仓库地址:github.com/nanocoai/nanoclaw

View on GitHubhttps://github.com/nanocoai/nanoclaw

Get Started:克隆仓库后运行 bash nanoclaw.sh,或在仓库目录中启动 Claude Code 并执行 /setup