跳转到主要内容
NanoClaw 是一个轻量级的自托管 AI 助手,运行在 WhatsApp 和 Telegram 上。这个 fork 增加了 Venice AI 支持,使其可以在 Venice API 上运行,无需 Anthropic 订阅。

按 token 付费

无订阅。仅按使用量付费

私密推理

Venice 服务器零数据保留

Docker 隔离

每个聊天都运行在自己的安全容器中

为什么选择 Venice AI?

Venice 是一个隐私优先的 AI 平台。他们不存储或记录任何 prompt 或响应 在其服务器上。您的对话仅存在于您的设备上。请求在传输过程中经加密,通过其代理发送到去中心化 GPU 提供商,零数据保留。 Venice 通过单个 API 提供前沿模型(Claude Opus、Claude Sonnet)的匿名化访问以及许多开源模型的私有访问。您可以随时在它们之间切换。隐私级别按模型设置,而非按模型系列设置:部分 GLM 和 Qwen 模型属于匿名化模型,因此请在 Models API 中检查所选模型的 model_spec.privacy。

为什么选择 NanoClaw?

NanoClaw 是 OpenClaw 等大型平台的简洁、最小化替代方案。它专为一个人运行一个机器人而设计。

您能得到什么

  • 在 Telegram 和/或 WhatsApp 上的个人 AI 助手
  • 由 Venice AI 提供动力——无需 Anthropic 账户
  • 机器人运行在隔离的 Docker 容器中(沙盒化,无法访问您的系统)
  • 模型切换——告诉机器人”切换到 zai-org-glm-5”或”使用 opus”
  • 计划任务——设置提醒、循环任务
  • 网页搜索和浏览内置
  • Telegram 消息中的 Markdown 格式

前置条件

Node.js 20+

使用 node --version 检查

Docker

安装并打开一次以确保其正在运行

Claude Code CLI

使用 claude --version 检查

Venice API 密钥

从您的 Venice 账户生成
Telegram(推荐给首次使用者):
  1. 打开 Telegram 并搜索 @BotFather
  2. 发送 /newbot 并按照提示操作
  3. 保存 BotFather 给您的 token(类似 123456789:ABCdef...)
WhatsApp——使用虚拟号码,而不是您的个人号码:NanoClaw 作为您 WhatsApp 号码的关联设备连接。这意味着 agent 可以查看所有进出的消息——您所有的个人对话、群聊、照片、所有内容。您的手机仍然正常工作,但机器人对您的整个 WhatsApp 账户具有完全的可见性。请改用虚拟电话号码。 这些应用为您提供一个可以完全专用于机器人的第二号码:如何设置:
  1. 从上面的应用之一获取虚拟号码
  2. 使用该虚拟号码在第二台设备(旧手机、平板或模拟器)上安装 WhatsApp
  3. 在 NanoClaw 设置期间,使用该第二台设备扫描二维码——不是您的个人手机

设置

设置大约需要 10 分钟。您只需要一个终端窗口。
1

克隆和安装

打开终端并运行:
等待 npm install 完成且无错误。
2

使用 Venice 启动 Claude Code

将 your-key 替换为您的 Venice API 密钥并运行:
这会启动 Venice 代理并通过它启动 Claude Code,所有操作在一条命令中完成。
Claude Code 默认使用 GLM 5(zai-org-glm-5)以保持低设置成本。设置完成后,在 Claude Code 内键入 /model 切换到 claude-sonnet-4-6 或 claude-opus-4-6 以获得最佳性能。
如果提示 “Do you want to use this API key?”——选择 Yes。
3

运行设置向导

在您的 Claude Code 终端中,键入:
向导引导您完成:
  1. Bootstrap — 检查 Node.js 和依赖项
  2. Venice API 密钥 — 验证并保存您的密钥
  3. 通道选择 — 选择 WhatsApp、Telegram 或两者
  4. 构建容器 — 构建 Docker 容器(首次需要几分钟)
  5. WhatsApp 认证 — 用您的手机扫描二维码(如适用)
  6. Telegram 设置 — 向您的机器人发送消息以便其检测到您的聊天
  7. 触发词 — 激活机器人的前缀(默认:@Andy)
  8. 挂载目录 — 现在选择”No”(稍后可以添加文件访问)
  9. 启动服务 — NanoClaw 和 Venice 代理都作为后台服务启动
设置向导安装两个后台服务:
  • NanoClaw — 机器人本身
  • Venice 代理 — 一个小型本地服务器(localhost:4001),在 Claude Code 和 Venice AI 之间进行转换
两者都在启动时自动启动,崩溃时会自动重启。
如果向导在步骤之间停止,键入 “continue” 或 “next step” 推动其前进。
4

开始聊天

设置完成后,打开您的聊天(Telegram 或 WhatsApp)并发送:
机器人应该在几秒钟内响应。在您的主通道中,您可以正常输入而无需 @Andy 前缀。现在您可以关闭终端窗口。 一切都作为后台服务运行,并在计算机启动时自动启动。

工作原理

NanoClaw 有两层: 随时打开 Claude Code:
用它来运行 /setup、/debug、/customize 或更改机器人行为。

模型

CLI 默认使用 GLM 5 以保持低设置成本。设置完成后,切换到 claude-sonnet-4-6 或 claude-opus-4-6 以获得最佳性能。
机器人的默认模型 claude-sonnet-4-6 以及 claude-opus-4-6 均为匿名化模型。zai-org-glm-5 是私有模型。如果每个聊天都需要私有级别,请将机器人切换到 model_spec.privacy 为 private 的模型。
请参阅模型目录获取所有可用的 Venice 模型。

故障排查

Venice 代理作为后台服务运行,并会自动重启。如果它无法工作:macOS:
Linux:
这意味着 Claude Code 无法连接到 Venice 代理。
  1. 检查代理是否在运行。 请参阅上面的故障排查步骤。
  2. 确保您在正确的文件夹中。 始终先 cd nanoclaw-venice。
  3. 重新开始: 关闭所有终端并运行:
重启代理和机器人:macOS:
Linux:
在模型目录中查看可用模型。
按顺序进行以下步骤:
  1. 检查您的触发词。 确保您使用了正确的前缀(例如 @Andy hello)。
  2. 检查 Docker 是否在运行。 运行 docker info——如果出错,打开 Docker Desktop。
  3. 检查代理是否在运行。 请参阅上面的”代理未运行”。
  4. 检查日志: 在项目文件夹中 tail -f logs/nanoclaw.log。
  5. 检查容器日志。 打开 nanoclaw-venice/groups/main/logs/ 文件夹。打开以 container- 开头的最新文件。
  6. 重启一切: 重启代理和机器人(请参阅上面)。
确保 Docker Desktop 已打开并正在运行。等待 10 秒以让 Docker 完全启动,然后在向导中键入 continue 重试。
您的 WhatsApp 会话可能过期。要重新连接:
使用 WhatsApp 扫描二维码(设置 → 关联设备 → 关联设备),然后重启机器人:
  • macOS:launchctl kickstart -k gui/$(id -u)/com.nanoclaw
  • Linux:systemctl --user restart nanoclaw

进阶

默认情况下,机器人完全与您的计算机隔离——它只能查看自己的内存和对话历史。
  • 设置期间: 当询问目录访问时,选择”Yes”
  • 设置后: 在 Claude Code 中运行 /customize
NanoClaw 运行两个后台服务,在启动时自动启动。macOS:Linux:
如果您只想要带有 Venice 的 Claude Code 而不需要 WhatsApp/Telegram,代理服务需要运行。如果您已经运行过 /setup,它已作为后台服务运行。
提示: 将此添加到您的 ~/.zshrc(或 ~/.bashrc),这样您可以快速将任何终端切换到 Venice:
然后只需在运行 claude 之前在任何终端键入 venice 即可使用 Venice,或键入 anthropic 切换回来。
您可以在同一台机器上运行多个 NanoClaw 机器人(例如,一个用于个人使用,一个用于团队)。只需将仓库克隆到不同的文件夹并再次运行设置。注意:它们共享同一个 Docker 镜像,因此重建一个会影响所有机器人。
对于想要修改 NanoClaw 代码的人:

架构


常见问题

Claude Agent SDK 使用 Anthropic 的消息格式。Venice 使用 OpenAI 的格式。代理在它们之间进行转换,因此一切都可以在不修改 SDK 的情况下工作。
可以。Venice 托管许多模型。告诉机器人 “switch to zai-org-glm-5” 或任何 Venice 模型 ID。请参阅模型目录。
Agent 运行在具有真正操作系统级隔离的 Docker 容器中。Venice API 密钥通过 stdin 传递,永远不会写入容器内的磁盘。每个组都有自己的隔离环境。
不需要。一切都通过 Venice AI 运行。您只需要一个 Venice API 密钥。
可以。它适用于任何安装了 Docker 的 Linux 机器。使用 systemd 服务在启动时自动启动。

资源

NanoClaw Venice 仓库

源代码和完整 README

原版 NanoClaw

qwibitai 的上游项目

Venice 模型目录

浏览可用模型

Venice 隐私

Venice 如何保护您的数据