按 token 付费
无订阅。仅按使用量付费
私密推理
Venice 服务器零数据保留
Docker 隔离
每个聊天都运行在自己的安全容器中
为什么选择 Venice AI?
Venice 是一个隐私优先的 AI 平台。他们不存储或记录任何 prompt 或响应 在其服务器上——您的对话仅存在于您的设备上。请求通过其代理端到端加密到去中心化 GPU 提供商,零数据保留。这意味着您的 AI 助手对话保持私密,即使对 Venice 自身也是如此。 Venice 通过单个 API 提供前沿模型(Claude Opus、Claude Sonnet)的匿名化访问以及开源模型(GLM、Qwen)的完全私密访问——可随时在它们之间切换。| Venice AI | 传统 AI 提供商 | |
|---|---|---|
| 数据保留 | 无——零日志 | 是 |
| Prompt 隐私 | 加密,永不存储 | 存储在提供商服务器上 |
| 开源模型 | 是(GLM、Qwen 等) | 否 |
| 前沿模型 | Claude、GPT 等——匿名化 | 仅通过直接订阅 |
| 定价 | 按 token 付费,无订阅。或质押 DIEM 获取每日刷新的 credit | 每月 $20–200 订阅或按 token 付费 API |
| 无审查推理 | 是(开源模型) | 否 |
为什么选择 NanoClaw?
NanoClaw 是 OpenClaw 等大型平台的简洁、最小化替代方案。它专为一个人运行一个机器人而设计。| NanoClaw(Venice) | OpenClaw | |
|---|---|---|
| 代码库 | ~2,000 行,少量文件 | ~500,000 行,53 个配置文件 |
| 依赖 | ~15 个包 | 70+ 个包 |
| 安全模型 | 操作系统级 Docker 容器隔离 | 应用级允许列表和配对码 |
| 每组隔离 | 每个群组都有自己的容器、文件系统和内存 | 共享进程,共享内存 |
| 设置 | 一个向导(/setup),约 10 分钟 | 手动多步骤配置 |
| AI 提供商 | Venice AI(私密,无订阅) | Anthropic(需要 API 密钥或订阅) |
| 定制 | 直接编辑代码——它足够小可以阅读 | 配置文件和插件 |
| 目标用户 | 一人一机器人 | 多用户平台 |
您能得到什么
- 在 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 并搜索 @BotFather
- 发送
/newbot并按照提示操作 - 保存 BotFather 给您的 token(类似
123456789:ABCdef...)
设置
设置大约需要 10 分钟。您只需要一个终端窗口。使用 Venice 启动 Claude Code
将 这会启动 Venice 代理并通过它启动 Claude Code,所有操作在一条命令中完成。如果提示 “Do you want to use this API key?”——选择 Yes。
your-key 替换为您的 Venice API 密钥并运行:Claude Code 默认使用 GLM 5(
zai-org-glm-5)以保持低设置成本。设置完成后,在 Claude Code 内键入 /model 切换到 claude-sonnet-4-6 或 claude-opus-4-6 以获得最佳性能。运行设置向导
在您的 Claude Code 终端中,键入:向导引导您完成:
- Bootstrap — 检查 Node.js 和依赖项
- Venice API 密钥 — 验证并保存您的密钥
- 通道选择 — 选择 WhatsApp、Telegram 或两者
- 构建容器 — 构建 Docker 容器(首次需要几分钟)
- WhatsApp 认证 — 用您的手机扫描二维码(如适用)
- Telegram 设置 — 向您的机器人发送消息以便其检测到您的聊天
- 触发词 — 激活机器人的前缀(默认:
@Andy) - 挂载目录 — 现在选择”No”(稍后可以添加文件访问)
- 启动服务 — NanoClaw 和 Venice 代理都作为后台服务启动
- NanoClaw — 机器人本身
- Venice 代理 — 一个小型本地服务器(localhost:4001),在 Claude Code 和 Venice AI 之间进行转换
如果向导在步骤之间停止,键入 “continue” 或 “next step” 推动其前进。
工作原理
NanoClaw 有两层:| 层 | 功能 |
|---|---|
| Claude Code CLI | 用于设置、调试和定制的管理工具 |
| 机器人 | 您聊天中的 AI,运行在隔离的 Docker 容器内 |
/setup、/debug、/customize 或更改机器人行为。
模型
| 上下文 | 默认模型 | 如何切换 |
|---|---|---|
| 机器人(在聊天中) | claude-sonnet-4-6 | 告诉机器人:“切换到 opus” 或 “使用 zai-org-glm-5” |
| Claude Code CLI | zai-org-glm-5(GLM 5) | 在 Claude Code 中使用 /model 或 claude --model <name> |
故障排查
代理未运行
代理未运行
Venice 代理作为后台服务运行,并会自动重启。如果它无法工作:macOS:Linux:
Claude Code 显示 403 错误或 'Please run /login'
Claude Code 显示 403 错误或 'Please run /login'
这意味着 Claude Code 无法连接到 Venice 代理。
- 检查代理是否在运行。 请参阅上面的故障排查步骤。
- 确保您在正确的文件夹中。 始终先
cd nanoclaw-venice。 - 重新开始: 关闭所有终端并运行:
模型错误('model does not exist')
模型错误('model does not exist')
机器人不响应消息
机器人不响应消息
按顺序进行以下步骤:
- 检查您的触发词。 确保您使用了正确的前缀(例如
@Andy hello)。 - 检查 Docker 是否在运行。 运行
docker info——如果出错,打开 Docker Desktop。 - 检查代理是否在运行。 请参阅上面的”代理未运行”。
- 检查日志: 在项目文件夹中
tail -f logs/nanoclaw.log。 - 检查容器日志。 打开
nanoclaw-venice/groups/main/logs/文件夹。打开以container-开头的最新文件。 - 重启一切: 重启代理和机器人(请参阅上面)。
设置期间容器构建失败
设置期间容器构建失败
确保 Docker Desktop 已打开并正在运行。等待 10 秒以让 Docker 完全启动,然后在向导中键入
continue 重试。WhatsApp 断开连接
WhatsApp 断开连接
您的 WhatsApp 会话可能过期。要重新连接:使用 WhatsApp 扫描二维码(设置 → 关联设备 → 关联设备),然后重启机器人:
- macOS:
launchctl kickstart -k gui/$(id -u)/com.nanoclaw - Linux:
systemctl --user restart nanoclaw
进阶
让机器人访问您计算机上的文件
让机器人访问您计算机上的文件
默认情况下,机器人完全与您的计算机隔离——它只能查看自己的内存和对话历史。
- 设置期间: 当询问目录访问时,选择”Yes”
- 设置后: 在 Claude Code 中运行
/customize
手动启动/停止机器人
手动启动/停止机器人
NanoClaw 运行两个后台服务,在启动时自动启动。macOS:
Linux:
| 操作 | 命令 |
|---|---|
| 启动机器人 | launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist |
| 停止机器人 | launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist |
| 重启机器人 | launchctl kickstart -k gui/$(id -u)/com.nanoclaw |
| 启动代理 | launchctl load ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist |
| 停止代理 | launchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist |
| 重启代理 | launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy |
| 操作 | 命令 |
|---|---|
| 启动机器人 | systemctl --user start nanoclaw |
| 停止机器人 | systemctl --user stop nanoclaw |
| 重启机器人 | systemctl --user restart nanoclaw |
| 启动代理 | systemctl --user start nanoclaw-venice-proxy |
| 停止代理 | systemctl --user stop nanoclaw-venice-proxy |
| 重启代理 | systemctl --user restart nanoclaw-venice-proxy |
通过 Venice 使用 Claude Code(无机器人)
通过 Venice 使用 Claude Code(无机器人)
如果您只想要带有 Venice 的 Claude Code 而不需要 WhatsApp/Telegram,代理服务需要运行。如果您已经运行过 提示: 将此添加到您的 然后只需在运行
/setup,它已作为后台服务运行。~/.zshrc(或 ~/.bashrc),这样您可以快速将任何终端切换到 Venice:claude 之前在任何终端键入 venice 即可使用 Venice,或键入 anthropic 切换回来。运行多个机器人
运行多个机器人
您可以在同一台机器上运行多个 NanoClaw 机器人(例如,一个用于个人使用,一个用于团队)。只需将仓库克隆到不同的文件夹并再次运行设置。注意:它们共享同一个 Docker 镜像,因此重建一个会影响所有机器人。
开发者命令
开发者命令
对于想要修改 NanoClaw 代码的人:
架构
| 文件 | 用途 |
|---|---|
proxy/venice-proxy.ts | 为 Venice 将 Anthropic 格式转换为 OpenAI 格式 |
src/index.ts | 主编排器——消息循环、agent 调用 |
src/channels/whatsapp.ts | 通过 baileys 的 WhatsApp 连接 |
src/channels/telegram.ts | 通过 grammy 的 Telegram 机器人 |
src/container-runner.ts | 生成隔离的 agent 容器 |
常见问题
为什么需要代理?
为什么需要代理?
Claude Agent SDK 使用 Anthropic 的消息格式。Venice 使用 OpenAI 的格式。代理在它们之间进行转换,因此一切都可以在不修改 SDK 的情况下工作。
我可以使用开源模型吗?
我可以使用开源模型吗?
可以。Venice 托管许多模型。告诉机器人 “switch to zai-org-glm-5” 或任何 Venice 模型 ID。请参阅模型目录。
它安全吗?
它安全吗?
Agent 运行在具有真正操作系统级隔离的 Docker 容器中。Venice API 密钥通过 stdin 传递,永远不会写入容器内的磁盘。每个组都有自己的隔离环境。
我需要 Anthropic 订阅吗?
我需要 Anthropic 订阅吗?
不需要。一切都通过 Venice AI 运行。您只需要一个 Venice API 密钥。
我可以在服务器上使用吗?
我可以在服务器上使用吗?
可以。它适用于任何安装了 Docker 的 Linux 机器。使用 systemd 服务在启动时自动启动。
资源
NanoClaw Venice 仓库
源代码和完整 README
原版 NanoClaw
qwibitai 的上游项目
Venice 模型目录
浏览可用模型
Venice 隐私
Venice 如何保护您的数据