Mac Mini + OpenAI Codex (OAuth) + Telegram 消息接入,手把手完整教程
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 方式一:Homebrew
brew install node
# 方式二:nvm (推荐,方便管理多版本)
brew install nvm
nvm install 24
nvm use 24
node --version # v22.16+ 或 v24.x
npm --version # 10.x+
npm install -g openclaw@latest
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest
curl -fsSL https://openclaw.ai/install.sh | bash
一键脚本会自动检测 Node.js、安装 OpenClaw 并启动引导程序。
安装完成后,验证:
openclaw --version
command not found,将 npm 全局目录加入 PATH:在 ~/.zshrc 中添加 export PATH="$(npm prefix -g)/bin:$PATH",然后 source ~/.zshrc
运行以下命令启动引导程序,下面逐步告诉你每一步选什么:
openclaw onboard --install-daemon
会显示一段安全提示,说明 OpenClaw 默认是个人使用模式。
选 Yes, I understand,回车继续。
选 QuickStart。除非你需要自定义端口、绑定地址等,否则默认即可。
这一步会列出所有支持的 AI 提供商,你需要选择 OpenAI OAuth (Codex):
选 OpenAI Code (Codex),回车。
openai-codex/gpt-5.4~/.codex/auth.json,OpenClaw 会自动复用,无需重新登录。
直接回车用默认路径即可,或输入自定义路径。
QuickStart 模式下大部分会用默认值,你只需一路回车:
三项都选默认:端口 18789、绑定 Loopback、认证 Token。
选 Telegram。然后会要求你输入 Bot Token(下一章详细教你怎么获取)。
粘贴你的 Bot Token,回车。如果还没有 Token,可以先选 Skip,后续用 openclaw channels add 再配置。
选 Yes。在 Mac 上会通过 launchd 安装一个 LaunchAgent,效果是:
~/Library/LaunchAgents/引导程序会自动运行健康检查,确认一切正常。然后可能会问是否安装推荐 Skills:
选 Yes 安装推荐 Skills,包管理器选 npm。
终端会显示 Gateway 已启动,Dashboard 地址为 http://127.0.0.1:18789/
openclaw onboard --auth-choice openai-codex --install-daemon
/newbotbot 结尾,如 my_ai_helper_bot)123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11在 @BotFather 中继续操作:
/setprivacy → 选择你的 Bot → Disable(允许 Bot 读取群聊所有消息)/setjoingroups → Enable(允许 Bot 被添加到群组)如果在 onboard 时已经输入了 Token,这一步可以跳过。否则:
openclaw channels add
# 选择 "telegram" → 粘贴 Bot Token
编辑 ~/.openclaw/openclaw.json:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"dmPolicy": "pairing"
}
}
}
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
Gateway 运行后,在 Telegram 中找到你的 Bot 发一条消息。默认 pairing 模式下,Bot 会返回一个配对码。
# 查看配对请求
openclaw pairing list telegram
# 审批配对(CODE 是 Bot 返回给你的配对码)
openclaw pairing approve telegram <CODE>
审批后即可正常对话。
openclaw logs --follow,发消息后在日志中找 from.idhttps://api.telegram.org/bot<TOKEN>/getUpdates拿到 User ID 后可以切换为 allowlist 模式,跳过配对步骤:
// ~/.openclaw/openclaw.json
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "...",
"dmPolicy": "allowlist",
"allowFrom": ["你的UserID"]
}
}
}
现在可以在 Telegram 中和你的 AI Bot 对话了。
| 策略 | 行为 | 适用场景 |
|---|---|---|
pairing | 未知用户收到配对码,CLI 审批后才能交互 | 默认,安全适中 |
allowlist | 仅 allowFrom 中的 User ID 可对话 | 推荐个人使用 |
open | 任何人都能对话(需设 allowFrom: ["*"]) | 公开 Bot |
disabled | 禁止所有私聊 | 仅群组使用 |
// ~/.openclaw/openclaw.json 中的 telegram 部分
{
"groupPolicy": "allowlist",
"groups": {
"-1001234567890": { // 群组 Chat ID
"enabled": true,
"requireMention": true, // 需要 @Bot 才回复
"allowFrom": ["你的UserID"]
}
}
}
"proxy": "socks5://user:pass@proxy:1080"
"streaming": "partial" 让 Bot 边生成边发送,体验更好。可选值:off / partial / block / progress
openclaw status # 查看 Gateway 状态
openclaw doctor # 全面健康检查
如果 onboard 时安装了 daemon,Gateway 已经在后台运行了。如果没有:
openclaw gateway --port 18789 --verbose
openclaw agent --message "Hello, are you working?"
在 Telegram 中给你的 Bot 发一条消息,等待回复。同时可以看日志:
openclaw logs --follow
openclaw dashboard # 浏览器打开 http://127.0.0.1:18789/
| 命令 | 用途 |
|---|---|
openclaw status | 查看 Gateway 状态 |
openclaw doctor | 健康检查 |
openclaw doctor --fix | 自动修复常见问题 |
openclaw logs --follow | 实时查看日志 |
openclaw channels add | 添加消息渠道 |
openclaw models list | 查看可用模型 |
openclaw update | 更新到最新版 |
openclaw dashboard | 打开 Web 管理界面 |
| 问题 | 解决方案 |
|---|---|
openclaw 命令找不到 | 在 ~/.zshrc 中添加:export PATH="$(npm prefix -g)/bin:$PATH" |
| sharp / libvips 构建失败 | SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest |
| OAuth 浏览器不弹出 | 手动复制终端显示的 URL 到浏览器打开 |
| OpenAI Codex 登录失败 | 确认你有 ChatGPT Plus/Pro 订阅;删除 ~/.codex/auth.json 重试 |
| Gateway 无法启动 | openclaw doctor --fix |
| Telegram Bot 不回复 | 检查 Gateway 是否运行(openclaw status);查看日志(openclaw logs --follow) |
| Telegram Bot 群里不回复 | BotFather 中 /setprivacy 设为 Disable;配置中设置 requireMention: false |
| 配对码过期 | 配对码 1 小时有效,重新发消息获取新码 |
| Telegram 连接不稳定 | IPv6 问题:添加 "network": {"autoSelectFamily": false} |
| 如何切换 AI 模型 | openclaw models set openai-codex/gpt-5.4 |
| launchd daemon 管理 | 查看:launchctl list | grep openclaw重启: openclaw gateway restart |