跳至内容

NanoClaw 教程:构建轻量的本地优先代理

这份循序渐进的指南将教您在 Windows 上使用 NanoClaw 构建安全的本地 AI 代理,将其连接到 WhatsApp,并直接从聊天中控制一切。
已更新 2026年10月6日  · 10分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

自主型 AI 代理正在改变人们使用软件的方式。您无需在各个应用和工具间来回切换,只需发出一个简单的文本指令,让代理为您完成任务。这可以包括设置提醒、处理电子邮件、支持项目管理,或协助编程与写作等。

像 OpenClaw 这样的工具让这一理念更具可行性。它们展示了当 AI 代理始终在您的笔记本或手机上可用时可以做到什么。同时,更大型的代理系统可能会显得笨重、复杂且难以管理。它们可能带来安全隐患、需要更多设置,并且对于个人本地工作流来说超出了您的实际需求。

这正是 NanoClaw 的用武之地。NanoClaw 是一种更轻量的、本地优先的替代方案,更易于在您自己的机器上运行和试验。它在设计上也考虑了安全性,使用基于 Docker 的隔离来保持环境封闭并保护您的数据。

在本教程中,您将使用 WSL 在 Windows 上设置 NanoClaw,并按步骤准备环境。您将安装所需的系统工具,设置 Node.js,克隆 NanoClaw 仓库,连接身份验证,并在本地运行该项目。

若想了解这两款代理工具的对比,建议阅读我们的 NanoClaw 与 OpenClaw 对比指南。

1. 设置 WSL 和 Linux 环境

在开始之前,您需要一台较新的 Windows 10/11 电脑,支持 WSL 2 和硬件虚拟化,并具备足够的内存(至少 4 GB,最好 8 GB 或以上)和磁盘空间(约 20–30 GB 可用)以运行 Docker Desktop 和 Ubuntu WSL 环境。

首先在 Windows 上安装 WSL。以管理员身份打开 PowerShell 并运行:

wsl --install

安装完成后,必要时重启,然后检查您的设置:

wsl --status

您需要确保发行版运行在 WSL 2 上。这一点很重要,因为 Claude Code 在 Windows 上支持 WSL,并且 Anthropic 表示沙箱在 WSL 2 上可用,而 WSL 1 不受支持。

WSL 就绪后,启动 Ubuntu:

wsl

WSL in windows

在 Ubuntu 中,更新系统并安装基础开发工具:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential curl git wget

这样您就拥有了一个干净的 Linux 环境以及接下来设置所需的核心工具。

2. 安装 Node.js、Docker 和 Claude Code

在安装 NanoClaw 本体之前,您需要先准备它所依赖的工具。

本部分中,您将安装 Node.js 以便项目运行其 JavaScript 工具链,确保 Docker 可在 WSL 内使用,使 NanoClaw 能使用隔离的容器,并安装 Claude Code,后续您将使用它来运行 NanoClaw 的引导式设置。

使用 NVM 安装 Node.js

在 WSL 中安装 Node.js 的最简单方法是使用 NVM(Node 版本管理器)。它能以一种干净且灵活的方式管理 Node 版本,而无需依赖系统包管理器。

在 Ubuntu 终端中运行以下命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
\. "$HOME/.nvm/nvm.sh"
nvm install 24
node -v
npm -v

之后,您应会看到类似如下的输出:

v24.14.1
11.11.0

需要 Node.js 的原因是 NanoClaw 使用基于 JavaScript 的设置与依赖流程。通过 NVM 安装有利于后续维护环境。如果您需要切换版本或重新安装 Node,也不会影响整个 Linux 设置。

确保 Docker 在 WSL 内正常工作

NanoClaw 通过使用基于 Docker 的容器隔离,以更安全和可控的方式运行。这意味着需要在 Windows 上安装 Docker,并与您的 WSL 环境正确连接。

首先从 Docker 官网 下载 Docker Desktop 并在 Windows 上安装。然后打开 Docker Desktop,进入设置,确保启用了“Use the WSL 2-based engine”选项,在 Resources → WSL Integration 下,为您的 Ubuntu 发行版开启集成。

完成以上步骤后,回到 Ubuntu 终端并运行:

docker --version
docker ps

您应会看到类似如下的输出:

Docker version 29.1.3, build f52814d
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

这是一种好迹象,说明 Docker 已能在 WSL 中使用,并可供 NanoClaw 调用。

在 Ubuntu 中安装 Claude Code

在 Node 和 Docker 准备就绪后,下一步是在 WSL 内安装 Claude Code。您将使用它来完成 NanoClaw 的引导式设置。

运行:

curl -fsSL https://claude.ai/install.sh | bash

Configuring Claude Code

这会将 Claude Code 直接安装到您的 Ubuntu 环境中。

3. 从源码安装 NanoClaw

现在环境已就绪,是时候下载 NanoClaw 并在 Claude Code 中打开它了。

先克隆仓库并进入项目文件夹:

git clone https://github.com/qwibitai/nanoclaw.git
cd nanoclaw

如果您计划稍后自定义 NanoClaw,可以先 fork 该仓库,然后克隆您自己的副本。对于首次设置,直接克隆主仓库完全没问题。

进入 nanoclaw 文件夹后,运行:

claude

首次启动 Claude Code 时,它会引导您完成初始登录与配置流程。您可以使用 Claude.ai 账户登录,或使用 Anthropic 的 API 密钥进行直接的 API 访问。

Launching Claude Code

如果您已有 Claude Pro 或 Max 订阅,使用账户登录通常是最简单的方式。如果您使用 API 计费,也可以将 Claude Code 配置为使用您的 Anthropic API 密钥。

完成登录后,Claude Code 将在您的 NanoClaw 项目内打开,您即可继续进行设置。

Claude Code main screen

4. 设置 NanoClaw

在 nanoclaw 文件夹中打开 Claude Code 后,您现在可以开始完整的设置。

运行:

/setup

这将启动 NanoClaw 的引导式设置流程。

设置过程中会发生什么

运行 /setup 后,Claude Code 会开始为您准备 NanoClaw。这个过程可能需要一些时间,请耐心等待它逐步完成各个阶段。

Nanoclaw setup in Claude Code

首先,它会安装项目依赖并检查您的本地环境是否就绪。

Setting up NanoClaw in Claude Code

之后会进入容器设置阶段,运行构建 NanoClaw 自定义容器并测试其能否正确启动所需的 Docker 命令。

Building Nanoclaw Docker container

容器构建并验证完成后,设置将继续安装 OneCLI。这是 NanoClaw 技术栈中的重要组成部分,有助于更安全地管理机密与容器访问。

Installing OneCLI

完成后,您可以打开 Docker Desktop 仪表板并确认容器正在运行。此时,您应能看到 NanoClaw 的服务出现在其中,包括应用容器以及 PostgreSQL 等支撑服务。

Docker Desktop running the Onecli

为 OneCLI 设置 Claude 令牌

尽管 Claude Code 已在 WSL 内登录,NanoClaw 容器仍需要一种独立且安全的方式访问 Claude。为此,您需要生成一个令牌并在 OneCLI 中注册它。

OneCLI authenticating

打开一个新终端并运行:

claude setup-token

该命令会生成一个链接供您在浏览器中打开。登录、批准请求,然后将返回的代码粘贴回终端。之后,Claude Code 会给您一个令牌。

复制该令牌,然后在终端中运行以下命令,将 YOUR_TOKEN 替换为刚生成的令牌:

onecli secrets create --name Anthropic --type anthropic --value YOUR_TOKEN --host-pattern api.anthropic.com

这一步使 NanoClaw 容器能够安全地访问 Claude,而无需在容器内直接暴露您的凭据。完成后,设置即可进入下一阶段。

5. 为 NanoClaw 设置 WhatsApp

主设置完成后,Claude Code 会进入渠道设置阶段。在这里,您可以选择如何与 NanoClaw 交互。

为 WhatsApp 生成二维码

选择 WhatsApp(您也可以为稍后选择其他受支持的渠道,如 Discord、Telegram 或 Slack,但此处我们先专注于 WhatsApp),然后继续。

Selecting the channels for the Nanoclaw

出于某种原因,浏览器中的二维码对我不起作用。这似乎是由于 WSL 与浏览器之间的网络问题,可能与访问本地端口的方式有关。因此,我们将改用在终端中显示二维码的选项。

Authenticating the Whatsapp for Nanoclaw channels

Claude Code 会尝试在终端中显示二维码。有时,该二维码可能会被截断或显示不完整。

要解决这个问题,请打开新终端,然后运行:

cd nanoclaw
npm run auth

这将在您的终端中生成一个清晰的二维码。

在手机上连接 WhatsApp

现在在手机上打开 WhatsApp,并按以下步骤操作:

  • 进入 设置
  • 点按 已链接设备
  • 点按 链接设备
  • 扫描终端中显示的二维码

扫描成功后,您的 WhatsApp 账户将连接到 NanoClaw。

配对完成后,您应能在终端中看到成功消息。

Whatsapp connected to the Nanoclaw

在 Claude Code 中完成渠道设置

返回到最初的 Claude Code 终端并继续设置。

Selecting the trigger word for the whatsapp

接下来会询问您一些配置问题。现在,您可以选择推荐选项。

  • 保持触发词为默认
  • 保持助理名称为默认
  • 选择自聊模式

自聊模式意味着 NanoClaw 只会在您自己的 WhatsApp 聊天中回复您。这有助于测试,因为没有其他人可以与您的代理交互。

restricting the Nanoclaw to only self chat.

完成设置并测试

完成所有配置后,NanoClaw 将使用您的新设置重新构建容器。这可能需要一点时间。

随后,您将看到如何使用 NanoClaw 的说明。

测试方法:

  • 打开 WhatsApp
  • 搜索您自己的手机号(您的自聊)
  • 发送如下消息:
@Andy hello

如果一切正常,NanoClaw 会在您的聊天中回复。

6. 在 WhatsApp 中测试 NanoClaw

现在一切已设置妥当,您可以直接在 WhatsApp 中测试 NanoClaw。

在手机上打开 WhatsApp 并进入您的自聊。该聊天会以您的号码并在括号中显示“(You)”。先发送一条简单消息,例如:

@Andy how are you?

几秒钟内,NanoClaw 应会在聊天中回复。这确认了您的设置正确,且代理已连接到 WhatsApp。

您也可以测试触发词的作用。尝试发送一条不带触发词的消息,例如:

How are you?

您会注意到 NanoClaw 不会回复。这是预期行为。触发词可确保只有在您明确调用时代理才会激活。

在基础消息测试通过后,您可以尝试更高级的任务。例如,询问:

@Andy Tell me the latest gold and silver prices and should i buy it or not

NanoClaw 会执行任务并返回结构化的回应。这表明您的代理不只是回复消息,还能在配置了正确工具(例如网页搜索)时执行多步任务并提供有用的输出。

至此,您的 NanoClaw 设置已完全可用,准备好应对更高级的用例。

Whatsapp interaction with NanoClaw

黄金和白银的价格并不正确,这表明它实际上并未执行网页搜索,而是依赖于模型内置知识中的过时信息。

结语

设置 NanoClaw 花费的时间比我预期的多,尤其是在 Windows + WSL 的环境下。在 Docker、容器设置、多个支撑服务,以及我需要在 Claude Code 中不断批准的各种权限之间,这个过程比“轻量本地代理”应有的感觉更为沉重。过了一段时间后,持续的提示与批准变得令人疲惫,整体设置体验也不太友好。

安装流程也没有我期待的那么顺畅。在多个节点,Claude Code 要求我打开新终端、运行额外的身份验证命令、生成令牌,并手动在 OneCLI 中注册。如果您是 AI 工具、容器或命令行工作流的新手,这部分很容易让人困惑。虽可行,但需要投入的手动工作量可能超出许多用户的预期。

因此,我个人更偏好 Nanobot。我只花了几分钟就能从 WhatsApp 开始与我的代理对话,体验更快更直接。相比之下,NanoClaw 的投入与产出比并不那么理想。

WhatsApp 的实际体验也有待提升。回复虽然有效,但交互略显生硬。没有清晰的输入中或回复指示,且回复气泡与我自己的消息外观相同,使对话显得不够自然。如果能在视觉上更清晰地区分,并在响应耗时较长时提供一些工作中的反馈,差异会非常明显。

总体而言,我仍然认为 NanoClaw 的理念很有价值。一个安全的、本地优先的、轻量的代理是非常有用的方向。但在实践中,设置比预期更复杂,而最终体验与为之付出的努力相比略显不尽如人意。

NanoClaw 常见问题

与 OpenClaw 相比,NanoClaw 实际上能做什么?

NanoClaw 覆盖了核心功能,如消息(WhatsApp、Telegram、Slack、Discord、Gmail)、网页访问、记忆和定时任务,但尚未达到 OpenClaw 的大型集成生态与多 LLM 支持的水平。

NanoClaw 的系统要求和受支持平台是什么?

NanoClaw 可在 macOS 和 Linux(包括 Windows 上的 WSL 2)上运行,使用 Docker 或 Apple Containers 进行隔离。您需要现代操作系统、容器运行时,以及足够的内存/磁盘空间用于 Docker 镜像与服务。

为什么 /setup 期间(尤其是围绕 Docker 或容器运行时)NanoClaw 设置会挂起或失败?

大多数设置失败源于 Docker 未运行、选择了错误的容器运行时,或出现容器后端尚未就绪的竞态条件。通常的修复方法是启动 Docker Desktop(或 Linux 的 Docker 服务)、用 docker ps 确认其正常,然后重新运行设置,有时需要为运行时加入重试机制。

如何连接或排查与 NanoClaw 的 WhatsApp 和其他消息渠道?

各渠道在设置过程中通过二维码或类似 OAuth 的流程进行认证。常见问题包括:将同一 WhatsApp 号码用于多个代理、二维码在终端中无法正常渲染,或容器与浏览器之间的网络/端口问题。通常可通过在终端重新生成二维码、使用不同号码,或登出/登录流程来解决。

在我的个人电脑上运行 NanoClaw 安全吗?

NanoClaw 围绕容器隔离(Docker/Apple Containers)而设计,代理运行在与宿主系统隔离的沙箱环境中,但您仍需遵循 API 密钥、文件挂载和权限等方面的最佳实践。


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

作为一名持证的数据科学家,我热衷于利用前沿技术打造创新的机器学习应用。凭借在语音识别、数据分析与报告、MLOps、对话式人工智能以及自然语言处理方面的扎实背景,我不断打磨构建智能系统的能力,力求带来切实影响。除技术专长外,我也擅长沟通,能够将复杂概念提炼为清晰、简明的表述。因此,我成为数据科学领域备受关注的博主,与不断壮大的数据专业人士社区分享洞见与实践经验。目前,我专注于内容创作与编辑,借助大语言模型打造有力且吸引人的内容,帮助企业与个人更好地发挥数据价值。

主题
AI 代理
人工智能

Agentic AI 课程

学习路径

AI智能体基础知识

6 小时
了解 AI 智能体如何改变你的工作方式,并为你的组织创造价值!
查看详情Right Arrow
开始课程
查看更多Right Arrow