本项目提供 Claude Code 与飞书连接的完整部署指南,包含详细的步骤说明和配置文件模板,帮助您在另一台电脑上快速部署相同的系统。
- macOS 10.14+ 或 Linux 系统
- Node.js 18+
- npm 或 yarn 包管理器
- Git
# 克隆项目到本地
git clone https://github.com/your-repo/feishu-claude-code.git
cd feishu-claude-code
# 或者直接复制当前项目
cp -r /Users/zhangjinlong/mycc/feishu-claude-code /path/to/new/project# 进入项目目录
cd feishu-claude-code
# 安装基础依赖
npm install# 复制示例配置文件
cp .env.example .env
# 编辑配置文件
vim .env# 模型配置
ANTHROPIC_MODEL=doubao-seed-code
ANTHROPIC_DEFAULT_HAIKU_MODEL=doubao-seed-code
ANTHROPIC_DEFAULT_SONNET_MODEL=doubao-seed-code
ANTHROPIC_DEFAULT_OPUS_MODEL=doubao-seed-code
ANTHROPIC_SMALL_FAST_MODEL=doubao-seed-code
# 飞书应用配置
FEISHU_APP_ID=cli_a92cfb713139dbcd
FEISHU_APP_SECRET=c7vPFXLpgEhe5X4U1Jou1g334El2kbtG
FEISHU_RECEIVE_USER_ID=ou_ca94d488eae408457c3c3284e82020a7
FEISHU_RECEIVE_ID_TYPE=open_id
FEISHU_CONNECTION_MODE=websocket
# 功能开关
MYCC_FEISHU_ONLY=true
FEISHU_SHOW_TOOL_USE=true
# 服务配置
PORT=18080
INJECT_HOSTNAME=false# 开发模式启动(会自动重新加载)
npm run dev# 生产模式启动
npm start# 使用 PM2 后台运行
npm install -g pm2
pm2 start ecosystem.config.js --name feishu-claude-code
# 查看运行状态
pm2 status
# 查看日志
pm2 logs feishu-claude-code访问 飞书开放平台 并登录您的飞书账号。
- 在飞书开放平台点击"创建企业自建应用"
- 填写应用基本信息:
- 应用名称:
Claude Code - 描述:
Claude Code 助手 - 应用类型:
企业自建
- 应用名称:
- 点击"创建"
在应用管理页面,找到以下信息:
App ID: cli_a92cfb713139dbcd # 替换为您的应用ID
App Secret: c7vPFXLpgEhe5X4U1Jou1g334El2kbtG # 替换为您的应用密钥
在"权限管理"页面,添加以下权限:
im:message- 消息接收权限im:chat- 群聊权限im:user- 用户信息权限auth:tenant- 租户权限
在"事件与回调"页面,配置事件订阅:
- 事件类型:
im.message.receive_v1(接收消息) - 加密密钥:
feishu-encrypt-key - 验证令牌:
feishu-verification-token
默认端口为 18080,可通过以下方式修改:
# 环境变量方式
export PORT=8080
# 配置文件方式
PORT=8080 npm start如果需要外部访问,可配置反向代理(如 Nginx):
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:18080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}# 查看当前技能列表
curl -X GET http://localhost:18080/skills/list \
-H "Authorization: Bearer YOUR_AUTH_TOKEN"# 从 GitHub 安装技能
npm run install-skill -- --repo=anthropics/skills
# 或者从本地安装
npm run install-skill -- --path=/path/to/skill# 检查服务健康状态
curl -X GET http://localhost:18080/health
# 检查网络连接
curl -X GET http://localhost:18080/device# 查看应用日志
tail -f /path/to/feishu-claude-code/logs/app.log
# 查看飞书连接日志
tail -f /path/to/feishu-claude-code/logs/feishu.log-
服务启动失败
- 检查端口是否被占用:
lsof -i :18080 - 检查依赖是否完整:
npm install - 检查配置文件:
cat .env
- 检查端口是否被占用:
-
飞书消息接收失败
- 检查应用凭证是否正确
- 检查事件订阅配置
- 检查网络连接是否正常
-
技能无法加载
- 检查技能目录权限
- 检查技能文件是否完整
- 检查 Node.js 版本
# 启用详细日志
DEBUG=feishu-claude-code:* npm start
# 检查进程状态
ps aux | grep feishu-claude-code
# 检查网络包
tcpdump -i any port 18080 -w debug.pcap#!/bin/bash
# deploy.sh - 自动化部署脚本
set -e
echo "开始部署 Claude Code 飞书连接..."
# 检查 Node.js 版本
if ! node -v &>/dev/null; then
echo "错误:Node.js 未安装"
exit 1
fi
# 检查 npm 版本
if ! npm -v &>/dev/null; then
echo "错误:npm 未安装"
exit 1
fi
# 安装依赖
echo "安装依赖..."
npm install
# 编译 TypeScript
echo "编译项目..."
npm run build
# 检查配置文件
if [ ! -f .env ]; then
echo "警告:配置文件不存在,使用默认配置"
cp .env.example .env
fi
# 启动服务
echo "启动服务..."
npm start
echo "部署完成!"
echo "访问地址:http://localhost:18080"
echo "查看日志:tail -f logs/app.log"# 赋予执行权限
chmod +x deploy.sh
# 运行部署脚本
./deploy.sh
# 后台运行
nohup ./deploy.sh &# 限制配置文件权限
chmod 600 .env
# 加密敏感信息
gpg --encrypt --recipient your@email.com .env# 配置防火墙
ufw allow 18080/tcp
ufw enable
# 使用 HTTPS
npm install -g certbot
certbot certonly --standalone -d your-domain.com# 定期更新依赖
npm audit fix
# 检查安全漏洞
npm audit --audit-level=high# 检查依赖更新
npm outdated
# 检查项目更新
git status# 备份当前版本
cp -r feishu-claude-code feishu-claude-code-$(date +%Y%m%d)
# 拉取最新代码
git pull origin main
# 升级依赖
npm install
# 重启服务
npm restart- GitHub Issues:在项目仓库中提交 Issue
- Discord:加入官方 Discord 社区
- 文档:查看项目 Wiki 和在线文档
- 邮箱:support@example.com
- 微信:your-wechat-id
- 飞书群:your-feishu-group
本项目采用 MIT 许可证,详情请见 LICENSE 文件。
最后更新:2024年1月