今天要分享的是如何在飞书平台上搭建一个7x24小时在线的AI助手——OpenClaw。这个方案特别适合需要随时调用AI能力的企业团队或个人用户。我自己在团队内部部署使用了一个多月,实测下来响应速度快、稳定性好,完全能满足日常办公场景的AI需求。
OpenClaw本质上是一个基于微服务架构的AI中间件,它通过飞书开放平台的机器人接口,将Claude/Kimi这类大模型的能力无缝接入到飞书工作环境中。相比直接使用网页版AI工具,这种集成方式有三个明显优势:一是对话记录自动保存在飞书中,方便回溯;二是可以与企业内部数据流打通;三是能实现团队共享使用。
虽然原文提到使用腾讯云海外服务器,但根据我的实测经验,任何支持Docker的Linux服务器都能满足需求。这里分享几个选购要点:
配置要求:最低1核2G即可流畅运行,但如果团队使用人数超过20人,建议选择2核4G配置。内存是关键指标,大模型交互比较吃内存。
地域选择:不必执着海外服务器,国内服务器同样可用。我测试过阿里云杭州区和腾讯云上海区,连接Claude中转站API的延迟都在可接受范围内。
系统推荐:Ubuntu 22.04 LTS最稳定,对Docker的支持也最好。避免使用太老的系统版本,可能会遇到依赖问题。
提示:购买服务器时记得开启80和443端口,这是飞书回调必须的。如果使用云服务商的安全组功能,还需要放行自定义端口(后续部署时会用到)。
飞书开放平台的注册流程有几个容易踩坑的地方需要特别注意:
应用类型选择:个人使用选"自建应用",企业使用建议选"企业自建应用"。后者支持更丰富的权限配置。
权限配置:必须勾选以下核心权限:
安全设置:在"安全设置"选项卡中,一定要添加服务器的公网IP到IP白名单。这是很多部署失败的根本原因。

Claude官方API目前申请门槛较高,使用中转站确实是更实际的选择。我测试过三家主流中转站的服务稳定性:
| 服务商 | 稳定性 | 价格 | 响应速度 | 支持模型 |
|---|---|---|---|---|
| 服务商A | ★★★★☆ | 中等 | 快 | Claude全系列 |
| 服务商B | ★★★☆☆ | 低 | 一般 | Claude部分模型 |
| 服务商C | ★★★★★ | 高 | 极快 | 多模型支持 |
建议优先选择支持"请求重试"机制的中转站,这样在网络波动时能自动重新发送请求,避免对话中断。
连接服务器后,建议按这个顺序执行初始化操作:
bash复制# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装Docker
curl -fsSL https://get.docker.com | sudo sh
# 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 创建专用用户(避免使用root)
sudo useradd -m deployer
sudo usermod -aG docker deployer
这个步骤看似基础,但能避免后续很多权限问题。特别是创建专用用户这一步,很多教程会忽略,直接用root操作可能导致容器权限混乱。
OpenClaw的GitHub仓库提供了docker-compose一键部署方案:
bash复制git clone https://github.com/open-claw/openclaw.git
cd openclaw
cp .env.example .env
然后编辑.env文件,关键配置项包括:
ini复制# 飞书配置
FEISHU_APP_ID=你的应用ID
FEISHU_APP_SECRET=你的应用密钥
# AI配置
CLAUDE_API_KEY=你的API密钥
API_BASE_URL=https://你的中转站域名/v1
启动服务的命令有些细节要注意:
bash复制# 正确的启动方式(后台运行+日志输出)
docker-compose up -d && docker-compose logs -f
# 错误的启动方式(直接前台运行,断开SSH会终止服务)
docker-compose up
部署完成后,用这个命令检查服务状态:
bash复制curl http://localhost:9000/health
正常应该返回{"status":"ok"}。如果报错,大概率是端口冲突或环境变量配置错误。
这是整个流程中最容易出错的环节,需要特别注意:
事件订阅:必须准确配置以下事件:
请求地址:格式为https://你的域名/feishu/event,必须支持HTTPS。没有域名的话可以用服务器IP+端口,但需要在飞书后台"安全设置"中开启"允许IP访问"。
消息加密:建议开启加密,然后在OpenClaw配置中设置相同的加密密钥。这样能确保消息传输安全。

OpenClaw支持同时配置多个AI模型,在.env文件中可以这样设置:
ini复制# 多模型配置示例
CLAUDE_API_KEY=sk-xxx
OPENAI_API_KEY=sk-yyy
KIMI_API_KEY=sk-zzz
# 默认模型(可选claude/kimi/openai)
DEFAULT_MODEL=claude
在飞书对话中,可以通过特殊命令切换模型:
/model claude 切换到Claude/model kimi 切换到Kimi/model openai 切换到GPT默认情况下,OpenClaw会保留最近10轮对话上下文。可以通过修改config.yml调整记忆策略:
yaml复制memory:
window_size: 10 # 上下文轮次
max_tokens: 2000 # 最大token数
strategy: "fifo" # 淘汰策略(fifo/lru)
对于重要对话,可以在飞书中使用/save 对话名称命令保存当前对话,后续通过/load 对话名称恢复。
如果需要让AI访问企业内部数据(如Confluence文档、飞书表格等),需要额外配置:
ini复制# 知识库配置
KNOWLEDGE_BASE_ENABLED=true
KNOWLEDGE_BASE_PATH=/data/knowledge
然后把企业文档放入指定目录,AI就能在回答时引用这些资料了。
按这个顺序检查:
docker-compose logs -fbash复制curl -X POST https://api.中转站域名/v1/chat/completions \
-H "Authorization: Bearer $CLAUDE_API_KEY" \
-d '{"model":"claude-2","messages":[{"role":"user","content":"test"}]}'
优化方案:
yaml复制# docker-compose.yml
services:
openclaw:
deploy:
resources:
limits:
cpus: '1'
memory: 2G
ini复制CACHE_ENABLED=true
CACHE_TTL=3600
可能原因及解决方案:
ini复制FEISHU_TIMEOUT=5000
建议每周执行一次维护操作:
bash复制# 备份数据
docker-compose exec db pg_dump -U openclaw > backup.sql
# 更新镜像
docker-compose pull
docker-compose up -d --force-recreate
# 清理旧镜像
docker image prune -a
遇到大版本更新时,建议先在新服务器上测试,确认无误后再迁移生产环境。OpenClaw的更新日志通常会在GitHub的Release页面详细说明破坏性变更。