还在羡慕OpenClaw的智能对话能力?想让AI助手接入你的飞书工作台?
现在,借助HappyCapy的强大能力,你可以在10分钟内部署一个属于自己的飞书AI机器人!
无需深厚编程基础,跟着步骤走,让Capy帮你生成代码,轻松实现:
- 智能对话,像ChatGPT一样与你交流
- 群聊总结,一键梳理会议要点
- 定时提醒,重要事项不再遗漏
- 联网搜索,获取实时信息
适用人群: 飞书用户、想接入AI的团队、HappyCapy新手
完成时间: 10-15分钟
技术要求: 几乎零基础即可
| 章节 | 内容 | 快速跳转 |
|---|---|---|
| 第1章 | 准备工作 | 点击跳转 |
| 第2章 | 与HappyCapy协作生成代码 | 点击跳转 |
| 第3章 | 机器人配置规划 | 点击跳转 |
| 第4章 | AI服务配置 | 点击跳转 |
| 第5章 | 沙箱环境部署 | 点击跳转 |
| 第6章 | 飞书后台配置 | 点击跳转 |
| 第7章 | 如何与机器人对话 | 点击跳转 |
| 第8章 | 如何总结群聊消息 | 点击跳转 |
| 第9章 | 常见问题排查 | 点击跳转 |
| 平台 | 链接地址 |
|---|---|
| HappyCapy官网 | https://happycapy.ai |
| 飞书开放平台 | https://open.feishu.cn |
| Claude API控制台 | https://console.anthropic.com |
| Google AI Studio | https://makersuite.google.com/app/apikey |
| Deepseek平台 | https://platform.deepseek.com |
| 通义千问控制台 | https://dashscope.console.aliyun.com |
在开始之前,请确保你有:
-
飞书账号 - 有权限创建企业应用(管理员或开发者)
-
HappyCapy账号 - 如果还没有,请访问官网注册
- 官网地址:https://happycapy.ai
-
15分钟时间 - 跟着教程一步步来
-
第三方AI服务API Key - 用于接入AI能力(详见第4章)
-
编程经验 - Capy会帮你写代码
-
服务器 - HappyCapy沙箱已经准备好了
-
复杂的配置 - 我们会一步步指导
飞书应用凭证(第6章会教你获取)
- App ID(格式:
cli_xxxxxxxxxxxx) - App Secret(一长串密钥)
AI服务凭证
重要说明: HappyCapy内置的AI服务不支持直接接入飞书机器人,你需要使用第三方AI服务提供商的API。
支持的第三方AI服务包括:
- Claude (Anthropic)
- Gemini (Google)
- Deepseek
- 通义千问 (阿里云)
- 兼容OpenAI格式的自定义服务
- 兼容Claude格式的自定义服务
这是最重要的一步! 你不需要自己写代码,Capy会帮你生成所有文件。
-
登录 HappyCapy(官网:https://happycapy.ai )
-
点击「新对话」或选择现有对话
-
你会看到一个类似ChatGPT的对话框
提示: HappyCapy的对话界面类似ChatGPT,左侧是历史对话列表,右侧是对话窗口。你可以直接在输入框中输入指令,Capy会实时回复并执行操作。
你好,Capy!我想在HappyCapy沙箱中部署一个飞书机器人,功能要求:
1. 能够智能对话(使用AI回复消息)
2. 能够总结群聊消息
3. 支持在群聊中@机器人
请帮我:
1. 创建项目目录结构
2. 生成 package.json 文件
3. 创建基础的 .env 配置文件模板
Capy会理解你的需求,并开始为你:
-
创建项目文件夹
-
生成
package.json依赖配置 -
创建
.env环境变量模板
你会看到类似这样的输出:
# Capy 会执行这些命令:
mkdir feishu-bot && cd feishu-bot
# 创建 package.json
# 创建 .env 模板很好!现在请帮我生成三个核心代码文件:
1. **server.js** - 主服务器文件
- 需要监听 4000 端口(避免与常用端口冲突)
- 接收飞书的 webhook 消息
- 处理消息事件并调用AI回复
2. **feishu.js** - 飞书API封装
- 包含 token 管理
- 发送消息功能(文本和富文本)
- 获取群聊历史消息
- 获取群聊信息
3. **agent.js** - AI对话处理
- 集成第三方AI API(如Claude、Deepseek等)
- 处理用户消息并生成回复
- 支持工具调用(群聊总结功能)
请为我创建这三个文件,代码要简洁、有注释。
Capy会逐个创建这三个文件,并在每个文件中:
-
写入完整的代码
-
添加详细的注释
-
确保代码可以直接运行
你会看到:
我已经创建了以下文件:
✅ server.js - 主服务器(约200行)
✅ feishu.js - 飞书API封装(约150行)
✅ agent.js - AI对话处理(约250行)
所有文件已保存到 feishu-bot 目录。
太好了!现在我需要配置 .env 文件。我的信息如下:
飞书应用凭证:
- App ID: cli_xxxxxxxxxxxx
- App Secret: xxxxxxxxxxxxxxxxxxxxxxxx
AI配置(选择以下任一方式):
- 我想使用 Claude API
- 或者:我想使用 Deepseek API
- 或者:我想使用 通义千问 API
- 或者:我想使用 Gemini API
请帮我填写 .env 文件。
提示:
-
如果你还没有飞书凭证,可以说"我还没有飞书凭证,请先生成一个模板"
-
详细的AI服务配置请参考第4章
Capy会为你创建或更新 .env 文件:
# .env 文件已更新
FEISHU_APP_ID=cli_xxxxxxxxxxxx
FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_MODEL=deepseek-chat
BOT_NAME=我的飞书助手
PORT=4000配置文件已经准备好了,请帮我:
1. 安装所有依赖包(npm install)
2. 创建必需的数据目录
3. 启动服务器测试(npm start)
4. 检查是否有报错
Capy会执行:
# 1. 安装依赖
npm install
# 2. 创建数据目录
mkdir -p data/memory data/tasks data/reminders
# 3. 启动服务器
npm start如果一切正常,你会看到:
🚀 飞书机器人启动成功!
📡 服务器运行在端口 4000
🔑 环境配置加载完成
服务器启动成功了!现在我需要:
1. 暴露 4000 端口到公网(使用 /app/export-port.sh)
2. 获取公网访问地址
3. 告诉我这个地址,我需要在飞书后台配置
# 暴露端口
/app/export-port.sh 4000
# 返回结果:
✅ 端口暴露成功!
🌐 公网地址:https://4000-xxxxxx-preview.happycapy.ai
请将这个地址配置到飞书后台的事件订阅中:
- 事件订阅地址:https://4000-xxxxxx-preview.happycapy.ai/webhook/event重要:请复制并保存这个公网地址!你在下一步配置飞书时会用到。
如果你想保存所有代码文件到本地:
请帮我打包所有项目文件,我想下载到本地备份。
包含:
- 所有源代码文件(.js)
- 配置文件(package.json, .env)
- 使用说明(README.md)
生成一个 zip 压缩包。
如果部署过程中遇到问题:
启动时报错了:
[粘贴完整的错误信息]
环境信息:
- Node.js 版本:[如果知道的话]
- 操作系统:Linux(HappyCapy沙箱)
请帮我分析问题并给出解决方案。
我想调整一下机器人的功能:
1. 修改机器人的回复语气,让它更加幽默
2. 在群聊总结中增加表情符号
3. [你的其他需求]
请帮我修改相应的代码。
我想给机器人添加新功能:
[详细描述你想要的功能]
比如:
- 定时每天早上9点发送天气预报
- 支持语音消息转文字
- 添加群投票功能
请告诉我需要修改哪些文件,并帮我实现。
| 你想做什么 | 对Capy说 | Capy会做 |
|---|---|---|
| 创建项目 | "创建飞书机器人项目,包含对话和总结功能" | 生成项目结构、所有代码文件 |
| 配置环境 | "帮我配置.env文件,我的凭证是:[粘贴凭证]" | 填写配置文件 |
| 启动服务 | "安装依赖并启动服务器" | 执行npm install和npm start |
| 暴露端口 | "暴露4000端口到公网" | 执行export-port并返回URL |
| 解决报错 | "报错了:[粘贴错误],请帮我修复" | 分析错误并给出解决方案 |
| 添加功能 | "添加[功能名称],要求:[详细说明]" | 修改代码并实现功能 |
| 下载代码 | "打包所有代码,我要下载" | 生成压缩包提供下载 |
| 生成文档 | "生成使用文档和部署说明" | 创建README和教程 |
-
具体描述需求
我想让机器人每天早上8点自动发送一条消息到"团队日报"群, 消息内容包括:日期、天气、今日待办事项提醒。 -
提供完整的错误信息
运行 npm start 后报错: Error: Cannot find module 'axios' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) [完整堆栈...] 请帮我解决。 -
说明你已经做了什么
我已经: 1. 创建了项目文件 2. 安装了依赖 3. 配置了.env文件 现在想添加群聊总结功能,应该怎么做?
-
"代码不work" - 应该说明具体哪里出问题
-
"帮我做个机器人" - 应该说明需要什么功能
-
"报错了" - 应该粘贴完整的错误信息
在开始编码之前,先规划好你的机器人! 一个好的规划能让你的机器人更专业、更有辨识度。
一个好的机器人名字应该具备以下特点:
-
简洁明了 - 2-6个字为宜,易于记忆和输入
-
功能相关 - 名字能体现机器人的主要功能
-
易于识别 - 避免与常见人名或其他机器人重名
-
符合场景 - 根据使用场景选择正式或轻松的风格
| 类型 | 适用场景 | 示例名称 |
|---|---|---|
| 功能型 | 直接体现核心功能 | 小助手、日报bot、审批助手、会议小秘、知识库bot |
| 拟人型 | 赋予人格化特征 | 小智、小诺、小云、小飞、阿发 |
| 品牌型 | 结合企业品牌 | XX小助手、XX客服、XX智能顾问 |
// 配置文件中设置机器人名称
const botConfig = {
// 功能型
name: "IT工单助手",
description: "帮助员工快速提交和查询IT工单",
// 拟人型
// name: "小智",
// description: "您的智能工作助手,随时为您服务",
// 品牌型
// name: "腾讯云助手",
// description: "腾讯云服务智能助手"
}回复模板让你的机器人更加专业和一致。
专业版:
您好,我是【机器人名称】。
我可以帮您:
- 功能1:具体说明
- 功能2:具体说明
- 功能3:具体说明
回复"帮助"查看完整功能列表,或直接向我提问。
友好版:
你好呀!我是【机器人名称】~
我能为你做这些事:
- 功能1:具体说明
- 功能2:具体说明
- 功能3:具体说明
试试对我说"帮助",或者直接问我问题吧!
简洁版:
【机器人名称】为您服务
支持功能:功能1 | 功能2 | 功能3
输入"帮助"了解更多
const errorTemplates = {
// 输入格式错误
invalidInput: `抱歉,我没有理解您的指令。
正确格式示例:
- 查询工单:/query 工单号
- 创建工单:/create 问题描述
输入"帮助"查看所有可用命令。`,
// 权限不足
permissionDenied: `抱歉,您当前没有权限执行此操作。
如需开通权限,请联系:
- 管理员:@张三
- 或发送邮件至:admin@company.com`,
// 系统错误
systemError: `抱歉,系统遇到了一点小问题。
错误信息:{errorMessage}
错误时间:{timestamp}
我们已经记录了此问题,请稍后重试或联系技术支持。`
}| 风格 | 特点 | 适用场景 |
|---|---|---|
| 专业严谨 | 规范书面语、避免表情、信息准确 | 企业管理、财务审批、法务咨询 |
| 活泼友好 | 口语化表达、适当表情、语气亲切 | 员工关怀、团建活动、日常交流 |
| 简洁高效 | 信息精简、直奔主题、结构化展示 | 技术团队、开发工具、自动化系统 |
专业严谨风格:
const professionalSystemPrompt = `你是一个专业的企业IT工单管理助手。
## 沟通风格
1. 语言规范:使用标准的商务用语,避免口语化表达
2. 态度严谨:对技术问题给出准确、负责的回答
3. 格式规范:信息呈现清晰、结构化
4. 称呼:使用"您"而非"你"
5. 表情:不使用emoji表情符号`;活泼友好风格:
const friendlySystemPrompt = `你是一个活泼友好的工作助手,名字叫"小智"。
## 性格特点
- 热情开朗:用积极的态度对待每个请求
- 善于沟通:用简单易懂的语言解释复杂问题
- 贴心周到:主动提供帮助和建议
- 活泼可爱:适当使用表情和轻松的语气
## 常用表情
- 问候:👋
- 强调:✨
- 成功:✅
- 提示:💡`;简洁高效风格:
const conciseSystemPrompt = `你是一个高效的工单管理机器人。
## 核心原则
简洁、准确、快速。每句话都要有价值。
## 回复格式
成功:✓ [操作] | [关键信息]
失败:✗ [原因] | [解决方案]
信息:→ [数据]
## 示例
✓ 工单已创建 | TK20260228001 | 优先级:高 | ETA:2h`;重要说明: HappyCapy内置的AI服务不支持直接接入飞书机器人。你需要使用第三方AI服务提供商的API。
本指南支持以下AI服务的接入:
| 服务商 | 特点 | 推荐场景 |
|---|---|---|
| Claude (Anthropic) | 对话质量高、安全可控 | 企业级应用、高质量对话 |
| Gemini (Google) | 速度快、免费额度高 | 日常对话、成本敏感场景 |
| Deepseek | 性价比高、国内访问快 | 国内用户、高频调用 |
| 通义千问 (阿里云) | 中文理解优秀、合规安全 | 中文场景、国内企业 |
| 自定义 (兼容OpenAI) | 灵活配置、本地部署 | 私有化部署、特殊需求 |
| 自定义 (兼容Claude) | 灵活配置、多平台支持 | AWS Bedrock、Azure等 |
- 访问 Anthropic Console
- 登录或注册账号
- 进入「Settings」→「API Keys」
- 点击「Create Key」创建新的 API Key
- 复制生成的 Key(格式:
sk-ant-api03-xxxxxxxxx...)
# ===== Claude/Anthropic API 配置 =====
# API Key(必需)
CLAUDE_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# API Base URL(可选,默认为官方地址)
CLAUDE_BASE_URL=https://api.anthropic.com
# 模型名称(必需)
# 可选:claude-opus-4-6 / claude-sonnet-4-5 / claude-haiku-3-5
CLAUDE_MODEL=claude-sonnet-4-5
# API 版本(推荐配置)
ANTHROPIC_API_VERSION=2023-06-01
# ===== 通用配置 =====
BOT_NAME=我的飞书AI助手
PORT=4000
MAX_TOKENS=4096
TEMPERATURE=0.7| 模型名称 | 特点 | 适用场景 | 相对成本 |
|---|---|---|---|
claude-opus-4-6 |
最强大的模型,推理能力最佳 | 复杂分析、专业任务 | $$$ |
claude-sonnet-4-5 |
平衡性能和成本(推荐) | 日常对话、群聊总结 | $$ |
claude-haiku-3-5 |
轻量快速,成本最低 | 简单问答、快速响应 | $ |
- 访问 Google AI Studio
- 登录你的 Google 账号
- 点击「Get API Key」按钮
- 创建或选择已有的 API Key
- 复制密钥(格式:
AIzaSy...)
# ===== Google Gemini API 配置 =====
# API Key(必填)
GEMINI_API_KEY=AIzaSyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# API Base URL(选填)
GEMINI_BASE_URL=https://generativelanguage.googleapis.com
# 模型名称(推荐配置)
# 可选:gemini-2.0-flash-exp / gemini-1.5-flash / gemini-1.5-pro
GEMINI_MODEL=gemini-2.0-flash-exp
# API 版本(选填)
GEMINI_API_VERSION=v1beta
# ===== 通用配置 =====
BOT_NAME=我的飞书AI助手
PORT=4000| 模型名称 | 特点 | 适用场景 |
|---|---|---|
gemini-2.0-flash-exp |
最快速度,最新版本 | 日常对话、聊天机器人 |
gemini-1.5-flash |
速度快,性价比高 | 高频调用、成本敏感 |
gemini-1.5-pro |
推理能力强,准确度高 | 群聊总结、复杂推理 |
- 访问 Deepseek 开放平台
- 注册并完成实名认证
- 进入「API Keys」管理页面
- 点击「创建新的 API Key」
- 复制生成的密钥(格式:
sk-...)
# ===== Deepseek API 配置 =====
# 注意:Deepseek 兼容 OpenAI API 格式
# API Key(必填)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
# API Base URL(必填,固定值)
OPENAI_BASE_URL=https://api.deepseek.com
# 模型名称(必填)
# 可选:deepseek-chat / deepseek-reasoner
OPENAI_MODEL=deepseek-chat
# ===== 通用配置 =====
BOT_NAME=我的飞书助手
PORT=4000
API_TIMEOUT=60000| 模型名称 | 特点 | 适用场景 |
|---|---|---|
deepseek-chat |
响应快、成本低 | 日常对话、群聊总结 |
deepseek-reasoner |
包含推理过程、逻辑严谨 | 复杂推理、代码分析 |
- 访问阿里云官网并注册账号
- 阿里云官网:https://www.aliyun.com/
- 访问通义千问控制台
- 点击「开通DashScope服务」
- 进入「API-KEY管理」
- 点击「创建新的API-KEY」并复制
# ===== 通义千问 API 配置 =====
# 注意:通义千问兼容 OpenAI API 格式
# API Key(必填)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
# API Base URL(必填,固定值)
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
# 模型名称(必填)
# 可选:qwen-turbo / qwen-plus / qwen-max / qwen-long
OPENAI_MODEL=qwen-turbo
# ===== 通用配置 =====
BOT_NAME=小千助手
PORT=4000
MAX_TOKENS=2000
TEMPERATURE=0.7| 模型名称 | 特点 | 适用场景 | 价格 |
|---|---|---|---|
qwen-turbo |
响应快速、成本最低 | 日常对话、简单任务 | 最低 |
qwen-plus |
性能均衡、性价比高 | 复杂推理、代码生成 | 中等 |
qwen-max |
最强性能、最高质量 | 企业级应用 | 较高 |
qwen-long |
支持100万Tokens上下文 | 超长群聊总结 | 最低 |
适用于本地部署的服务(如 Ollama、vLLM、LocalAI)或其他兼容 OpenAI API 的服务。
# ===== 自定义 OpenAI 兼容服务配置 =====
# API Base URL(必填)
OPENAI_API_BASE=http://localhost:11434/v1
# API Key(必填,本地服务可填任意值)
OPENAI_API_KEY=ollama
# 模型名称(必填,填写实际部署的模型名称)
OPENAI_MODEL=llama3.2
# ===== 通用配置 =====
BOT_NAME=我的本地AI助手
PORT=4000
OPENAI_TIMEOUT=60| 服务 | API Base URL | 说明 |
|---|---|---|
| Ollama | http://localhost:11434/v1 |
本地轻量级模型运行工具 |
| vLLM | http://localhost:8000/v1 |
高性能推理服务 |
| LocalAI | http://localhost:8080/v1 |
多模型支持框架 |
| LM Studio | http://localhost:1234/v1 |
图形化本地模型工具 |
适用于 AWS Bedrock、Azure 等托管服务或自建 API 网关。
# ===== Claude 兼容服务配置 =====
# API Base URL(必填)
ANTHROPIC_BASE_URL=https://your-api-endpoint.com/v1
# API Key(必填)
ANTHROPIC_API_KEY=your-api-key-here
# 模型名称(可选)
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
# API 版本(可选)
ANTHROPIC_API_VERSION=2023-06-01
# 请求超时(可选,毫秒)
ANTHROPIC_TIMEOUT=60000
# ===== 通用配置 =====
BOT_NAME=我的飞书AI助手
PORT=4000AWS Bedrock:
ANTHROPIC_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com/v1
ANTHROPIC_API_KEY=your-aws-access-key-id
AWS_SECRET_ACCESS_KEY=your-aws-secret-access-key
AWS_REGION=us-east-1
ANTHROPIC_MODEL=anthropic.claude-3-5-sonnet-20241022-v2:0OpenRouter:
ANTHROPIC_BASE_URL=https://openrouter.ai/api/v1
ANTHROPIC_API_KEY=pk_live_xxxxxxxxxxxxxxxx
ANTHROPIC_MODEL=anthropic/claude-3-5-sonnet如果你已经在第2章完成了与Capy的协作,这一章大部分工作已经完成!
这里是手动操作的详细说明,供参考或检查。
在HappyCapy对话框中说:
请帮我检查项目文件是否完整,列出所有文件。
Capy会显示:
feishu-bot/
├── server.js ✅ 主服务器
├── feishu.js ✅ 飞书API
├── agent.js ✅ AI对话
├── package.json ✅ 依赖配置
├── .env ✅ 环境变量
├── data/ ✅ 数据目录
│ ├── memory/
│ ├── tasks/
│ └── reminders/
└── README.md ✅ 说明文档
对Capy说:
请检查依赖是否都安装成功,运行 npm list 看看。
应该看到:
feishu-bot@1.0.0
├── @anthropic-ai/sdk@0.30.1
├── axios@1.6.0
├── dotenv@16.3.1
├── express@4.18.2
├── node-cron@3.0.2
└── openai@6.25.0
对Capy说:
请重新启动服务器,并告诉我:
1. 是否启动成功
2. 监听的端口号
3. 有没有报错或警告
正常输出:
🚀 飞书机器人启动成功!
📡 服务器运行在端口: 4000
🤖 机器人名称: 我的飞书助手
🔑 API配置: ✅ 已加载
📁 数据目录: ✅ 已创建
⏰ 定时任务: ✅ 已启动
[2026-02-28 10:30:00] 服务器就绪,等待飞书消息...
重要提示: 完成这一步之前,请确保:
- 服务器已经启动(第5章)
- 已获取公网地址(第2.6节)
- 公网地址可以正常访问
-
打开浏览器,访问飞书开放平台
-
使用飞书账号登录
-
点击右上角「开发者后台」按钮
-
进入开发者后台后,在页面中央会看到「创建企业自建应用」按钮(蓝色大按钮)
-
点击后弹出创建应用对话框,填写以下信息:
- 应用名称: 我的AI助手(或你喜欢的名字,建议4-8个字)
- 应用描述: 基于OpenClaw的智能飞书机器人,支持智能对话和群聊总结
- 应用图标: 上传一个正方形图标(推荐512x512px,PNG/JPG格式,大小<200KB)
-
填写完成后,点击「创建」按钮
-
创建完成后,会自动跳转到应用详情页
-
在左侧边栏导航菜单中,点击「凭证与基础信息」
-
在页面中间会看到应用凭证区域:
- App ID:
cli_xxxxxxxxxxxx(直接显示,可复制) - App Secret: 默认隐藏,点击「查看」按钮获取(可能需要验证手机或邮箱)
- App ID:
重要: App Secret 是敏感信息,不要泄露给他人!建议保存到密码管理器或安全的文本文件中。
-
在应用详情页,点击左侧边栏的「权限管理」菜单
-
页面中间会显示「权限列表」,点击右上角的「添加权限」按钮
在权限搜索框中输入权限名称,然后勾选以下权限:
消息权限:
-
im:message- 获取与发送单聊、群组消息(必需) -
im:message:send_as_bot- 以应用的身份发送消息(必需)
群聊权限:
-
im:chat- 获取群组信息(必需) -
im:chat:readonly- 获取群信息,只读权限(必需)
-
勾选所有必需权限后,点击「发起权限申请」
-
填写申请理由:
申请理由:部署AI机器人,需要接收和发送消息、读取群聊信息 -
提交申请
-
等待管理员审核通过(通常几分钟内)
这是最关键的一步! 配置错误会导致机器人收不到消息。
-
在应用详情页,点击左侧边栏的「事件订阅」菜单
-
页面会显示「请求地址配置」和「订阅事件类型」两个区域
-
在「请求地址」输入框中填写你的服务器地址:
https://4000-xxxxxx-preview.happycapy.ai/webhook/event重要: 将
4000-xxxxxx-preview.happycapy.ai替换为你在第2.6节获取的真实公网地址,并在末尾加上/webhook/event -
加密策略: 选择「不加密」(下拉菜单,默认选项)
-
点击旁边的「验证」按钮(蓝色按钮)
飞书会发送一个验证请求到你的服务器:
-
验证成功: 显示绿色 ✅,提示「地址验证成功」
-
验证失败: 显示红色 ❌,检查:
- 服务器是否在运行?(在HappyCapy中问Capy:"服务器还在运行吗?")
- 公网地址是否正确?
- 端口是否已暴露?
-
在页面下方的「订阅事件类型」区域,点击「添加事件」按钮
-
在弹出的事件列表中,使用搜索框搜索:
im.message.receive_v1 -
找到后勾选这个事件,点击「确定」添加
点击页面底部的「保存」按钮。
-
点击左侧菜单「机器人」
-
点击「启用机器人」开关(打开)
填写以下信息:
-
机器人名称: 我的AI助手(会显示在飞书中)
-
机器人描述:
智能AI助手,支持对话、群聊总结、定时提醒等功能。 基于OpenClaw开发,由HappyCapy提供技术支持。 -
机器人头像: 上传一个头像图片
如果你想使用卡片消息:
- 消息卡片请求网址:
https://4000-xxxxxx-preview.happycapy.ai/webhook/card
-
点击左侧菜单「版本管理与发布」
-
点击「创建版本」
-
填写版本信息:
- 版本号: v1.0.0
- 版本说明:
【首发版本】 ✅ 智能对话功能 ✅ 群聊消息总结 ✅ 支持@机器人
-
点击「保存」
-
点击「申请发布」
-
选择可用范围:
- 全员可用 - 公司所有人都能用
- 指定人员 - 只有特定人员能用(用于测试)
-
提交审核
-
管理员会收到审核通知
-
审核通过后,应用状态变为「已发布」
-
用户即可在飞书中搜索并添加机器人
在应用详情页面,确认:
-
凭证: App ID和App Secret已获取
-
权限: 所有权限已审核通过
-
事件订阅: 地址已验证,事件已订阅
-
机器人: 已启用
-
版本: 已发布
对Capy说:
请帮我测试一下服务器是否收到飞书的请求。
检查最近的日志,看看有没有 webhook 请求。
Capy会查看日志并告诉你:
✅ 服务器正在运行
✅ Webhook端点可访问
📊 最近收到的请求:
- [2026-02-28 10:35:20] POST /webhook/event - 验证请求 - 200 OK
一切正常!可以开始测试机器人了。
-
打开飞书客户端(桌面端或移动端)
-
点击左上角「+」按钮
-
选择「添加机器人」
-
搜索框输入:
我的AI助手(你配置的机器人名称) -
点击「添加」
-
在飞书后台「机器人」页面
-
找到「机器人二维码」
-
用手机飞书扫描二维码
-
点击「添加」
添加成功后,机器人会出现在你的消息列表中。
示例1:打招呼
你:你好
机器人:你好!我是你的AI助手,有什么可以帮到你吗?
你:你能做什么?
机器人:我可以帮你:
- 智能对话 - 回答问题、提供建议
- 群聊总结 - 梳理会议要点、讨论内容
- 联网搜索 - 获取最新信息
- 运行代码 - 执行Python/JavaScript代码
- 创建文档 - 生成飞书云文档
直接告诉我你的需求就可以了!
示例2:联网搜索
你:帮我搜索一下今天的AI新闻
机器人:[搜索中...]
今日AI新闻摘要:
1. OpenAI发布GPT-5测试版
- 性能提升30%,支持更长上下文
- 来源:TechCrunch
2. Google发布Gemini Pro 2.0
- 多模态能力增强
- 来源:Google AI Blog
需要了解更多细节吗?
示例3:数学计算
你:帮我算一下 123 * 456
机器人:计算结果:123 x 456 = 56,088
-
打开你想使用机器人的群聊
-
点击群名称 → 「群设置」
-
点击「添加成员」
-
搜索「我的AI助手」
-
点击「确定」
在群聊中,需要@机器人才能触发回复:
@我的AI助手 大家好!
机器人会回复:
大家好!我是AI助手,很高兴加入这个群。
如果需要帮助,随时@我就可以了!
示例1:群聊问答
张三:@我的AI助手 今天天气怎么样?
机器人:@张三 今天天气:晴转多云,气温15-25℃,适合外出活动!
示例2:群聊讨论
李四:@我的AI助手 帮我们整理一下刚才讨论的要点
机器人:好的,正在分析最近的讨论...
讨论要点:
1. 确定项目截止日期为下周五
2. @张三 负责前端开发
3. @李四 负责后端API
4. @王五 负责测试
待办事项已记录!
| 命令 | 说明 | 示例 |
|---|---|---|
| 你好 / Hi | 打招呼,了解机器人 | "你好" |
| 搜索 [关键词] | 联网搜索 | "搜索 OpenAI 最新消息" |
| 计算 [表达式] | 数学计算 | "计算 123*456" |
| 总结 | 总结群聊消息 | "总结今天的讨论" |
| 帮我... | 通用请求格式 | "帮我写一封邮件" |
| 创建文档 | 生成飞书文档 | "创建一份会议纪要" |
这是机器人最实用的功能之一! 可以快速梳理群聊讨论,节省阅读时间。
对机器人发送(私聊):
总结"产品需求讨论组"今天的消息
或者:
帮我总结一下"技术分享群"最近1小时的讨论
在群聊中@机器人:
@我的AI助手 总结今天的讨论
你可以灵活指定时间范围:
| 你说 | 时间范围 |
|---|---|
| "总结最近1小时" | 最近1小时的消息 |
| "总结最近3小时" | 最近3小时的消息 |
| "总结今天" | 今天00:00至现在 |
| "总结昨天" | 昨天全天 |
| "总结本周" | 本周一至今 |
| "总结全部" | 所有历史消息 |
你可以让机器人重点关注某个话题:
总结"产品需求讨论组"今天的消息,重点关注关于新功能的讨论
或者:
总结今天的讨论,重点提取待办事项和截止日期
机器人会生成结构化的总结报告:
群聊总结 - 产品需求讨论组(2026-02-28 今天)
【关键话题】
1. 新用户引导流程优化
- 讨论了简化注册步骤的方案
- @张三 提出了三步注册流程
- 团队基本达成共识
2. 深色模式需求
- 用户反馈强烈要求添加深色模式
- @李四 评估技术可行性,预计2周完成
3. 性能优化计划
- 首页加载速度需要提升
- @王五 提出使用CDN加速方案
【重要决策】
✅ 下周一(3月4日)开始设计新用户引导流程
✅ 深色模式列入Q2开发计划
✅ 性能优化优先级提升为P0
【待办事项】
- [ ] @张三 - 提供用户调研数据(周五前)
- [ ] @李四 - 评估深色模式技术方案(下周三前)
- [ ] @王五 - 准备CDN接入方案(本周内)
- [ ] @赵六 - 更新产品Roadmap(明天)
【活跃成员】
- 张三(25条消息)- 主要讨论用户体验
- 李四(18条消息)- 主要讨论技术实现
- 王五(15条消息)- 主要讨论性能优化
- 赵六(12条消息)- 主要讨论项目规划
---
消息统计:共 128 条消息,12 位参与者
生成时间:2026-02-28 18:30:15
如果你想保存总结结果:
你:把刚才的总结生成飞书文档
机器人:✅ 已创建文档:《产品需求讨论组 - 今日总结(2026-02-28)》
查看文档:https://docs.feishu.cn/docx/xxxxxx
文档已自动分享给群成员,可以在线查看和编辑。
你可以设置定期自动总结:
你:每天下午6点自动总结"项目讨论组"今天的消息,并发送到群里
机器人:✅ 已设置定期总结任务
任务详情:
- 群聊:项目讨论组
- 频率:每天 18:00
- 范围:当天消息
- 动作:发送总结到群聊
如需取消,对我说"取消定期总结"
-
会议结束后立即总结
@我的AI助手 总结刚才的会议讨论 -
早晨查看昨天的讨论
总结"工作群"昨天的消息,我想知道错过了什么重要内容 -
周末回顾本周工作
总结"项目组"本周的所有讨论,重点关注进度和问题 -
新人快速了解群聊历史
总结这个群最近一周的讨论,我是新加入的
-
消息量过大时
- 如果群聊消息太多(>1000条),总结可能需要较长时间
- 建议缩小时间范围,如"最近3小时"而不是"全部"
-
隐私和敏感信息
- 机器人会读取群聊历史消息
- 确保群成员知晓并同意使用此功能
- 敏感信息建议不要使用总结功能
-
总结质量
- 总结质量取决于消息内容的结构化程度
- 如果讨论很分散,总结可能不够精准
- 可以通过"指定关注点"来提升相关性
症状: 发送消息给机器人,但没有任何回复
排查步骤:
1. 检查服务器运行状态
对Capy说:
请检查飞书机器人服务器是否还在运行,查看进程状态
Capy会执行:
ps aux | grep "node.*server.js"如果没有进程,说明服务器已停止。对Capy说:
服务器停止了,请重新启动
2. 检查日志
对Capy说:
查看最近的错误日志,看看有什么异常
3. 检查飞书配置
- 飞书后台「事件订阅」地址是否验证成功?
- 权限是否已审核通过?
- 应用是否已发布?
4. 测试webhook端点
对Capy说:
测试一下 webhook 端点是否可以访问:
curl https://4000-xxxxxx-preview.happycapy.ai/webhook/event
症状: 私聊可以回复,但群聊中@机器人没反应
排查步骤:
1. 确认权限
检查飞书后台「权限管理」:
-
im:message- 需要包含群聊消息权限 -
im:chat- 需要读取群聊信息
2. 确认机器人在群里
- 打开群聊 → 「群设置」→「群成员」
- 检查机器人是否在成员列表中
- 如果不在,重新添加机器人
3. 确认@方式正确
在群聊中,必须@机器人:
@我的AI助手 你好 ✅ 正确
我的AI助手 你好 ❌ 错误
症状: 请求总结群聊,但提示失败或返回空内容
排查步骤:
1. 检查群聊权限
飞书后台确认:
-
im:chat:readonly- 读取群聊信息(必需) -
im:message- 读取消息(必需)
2. 检查群聊ID
对Capy说:
帮我获取"产品讨论组"的群聊ID,看看是否正确
3. 检查时间范围
如果群聊消息很少,可能返回"暂无消息"。
尝试扩大范围:
总结这个群的全部消息
4. 查看详细错误
对Capy说:
执行总结功能时报错了,请查看详细的错误日志
症状: 公网地址无法访问,飞书验证失败
原因: HappyCapy沙箱重启后,端口映射可能失效
解决方法:
对Capy说:
重新暴露4000端口,并告诉我新的公网地址
Capy会执行:
/app/export-port.sh 4000然后:
-
复制新的公网地址
-
更新飞书后台「事件订阅」的请求地址
-
重新验证
症状: 运行 npm install 时报错
常见错误及解决方法:
错误1:网络超时
npm ERR! network timeout
对Capy说:
npm 安装超时了,请换个镜像源重试:
npm install --registry=https://registry.npmmirror.com
错误2:权限不足
npm ERR! EACCES: permission denied
对Capy说:
权限不足,请用 sudo 安装:
sudo npm install
错误3:Node版本不兼容
npm ERR! engine Unsupported engine
对Capy说:
检查 Node.js 版本,需要 v18 以上:
node --version
症状: 机器人回复内容不正常、乱码或报错
排查步骤:
1. 检查API Key
对Capy说:
检查 .env 文件中的 API Key 是否正确配置
2. 检查API配额
如果使用第三方API:
- 检查账户余额是否充足
- 检查API调用次数是否超限
对Capy说:
测试一下 AI API 是否可以正常调用
3. 查看AI调用日志
对Capy说:
查看最近的AI API调用日志,看看有什么错误
在遇到问题时,对Capy说:
我的飞书机器人出问题了,请帮我运行完整的健康检查:
1. 服务器是否运行
2. 端口是否暴露
3. 依赖是否完整
4. 配置文件是否正确
5. 最近有没有报错日志
6. Webhook端点是否可访问
给我一个详细的检查报告。
Capy会逐项检查并给出诊断结果。
如果以上方法都无法解决问题:
1. 导出日志
对Capy说:
导出最近1小时的完整日志,我要发给技术支持
2. 提供完整信息
对Capy说:
帮我整理一份问题报告,包括:
- 问题描述
- 复现步骤
- 错误日志
- 环境信息(Node版本、系统信息)
- 配置文件(隐藏敏感信息)
3. 在HappyCapy寻求帮助
@Capy 我的飞书机器人遇到了这个问题:
[详细描述问题]
已尝试的解决方法:
[列出你已经尝试的方法]
请帮我深度分析并解决。
如果你完成了以上所有步骤,现在你已经拥有了一个功能完整的飞书AI机器人!
-
与机器人智能对话
-
在群聊中@机器人提问
-
快速总结群聊消息
-
让AI帮你搜索信息
-
生成飞书文档
添加更多功能
对Capy说:
我想给机器人添加以下功能:
1. 定时提醒(每天早上提醒我今天的待办)
2. 任务管理(创建、查询、完成任务)
3. 语音消息转文字
请帮我实现。
自定义机器人风格
对Capy说:
我想让机器人的回复更加:
- 幽默风趣
- 专业严谨
- 简洁明了
请帮我调整回复风格。
接入数据统计
对Capy说:
我想统计:
- 机器人每天的使用次数
- 最常使用的功能
- 最活跃的用户
请添加统计功能并生成可视化报表。
集成第三方服务
对Capy说:
我想接入:
- Notion数据库
- GitHub仓库通知
- Jira任务同步
- 日历提醒
请帮我实现集成。
| 文档名称 | 链接地址 |
|---|---|
| 飞书开放平台文档 | https://open.feishu.cn/document |
| Claude API文档 | https://docs.anthropic.com/claude/reference |
| Gemini API文档 | https://ai.google.dev/docs |
| Deepseek API文档 | https://platform.deepseek.com |
| 通义千问API文档 | https://help.aliyun.com/zh/dashscope/ |
| HappyCapy使用指南 | https://happycapy.ai/docs |
-
飞书开发者社区
-
HappyCapy Discord频道
-
GitHub Issues
A:
-
机器人运行在你自己的HappyCapy沙箱中
-
所有数据存储在本地
data/目录 -
不会上传到第三方服务器
-
AI API调用会发送消息内容到AI服务提供商(遵循其隐私政策)
-
如果担心隐私,可以使用本地AI模型(需额外配置)
A:
-
沙箱重启后,进程会停止
-
数据不会丢失(存储在持久化目录)
-
需要重新启动服务器并暴露端口
对Capy说:
沙箱重启了,请帮我重新启动机器人服务
费用构成:
-
飞书应用 - 免费(企业自建应用)
-
HappyCapy沙箱 - 根据你的HappyCapy套餐
-
AI API调用 - 按各AI服务提供商的定价计费
节省成本的方法:
-
选择性价比高的AI服务(如Deepseek、通义千问)
-
使用免费额度(如Gemini)
-
限制机器人的调用频率
A: 当然可以!
对Capy说:
我想把这个机器人部署到自己的云服务器(阿里云/腾讯云/AWS),请帮我:
1. 生成部署脚本
2. 配置 systemd 服务(让机器人开机自启)
3. 设置 Nginx 反向代理
4. 配置 HTTPS 证书
A: 可以!
每个飞书应用部署一个独立的机器人实例:
feishu-bot-company-A/ # A公司的机器人
feishu-bot-company-B/ # B公司的机器人
对Capy说:
我想为另一个飞书应用部署一个机器人,请帮我复制项目并修改配置
新增内容
-
新增「机器人配置规划」章节,包含命名、模板、风格定义
-
新增第三方AI服务配置指南(Claude、Gemini、Deepseek、通义千问)
-
新增自定义AI接入说明(兼容OpenAI、兼容Claude格式)
-
更新端口配置为4000(避免常用端口冲突)
-
调整章节顺序,「准备工作」为第1章,「与HappyCapy协作生成代码」为第2章
优化改进
-
优化Markdown排版,增加换行提升可读性
-
更新作者信息
-
修正AI服务接入说明(HappyCapy内置AI不支持直接接入飞书)
首发版本
-
完整的部署教程
-
HappyCapy协作指南
-
飞书后台配置详解
-
对话和总结功能说明
-
常见问题排查
感谢以下开源项目和服务:
-
HappyCapy - 提供强大的AI协作平台
-
飞书开放平台 - 提供企业通讯能力
-
Anthropic/Google/Deepseek/阿里云 - 提供智能AI服务
-
Node.js生态 - 提供丰富的开发工具
如果你在使用过程中遇到问题,或有任何建议:
-
在HappyCapy中直接问Capy
我在使用飞书机器人时遇到了[问题],请帮我解决 -
提交Issue
-
分享你的使用经验
- 你做了哪些有趣的功能扩展?
- 遇到了什么坑,如何解决的?
- 有什么优化建议?
祝你使用愉快!让AI成为你的得力助手!
文档版本: v1.1.0
最后更新: 2026-02-28
作者: 阿成 (https://github.com/AchengBusiness)
适用环境: HappyCapy沙箱 + 飞书开放平台
License: MIT