- Add nas_agent config section (enabled, api_url, api_key, command_prefix) - Add NAS Agent API client functions - Add NAS command detection with configurable prefix (default: 'nas') - Add confirmation flow for high-risk operations - Backward compatible: regular AI chat when NAS not triggered
Feishu AI Bot & Claude Code Bridge
将飞书接入 AI 大模型,支持两种模式:
- 模式 A:接入 SenseNova / DeepSeek / Claude API 的对话机器人
- 模式 B:接入 Claude Code,直接在飞书操控本地项目、读写文件、执行命令
目录
- 模式选择
- 快速开始(通用)
- 模式 A:AI API 机器人
- 模式 B:Claude Code 桥接器
- 部署架构
- 内网穿透(frp)
- Nginx 反向代理
- 飞书后台配置
- 开机自启(Windows 服务)
- 常见问题
- 命令速查
模式选择
| 特性 | 模式 A:AI API 机器人 | 模式 B:Claude Code 桥接器 |
|---|---|---|
| 启动命令 | python bot.py | python claude_bridge.py |
| Webhook 路径 | /webhook | /claude |
| 能力 | 对话聊天 | 对话 + 读写文件 + 执行命令 |
| 需要 API Key | 需要 AI 提供商 Key | 不需要,直接用 Claude Code |
| 依赖 | flask, requests | flask, requests, Claude Code |
| 适用场景 | 纯对话问答 | 操控项目、改代码、查文件 |
快速开始(通用)
1. 安装依赖
pip install -r requirements.txt
2. 配置飞书凭据
复制 config.example.json 为 config.json,填入你的 App ID 和 App Secret。
或者运行 python setup.py 交互式配置。
3. 配置飞书后台
见飞书后台配置章节。
4. 内网穿透 + Nginx
见内网穿透和 Nginx 章节。
模式 A:AI API 机器人
适用于纯对话场景,接入 SenseNova / DeepSeek / Claude 等大模型 API。
启动
python bot.py
飞书事件订阅 URL
支持的 AI 提供商
SenseNova(商汤): https://token.sensenova.cn/v1/messages - deepseek-v4-flash DeepSeek: https://api.deepseek.com/v1/chat/completions - deepseek-chat Anthropic Claude: https://api.anthropic.com/v1/messages - claude-sonnet-4-20250514
模式 B:Claude Code 桥接器
在飞书发消息,Claude Code 直接在本地执行——查文件、改代码、跑命令,结果返回飞书。
前置条件
已安装 Claude Code(npm install -g @anthropic-ai/claude-code) Claude Code 在命令行可用(claude --version 能正常输出)
启动
python claude_bridge.py
飞书事件订阅 URL
在飞书发什么?
查看项目 看一下当前项目的结构 查看 src/ 目录下的文件
修改代码 给 bot.py 添加中文注释 把日志级别改成 WARNING
执行命令 git status 帮我 git add 并 commit 所有更改
分析代码 这个函数有什么问题? 帮我重构一下这个模块
工作原理
飞书发消息 -> claude_bridge.py -> claude -p "指令" -> Claude Code 执行 -> 结果返回飞书
部署架构
用户 (飞书客户端) -> 飞书开放平台 -> Nginx -> frp 隧道 -> 本地 Flask 机器人 -> AI 或 Claude Code
内网穿透(frp)
服务端 frps.toml
bindPort = 7000 auth.token = "your_token"
客户端 frpc.toml
参考 frpc.example.toml,将 localPort 和 remotePort 设为 9000。
验证
浏览器打开 https://你的域名/webhook,显示 {"code":-1,"msg":"no data"} 即成功。
Nginx 反向代理
宝塔面板
- 添加站点:域名填 bot.你的域名.com
- 反向代理:目标 URL http://127.0.0.1:9000
- SSL 证书:申请 Let's Encrypt,开启强制 HTTPS
飞书后台配置
- 登录 https://open.feishu.cn/app -> 创建企业自建应用
- 左侧 应用功能 -> 机器人 -> 启用
- 左侧 事件与回调 -> 请求网址 URL 填 https://你的域名/webhook 或 /claude
- 添加事件:im.message.receive_v1
- 左侧 权限管理 -> 添加 im:message 权限
- 左侧 版本管理与发布 -> 创建版本 -> 申请发布
- 在飞书创建群聊,搜索机器人名称添加,开始对话
开机自启(Windows 服务)
仅适用于模式 A(AI API 机器人)。
pip install pywin32 python service.py install sc config FeishuAIBot start=auto python service.py start
管理:python service.py start/stop/restart/status/remove
常见问题
502 Bad Gateway: frp 隧道未启动,检查 frpc 是否运行 230002 机器人不在聊天中: 创建群聊拉入机器人 10003 参数无效: 检查 config.json 中的 App ID/Secret Forbidden API 拒绝: 检查 API Key 是否正确 事件验证失败: 检查 URL 是否以 /webhook 或 /claude 结尾 Claude Code 找不到: 运行 npm install -g @anthropic-ai/claude-code
命令速查
python setup.py # 首次配置 python bot.py # 模式 A:启动 AI API 机器人 python claude_bridge.py # 模式 B:启动 Claude Code 桥接器 python service.py start # 启动后台服务 curl http://localhost:9000/health # 健康检查
在其他电脑上部署
git clone http://你的Git服务器/redline/RedlineAI.git cd RedlineAI pip install -r requirements.txt python setup.py python claude_bridge.py
项目文件
bot.py # 模式 A:AI API 机器人 claude_bridge.py # 模式 B:Claude Code 桥接器 config.py # 配置管理 setup.py # 安装向导 service.py # Windows 服务 install_service.bat # 服务安装脚本 config.json # 配置文件 requirements.txt # Python 依赖 start.bat # Windows 启动(模式 A) start_bridge.bat # Windows 启动(模式 B) start.sh # Linux/Mac 启动 frpc.example.toml # frp 配置模板 .gitignore README.md # 本文档