OpenClaw 配置指南
针对 ParrotClaw 用户的 OpenClaw 安装、配置与连接方式。 目标读者:有一定技术基础的专业用户(一人公司、自媒体、企业媒体技术负责人)。
安装 OpenClaw
npm install -g openclaw
openclaw onboard # 交互式初始化更多安装方式详见 OpenClaw 官方文档。
目录
Gateway 连接方式
1. LAN 局域网连接
同一局域网内的设备(手机、另一台电脑)直接连接 Gateway。
配置 ~/.openclaw/openclaw.json:
{
gateway: {
mode: "local",
bind: "lan", // 监听局域网接口,默认是 loopback(仅本机)
port: 18789, // 默认端口
auth: {
mode: "token",
token: "your-token-here" // 替换成你自己的 token
}
}
}说明:
bind: "lan"让 Gateway 监听0.0.0.0:18789,局域网内设备可访问- 默认为
bind: "loopback",仅本机能连 - 认证方式推荐
token模式
重启 Gateway:
openclaw gateway restart连接方式:
| 类型 | 地址 |
|---|---|
| Dashboard(管理面板) | http://192.168.x.x:18789/ |
| WebSocket(ParrotClaw App) | ws://192.168.x.x:18789 |
192.168.x.x替换为 Gateway 主机的局域网 IP,可通过ifconfig或ip addr查看。
与 ParrotClaw App 连接:
- 打开 ParrotClaw App → 设置 → 服务器配置
- 填入
ws://192.168.x.x:18789和对应的 token - 连接测试通过即可使用
2. Tailscale 连接
通过 Tailscale 组建虚拟局域网(tailnet),实现跨网络的安全连接。
安装 Tailscale
macOS:
brew install --cask tailscale安装后在系统设置中启用 Tailscale,或通过菜单栏图标登录。
Linux:
# 一键安装脚本(推荐)
curl -fsSL https://tailscale.com/install.sh | sh
# 启动并登录
sudo tailscale upLinux 下
tailscale up需要 root 权限,首次会打开浏览器授权。
验证安装:
tailscale status
# 输出示例:
# 100.x.x.x my-device username@ linux idle
# 100.x.x.x my-phone username@ iOS active所有设备状态应为 active 或 idle。
配置
方式 A:Tailscale Serve(推荐)
Gateway 保持 loopback 绑定,Tailscale 自动提供 HTTPS 和路由。
配置:
{
gateway: {
mode: "local",
bind: "loopback", // 保持本机监听,不暴露到局域网
port: 18789,
tailscale: {
mode: "serve" // Tailscale Serve 模式
},
auth: {
mode: "token",
token: "your-token-here"
}
}
}连接地址: https://<你的tailscale设备名>.ts.net/
Tailscale Serve 会自动注入身份头,可以使用 Tailscale 用户身份免 token 认证(需 auth.allowTailscale: true,默认开启)。
方式 B:绑定 Tailnet IP
Gateway 直接在 Tailnet IP 上监听。
配置:
{
gateway: {
mode: "local",
bind: "tailnet", // 绑定到 Tailnet IP
port: 18789,
auth: {
mode: "token",
token: "your-token-here"
}
}
}连接方式:
| 类型 | 地址 |
|---|---|
| Dashboard | http://<tailscale-ip>:18789/ |
| WebSocket | ws://<tailscale-ip>:18789 |
Tailscale IP 可通过
tailscale ip -4查看。此模式下127.0.0.1无法访问。
两种方式对比:
| 特性 | Tailscale Serve | Bind Tailnet IP |
|---|---|---|
| HTTPS | 自动 | 无 |
| 免 token 认证 | 支持(Tailscale 身份头) | 不支持 |
| 配置复杂度 | 低 | 低 |
| 适用场景 | 多设备安全接入 | 简单 tailnet 直连 |
3. Ngrok 公网隧道连接
通过 Ngrok 将本地 Gateway 暴露到公网,适合没有 Tailscale 或需要外网访问的场景。
安装 Ngrok
macOS:
brew install ngrokLinux:
# 或通过 apt(Ubuntu / Debian)
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
# 添加 ngrok apt 源
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \
| sudo tee /etc/apt/sources.list.d/ngrok.list >/dev/null
sudo apt update && sudo apt install ngrok配置认证 token:(从 https://dashboard.ngrok.com 获取)
ngrok config add-authtoken <你的ngrok-token>Gateway 配置:
{
gateway: {
mode: "local",
bind: "lan", // 必须 lan,loopback 会拒绝 ngrok 转发进来的请求
port: 18789,
trustedProxies: ["127.0.0.1/32"], // ngrok 走本地转发,保留此信任代理设置
controlUi: {
allowedOrigins: ["*"] // 跨域,否则浏览器/App 连接不上
},
auth: {
mode: "token",
token: "your-token-here"
}
}
}启动 Ngrok 隧道:
ngrok http 18789 --region ap
--region ap指定亚太节点,降低延迟。其他可选:us、eu、au等。
连接方式:
Ngrok 启动后会生成一个公网 URL,如 https://xxxx.ap.ngrok.io。
| 类型 | 地址 |
|---|---|
| Dashboard | https://xxxx.ap.ngrok.io/ |
| WebSocket | wss://xxxx.ap.ngrok.io |
Ngrok 免费版有连接数限制和速率限制,仅适合测试和小规模使用。 生产环境建议升级 Ngrok 付费计划或用 Tailscale 替代。
Skills(技能)配置
Skills 是 OpenClaw 的能力插件,通过自然语言触发。比如让 AI 帮你发布掘金文章、查询天气、搜索 GitHub 等,都由 Skills 提供。
在 ClawHub 找到需要的 Skill
ClawHub 是 OpenClaw 的官方技能市场。打开后在搜索框输入关键词(如 "juejin"),浏览搜索结果并记下技能名(slug),即可用于安装。
安装技能
在终端执行:
openclaw skills install <slug>例如安装掘金技能:
openclaw skills install juejin-skills安装后在工作区的 skills/ 目录下会生成对应的技能文件夹。
查看已安装技能
openclaw skills list示例:掘金技能配置
以掘金(juejin-skills)为例:
1. 安装
openclaw skills install juejin-skills2. 登录凭证
安装后让 AI 执行一次掘金相关操作(比如说"查一下掘金热门文章"),AI 会自动启动 Playwright 浏览器,打开掘金登录页。扫码登录后,Cookie 自动保存到本地,后续无需重复登录。
3. 使用
登录完成后,直接对 AI 说:
"把 workspace 里的 xxx.md 发布到掘金"
"查一下掘金的热门文章"
"下载这篇掘金文章:https://juejin.cn/post/xxx"
AI 会自动完成操作。默认发布为草稿,确认无误后才公开发布。
Talk(语音交互)配置
OpenClaw 的 Talk 能力通过配置 TTS provider 实现。Agent 需要语音输出时,调用 talk.speak,Gateway 将文本发给配置好的命令行工具合成音频,再推送给客户端播放。
安装 edge-tts
macOS:
pip3 install edge-ttsedge-tts 依赖 Python 3,macOS 自带 Python 3 或通过
brew install python@3安装。
Linux:
# Debian / Ubuntu
sudo apt install python3-pip
pip3 install edge-ttsLinux 下确保服务器有外网访问权限(edge-tts 调用 Microsoft Edge 在线 TTS 服务)。
安装后通过 which edge-tts 确认路径,配置时要用到。
配置一:直接使用 edge-tts(推荐)
最简单的方式是让 OpenClaw 直接调用 edge-tts 命令行,不经过中间脚本。编辑 ~/.openclaw/openclaw.json:
{
talk: {
provider: "edge-tts",
providers: {
"edge-tts": {
command: "/path/to/edge-tts",
args: [
"--voice", "zh-CN-YunxiNeural",
"--text", "{{Text}}",
"--write-media", "{{OutputPath}}"
],
outputFormat: "wav",
timeoutMs: 120000
}
}
}
}
edge-tts的路径通过which edge-tts或pip3 show edge-tts查看,通常是~/.local/bin/edge-tts。
配置二:兼容 Live2D(需要 44100Hz WAV)
Live2D 数字人要求音频格式为 44100Hz、16-bit、单声道 PCM WAV,而 edge-tts 默认输出采样率不固定。此时需要通过 tts-wrapper.sh 脚本包装,用 ffmpeg 转码。
脚本 tts-wrapper.sh(放在 workspace 目录下):
#!/bin/bash
# tts-wrapper.sh — edge-tts + ffmpeg 转码为 44100Hz 16-bit mono PCM WAV
TEXT="$1"
OUTPUT="$2"
TEMP="${OUTPUT}.tmp"
~/.local/bin/edge-tts \
--voice zh-CN-YunxiNeural \
--text "$TEXT" \
--write-media "$TEMP" \
--rate +0% \
--pitch +0Hz
/opt/homebrew/bin/ffmpeg -y -i "$TEMP" \
-acodec pcm_s16le -ar 44100 -ac 1 \
"$OUTPUT" 2>/dev/null
rm -f "$TEMP"配置:
{
talk: {
provider: "tts-local-cli",
providers: {
"tts-local-cli": {
command: "/Users/alexcai/.openclaw/workspace/tts-wrapper.sh",
args: ["{{Text}}", "{{OutputPath}}"],
outputFormat: "wav",
timeoutMs: 120000
}
}
}
}配置说明
| 字段 | 说明 |
|---|---|
talk.provider | 选择使用的 provider 名称 |
providers.<name>.command | 命令的绝对路径 |
args | 命令参数。 和 是模板变量,Gateway 自动替换为实际文本和临时文件路径 |
outputFormat | 输出音频格式,设置为 wav |
timeoutMs | 超时时间(毫秒),防止合成超长文本时卡住 |
配置完成后重启 Gateway:
openclaw gateway restart之后 Agent 说"讲出来"或需要语音回复时,会自动调用 edge-tts 合成语音。
中文音色参考
通过 edge-tts --list-voices 可列出所有可用音色:
| 音色 | 说明 |
|---|---|
zh-CN-XiaoxiaoNeural | 女声,自然亲切 |
zh-CN-YunxiNeural | 男声,阳光 |
zh-CN-YunyangNeural | 男声,沉稳 |
zh-CN-XiaoyiNeural | 女声,活泼 |
修改命令中的 --voice 参数即可切换音色。
测试
# 测试直接使用 edge-tts
~/.local/bin/edge-tts --voice zh-CN-YunxiNeural --text "你好" --write-media /tmp/test.wav
# 或测试 wrapper 脚本
bash /path/to/tts-wrapper.sh "你好" /tmp/test.wav没有报错且 /tmp/test.wav 已生成,说明配置正确。
Plugins(插件)配置
视频和音频合成依赖 ffmpeg。OpenClaw 的视频生成、音频转码等功能都通过 ffmpeg 处理。
安装满血版 ffmpeg
macOS
Homebrew 默认的 ffmpeg 公式只包含基础编码器,缺少很多关键功能(如 whisper 语音识别、libass 字幕渲染、libplacebo 高级滤镜等)。需要安装 ffmpeg-full 才能获得完整能力。
# 1. 添加 tap(如尚未添加)
brew tap homebrew-ffmpeg/ffmpeg
# 2. 安装满血版(耗时较长,约 5-30 分钟)
brew install ffmpeg-full
# 3. 确认 Xcode Command Line Tools 已安装
xcode-select --install安装完成后检查关键特性:
ffmpeg -version
# 输出应包含(看 --enable-* 列表):
# --enable-libwhisper # 语音识别
# --enable-libass # 字幕渲染
# --enable-libplacebo # 高级滤镜
# --enable-libx264/libx265 # H.264/H.265 编码
# --enable-videotoolbox # macOS 硬件加速
# --enable-audiotoolbox # macOS 音频加速
# --enable-libaom # AV1 编码完整特性列表可通过
ffmpeg -buildconf查看。
Linux(Ubuntu / Debian)
Linux 下推荐从 johnvansickle.com 下载静态编译包,开箱即用,包含所有编码器:
# 下载静态编译的满血版 ffmpeg
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
tar -xf ffmpeg-git-amd64-static.tar.xz
sudo mv ffmpeg-git-*-amd64-static/ffmpeg /usr/local/bin/
sudo mv ffmpeg-git-*-amd64-static/ffprobe /usr/local/bin/
rm -rf ffmpeg-git-*-amd64-static*或者通过 apt 安装(但 apt 官方源的 ffmpeg 特性不全,不推荐):
sudo apt update
sudo apt install ffmpeg验证安装:
ffmpeg -version应确认包含 --enable-libx264、--enable-libx265、--enable-libass、--enable-libwhisper 等关键特性。
注意:apt 官方源的 ffmpeg 版本通常较旧且缺少大量编码器,强烈建议使用 johnvansickle 的静态编译包。
测试验证(通用)
安装完成后测试基础转码:
# 生成一个测试视频(红色背景 + 文字)
ffmpeg -f lavfi -i color=c=red:s=1920x1080:d=5 \
-vf "drawtext=text='Hello ParrotClaw':fontsize=60:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2" \
-c:v libx264 -pix_fmt yuv420p /tmp/test.mp4
# 转成 GIF
ffmpeg -i /tmp/test.mp4 -vf "fps=10,scale=320:-1" /tmp/test.gif没有报错说明 ffmpeg 安装正常。
图片 / 视频 / 音频生成
ParrotClaw 的内容生成能力通过 OpenClaw + ComfyUI 实现。
| 能力 | 说明 |
|---|---|
| 图片生成(文生图 / 图生图) | ComfyUI 工作流驱动 |
| 视频生成 | 通过 ComfyUI 视频工作流 |
| 音频生成 | Edge-TTS 语音合成 + ffmpeg 转码 |
详细配置请参考:ComfyUI 使用指南