ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【第二章】保姆级教程:从零安装 OpenClaw 并在安全环境中运行你的第一个 Agent(防坑必看)

【第二章】保姆级教程:从零安装 OpenClaw 并在安全环境中运行你的第一个 Agent(防坑必看) 1. 为什么你的 OpenClaw 装完就报错从零跑通第一个 Agent 的真实路径OpenClaw 是一个自托管的 AI Agent 网关它能让你把大模型接到 Telegram、Discord 这类消息平台上再通过技能Skill扩展出抓取摘要、定时提醒、文件处理等能力。适合谁适合会用终端粘贴命令、想让 AI 帮自己干重复活的人。你不需要懂 Docker也不需要理解模型推理原理只要按顺序执行命令就能拥有一个 24 小时在线的数字助手。但现实是很多人在第一步就卡住了。终端里满屏红字API Key 填了又报 401技能装完发现是恶意脚本。我试过在三个不同系统上从零装 OpenClaw踩过的坑包括安装脚本跑完openclaw命令找不到、Telegram Bot Token 粘贴后没反应、以及最危险的——从技能市场随手装了一个低星技能结果它试图读取~/.ssh目录。这篇教程会把完整链路拆开安装、初始化、接入模型、连接 Telegram、用 skill-vetter 做安全审查、最后跑通一个真实 Agent。每一步都有可复制的命令和配置片段遇到报错直接对照第 5 节的排查清单。核心检索词先明确OpenClaw 安装、Agent 配置、skill-vetter 安全审查、ClawHavoc 风险规避、Telegram 接入。下面从环境准备开始。2. 前置准备TaoToken 接入与 OpenClaw 环境初始化在装 OpenClaw 之前你需要先解决“模型从哪来”的问题。OpenClaw 本身不提供模型它只是一个调度层背后要接一个兼容 OpenAI 或 Anthropic 接口的 API 服务。这里我用 TaoToken 作为模型接入层原因是它的接口格式和主流 SDK 完全兼容配置时只需要改 Base URL 和 Key不需要动 OpenClaw 的源码。TaoToken 的 API 地址是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 Base URL 使用。你需要先去控制台创建一个 API Key路径是登录后进入 API Keys 页面点击创建复制生成的 Key。这个 Key 只显示一次建议先存到密码管理器里。拿到 Key 之后先别急着装 OpenClaw用 curl 验证一下 Key 是否可用curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: claude-3-5-sonnet-20241022, messages: [{role: user, content: 回复OK}], max_tokens: 10 }如果返回 JSON 里choices[0].message.content有内容说明 Key 和网络都正常。如果返回 401检查 Key 是否复制完整如果返回model not found说明模型 ID 写错了换成gpt-4o或claude-3-5-sonnet-20241022再试。接下来装 OpenClaw。Mac 和 Linux 用官方脚本curl -fsSL https://get.openclaw.ai | bash脚本跑完会提示你重启终端或执行source ~/.zshrc。这一步不能跳过否则openclaw命令不在 PATH 里。Windows 用户去官网下载.exe安装包双击后一路下一步安装程序会自动加 PATH装完重新打开 PowerShell。验证安装openclaw --version能输出版本号就说明二进制没问题。如果提示command not found手动把 OpenClaw 的安装目录加到 PATHMac/Linux 默认在~/.openclaw/binWindows 默认在%USERPROFILE%\.openclaw\bin。环境变量方面OpenClaw 会把配置存在~/.openclaw/目录下API Key 加密存储在~/.openclaw/credentials.json。这个文件权限默认是 600不要手动改成 644否则同机器其他用户能读到你的 Key。3. 可复制配置OpenClaw 接入模型与 Telegram 的完整片段这一节直接给可复制的配置。OpenClaw 的初始化向导openclaw onboard是交互式的但如果你想像我一样批量部署可以直接写配置文件。配置文件路径是~/.openclaw/config.toml格式是 TOML。先看模型接入部分。OpenClaw 支持 OpenAI 兼容接口和 Anthropic 原生接口两种模式。用 TaoToken 的话推荐走 OpenAI 兼容模式因为它的/v1/chat/completions端点最稳定[model] provider openai-compatible base_url https://taotoken.net/api/v1 api_key sk-你的Key model_id claude-3-5-sonnet-20241022 max_tokens 4096 temperature 0.7 [model.fallback] provider openai-compatible base_url https://taotoken.net/api/v1 api_key sk-你的Key model_id gpt-4o这里model_id必须和 TaoToken 支持的模型列表一致。如果你不确定有哪些模型去模型对话页面看下拉列表或者直接调/v1/models接口curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer sk-你的Key返回的 JSON 里data[].id就是可用模型 ID。注意base_url结尾要带/v1因为 OpenClaw 会在后面拼/chat/completions。如果你写成https://taotoken.net/api请求会变成https://taotoken.net/api/chat/completions直接 404。Telegram 接入部分配置文件里加[integrations.telegram] enabled true bot_token 1234567890:ABCdefGHIJklmNOPqrstUVwxyz-1234567 allowed_users [你的Telegram用户ID]allowed_users是白名单只有列表里的用户能给 Bot 发指令。这个字段强烈建议填否则任何人搜到你的 Bot 都能调用你的 API 额度。获取自己的 Telegram 用户 ID 的方法是在 Telegram 里搜userinfobot给它发任意消息它会返回你的数字 ID。Bot Token 从BotFather获取搜BotFather发/newbot按提示设名字和用户名用户名必须以bot结尾创建成功后 BotFather 会返回 Token。Token 格式是数字:字母数字混合复制时注意不要带空格。配置写完后不要直接跑openclaw start先用openclaw config validate检查语法openclaw config validate如果输出Config OK说明 TOML 格式和必填字段都没问题。如果报missing required field: model.api_key检查 Key 是否写在了正确的 section 下。4. 验证请求从 skill-vetter 审查到第一个 Agent 跑通配置验证通过后先装安全审查工具 skill-vetter。这个工具是 OpenClaw 官方提供的用来在安装技能前扫描代码openclaw skills install skill-vetter装完后用它检查任意技能。比如你想装一个叫daily-digest的技能先跑openclaw skills vet daily-digest输出会分三块基本信息下载量、版本数、作者、静态扫描结果文件访问、网络请求、风险等级。如果看到尝试读取 ~/.ssh/*或向未知 IP 发送数据直接放弃安装。ClawHavoc 事件就是攻击者上传了 1000 多个恶意技能专门窃取 API Key 和本地文件。skill-vetter 的静态扫描能拦住大部分明显恶意代码但它不是万能的下载量低于 1000、版本数少于 5 的技能即使扫描通过也建议再观望。安全审查通过后装一个真实技能来验证 Agent 链路。这里用telegram-echo做最小验证openclaw skills install telegram-echo然后启动 OpenClawopenclaw start终端会输出Model connected: claude-3-5-sonnet-20241022 Telegram bot online: your_agent_bot Skills loaded: skill-vetter, telegram-echo OpenClaw is running. Press CtrlC to stop.现在打开 Telegram找到你的 Bot发一句hello。如果 Bot 回复Echo: hello说明模型调用、Telegram 接入、技能加载三条链路全部通了。如果 Bot 没反应看终端日志openclaw logs --tail 50日志里会显示具体是哪一步失败。常见的是401 Unauthorized说明 API Key 无效或者local proxy failed说明 Base URL 写错了。验证模型是否真的在调用可以在 Telegram 里发一个需要推理的问题比如11等于几只回数字。如果 Bot 回2说明模型确实在工作不是本地硬编码的回复。5. 常见报错排查清单401、local proxy failed、reading choices、OAuth这一节对照真实报错。以下四个是我在部署 OpenClaw 时实际遇到过的按出现频率排序。报错一401 UnauthorizedError: model request failed: 401 Unauthorized原因API Key 无效或过期。排查步骤先用第 2 节的 curl 命令单独测 Key如果 curl 也 401说明 Key 本身有问题去 TaoToken 控制台重新生成。如果 curl 正常但 OpenClaw 报 401检查config.toml里api_key字段是否有多余空格或换行。TOML 里字符串不能跨行Key 必须写在一行内。报错二local proxy failedError: local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused原因系统里设了本地代理但代理服务没启动。OpenClaw 会读取环境变量HTTP_PROXY和HTTPS_PROXY。排查执行echo $HTTPS_PROXY如果有值但代理没开要么启动代理要么临时取消unset HTTPS_PROXY unset HTTP_PROXY openclaw start注意TaoToken 的 API 地址是直连的不需要走任何代理。如果你在环境变量里设了代理反而会导致请求失败。报错三reading choicesError: json: cannot unmarshal object into Go struct field .choices原因模型返回的 JSON 结构和 OpenClaw 预期的格式不一致。通常是因为base_url写成了 Anthropic 原生端点但provider配的是openai-compatible。排查确认base_url是https://taotoken.net/api/v1provider是openai-compatible。如果你要用 Anthropic 原生格式base_url改成https://taotoken.net/apiprovider改成anthropic但这样模型 ID 也要换成 Anthropic 的命名。报错四OAuth token expiredError: OAuth token expired, please re-authenticate原因如果你用的是 Claude Code 或 Codex 的 OAuth 登录方式接入token 有效期通常只有几小时。排查重新跑openclaw onboard选择 OAuth 登录浏览器会弹出授权页。如果浏览器打不开用设备码模式终端会显示一个 URL 和 code在另一台设备上打开 URL 输入 code 即可。OAuth 模式下不需要手动填 API Key但 token 过期后必须重新授权不适合长期无人值守的场景。长期运行建议用 API Key 模式。排查完报错后如果 Agent 能正常回复建议把openclaw start注册成系统服务这样终端关了 Agent 也不会停。Mac 用launchdLinux 用systemdWindows 用nssm。具体配置不在本篇展开但核心是把openclaw start的启动命令和~/.openclaw/工作目录写进服务配置。6. 从验证到长期运行Agent 隔离环境与 CTAAgent 跑通之后下一步是让它长期稳定运行同时不污染你的主环境。OpenClaw 支持在隔离目录下运行通过--data-dir参数指定openclaw start --data-dir /opt/openclaw-data这样所有配置、日志、技能文件都放在/opt/openclaw-data下删掉这个目录就等于完全卸载。如果你在服务器上跑建议用非 root 用户运行并给--data-dir目录设 700 权限sudo useradd -r -s /bin/false openclaw sudo mkdir -p /opt/openclaw-data sudo chown openclaw:openclaw /opt/openclaw-data sudo chmod 700 /opt/openclaw-data sudo -u openclaw openclaw start --data-dir /opt/openclaw-data技能更新也要定期做。skill-vetter 只能扫描安装时的版本如果技能作者后续更新了代码旧版本的安全结论就失效了。建议每周跑一次openclaw skills update --all openclaw skills vet --all如果vet --all输出里有任何技能风险等级变成“高”立即卸载openclaw skills uninstall 技能名Telegram Bot 的 Token 如果泄露任何人都能冒充你的 Bot 发消息。定期在BotFather里用/revoke命令重置 Token然后更新config.toml里的bot_token字段重启 OpenClaw 即可。到这里你的第一个 Agent 已经在隔离环境里稳定运行了。模型接入用的是 TaoToken 的 APIKey 在控制台的 API Keys 页面管理如果你想先试试模型对话效果再决定长期用哪个模型可以去模型对话页面直接测试如果打算把 Agent 用在编码或长期自动化任务上Coding Plan 提供了更稳定的额度方案。接入文档里有完整的配置参数说明遇到本篇没覆盖的报错可以去那里对照排查。
返回列表