在所有环境下进行测试,为了保证配置的一致性和迁移的安全性,建议采用"一套 config.yaml 模板 + 不同环境注入变量"的方案。
以下是针对各环境的实操手册:
- 通用配置文件准备 (config.yaml)
无论在哪个平台,OpenClaw 的配置文件中关于飞书的部分应统一写成:
csharp
lark:
app_id: ${LARK_APP_ID}
app_secret: ${LARK_APP_SECRET}
encrypt_key: ${LARK_ENCRYPT_KEY} # 选填,若开启事件加密需填
verification_token: ${LARK_VERIFICATION_TOKEN} # 选填
- Docker 环境(云服务器/本地 NAS)
这是最推荐的测试起点,因为环境最纯净。
- 创建 .env 文件(存放在 docker-compose.yml 同级目录):
csharp
LARK_APP_ID=cli_a1b2c3d4
LARK_APP_SECRET=shshxxxxxxxx
- 编写 docker-compose.yml:
csharp
services:
openclaw:
image: openclaw/openclaw:latest
env_file: .env # 自动加载上面的变量
volumes:
- ./config.yaml:/app/config.yaml
- 启动:docker-compose up -d
- Linux / macOS 环境(生产/服务器)
利用 Shell 配置文件实现持久化。
- 操作命令:
1. 打开配置文件 (Mac用.zshrc, Linux通常用.bashrc)
csharp
nano ~/.zshrc
2. 在末尾添加
csharp
export LARK_APP_ID="你的ID"
export LARK_APP_SECRET="你的Secret"
3. 生效
csharp
source ~/.zshrc
4. 运行 OpenClaw
csharp
python3 main.py
- Windows 环境(个人 PC)
通过系统属性设置,避免在脚本中留下痕迹。
- 图形化操作:
- 搜索"编辑系统环境变量" -> "环境变量"。
2. 在"用户变量"下新建LARK_APP_ID 和 LARK_APP_SECRET。
- 命令行验证(设置完需重启终端):
csharp
echo $env:LARK_APP_ID # PowerShell 验证
- 云服务器原生(systemd 守护进程)
为了保证机器人 7x24 小时在线,建议配置为服务。
- 创建服务文件:sudo nano /etc/systemd/system/openclaw.service
csharp
[Unit]
Description=OpenClaw Lark Bot
[Service]
User=root
WorkingDirectory=/path/to/openclaw
关键点:在此注入环境变量
csharp
Environment="LARK_APP_ID=cli_xxx"
Environment="LARK_APP_SECRET=xxx"
ExecStart=/usr/bin/python3 main.py
Restart=always
[Install]
WantedBy=multi-user.target
- 启动:sudo systemctl start openclaw
🚀 全环境测试自检表
在开始之前,请确保完成以下"最后一步":
- 内网穿透(本地电脑必做):由于飞书需要向你的服务器发送 Webhook,如果你在本地(Windows/Mac/非公网 Linux)测试,必须使用 cpolar 或 ngrok 将本地端口映射到公网,并在飞书后台填入该公网 URL。
- IP 白名单(云服务器必做):在飞书开发者后台的"安全设置"中,填入你云服务器的 公网 IP。
- 日志脱敏:启动后观察首行日志,确保没有打印出包含 cli_ 或 secret 的完整字符串。