编程专家
|
45831ad586
|
fix: 自动清理 domain 配置中的 Markdown 链接格式
- setConfigValue: 添加 URL 清理逻辑,移除 Markdown 链接格式和末尾斜杠
- handleConfigCommandV2: /config add 命令自动清理 domain 参数
- 防止用户从飞书卡片复制 URL 时带入 Markdown 格式
修复场景:
- 用户从卡片复制域名 [https://example.com](https://example.com/)
- 使用 /config set 命令设置 domain
- 自动清理为纯 URL: https://example.com
|
2026-03-25 11:12:52 +08:00 |
|
编程专家
|
1506c77a53
|
fix: 修复 CDN 刷新静默失败问题
- 添加 CDN 刷新日志输出,便于排查问题
- 添加密钥配置检查,未配置时给出明确提示
- 修复生产环境日志不输出的问题
- CDN 刷新失败不影响上传结果,仅记录警告
|
2026-03-25 10:59:54 +08:00 |
|
编程专家
|
0d98013464
|
feat: 添加 Windows 专用部署脚本
- deploy-windows.bat: 一键部署脚本 (Node.js + PM2)
- docker-windows.bat: Docker 一键部署脚本
- manage-windows.bat: 服务管理工具 (启动/停止/日志/自启)
- check-env.bat: 环境检查工具
- uninstall.bat: 卸载清理工具
- WINDOWS_DEPLOY.md: Windows 部署完整文档
|
2026-03-25 08:23:50 +08:00 |
|
饭团
|
68f7fb57ee
|
fix: 上传成功后清除文件状态,防止重复使用旧文件
- select_profile: 选择配置时清除 file_key,确保必须重新发送文件
- confirm_upload: 上传成功后 clearUserState() 完整清除状态
- handleFileReceived: 收到新文件时清除旧配置,避免配置污染
修复问题:之前上传成功后 userStates 中的 file_key 未清除,
导致再次点击配置可能误用之前的文件,造成混乱。
|
2026-03-20 00:48:13 +08:00 |
|
饭团
|
7a183d3324
|
fix: 修复 /profile rename 命令中 args 未定义的问题
- 在 handleProfileCommandV2 中添加 args 变量定义
- 现在 /profile rename 可以正常使用
|
2026-03-15 00:41:26 +08:00 |
|
饭团
|
79112210d4
|
feat: 添加 rename 重命名功能
- /config rename <旧名称> <新名称> - 重命名存储桶
- 自动更新引用此存储桶的上传配置
- 禁止重命名 default 存储桶
- 检查新名称是否已存在
- /path rename <旧名称> <新名称> - 重命名预设路径
- 自动更新引用此路径的上传配置
- 检查新名称是否已存在
- /profile rename <旧名称> <新名称> - 重命名上传配置
- 检查新名称是否已存在
- 更新帮助卡片和 README.md 文档
- 支持带空格的名称(如 'IPA 上传')
|
2026-03-15 00:36:03 +08:00 |
|
饭团
|
257d52c1a8
|
fix: 改用 DaoCloud 镜像源
|
2026-03-14 23:10:34 +08:00 |
|
饭团
|
7ccb9b2cb2
|
fix: 改用腾讯云镜像源
- Dockerfile: 使用 ccr.ccs.tencentyun.com/library/node:18-alpine
- 阿里云镜像仓库无 node 镜像
|
2026-03-14 23:09:52 +08:00 |
|
饭团
|
22e7baa3e7
|
fix: 使用阿里云镜像源解决国内拉取问题
- Dockerfile: 改用 registry.cn-hangzhou.aliyuncs.com/library/node:18-alpine
- 解决 Docker Hub 访问超时问题
|
2026-03-14 23:06:01 +08:00 |
|
饭团
|
f856b00eed
|
docs: 添加国内 Docker 镜像加速器配置说明
- README.md: 新增国内网络问题解决方案
- Docker 镜像加速器配置
- 使用国内 Node.js 镜像
- 手动拉取镜像方法
- Dockerfile: 注释说明国内镜像源用法
|
2026-03-14 22:56:10 +08:00 |
|
饭团
|
f7e71a9bb0
|
docs: 添加完整的 Docker 部署教程
- README.md: 新增详细的 Docker 部署章节
- Docker Compose 方式(推荐)
- Docker 命令方式
- 多阶段构建(生产环境)
- 故障排查命令
- 部署检查清单
- Dockerfile: 优化安全配置
- 使用非 root 用户运行
- 添加健康检查
- 修正端口为 3030
- 优化目录权限
- 新增 docker-compose.yml 示例文件
- 更新 .gitignore 忽略 docker-compose.override.yml
|
2026-03-14 22:24:56 +08:00 |
|
饭团
|
9f5aaacb10
|
security: 从 Git 中移除敏感配置文件
- 从 Git 历史中移除 .env.production(包含敏感信息)
- 更新 .gitignore 忽略所有 .env.* 文件
- 添加更完整的 .gitignore 规则
⚠️ 注意:服务器上的 .env.production 文件仍然保留,只是不再提交到 Git
|
2026-03-14 22:00:33 +08:00 |
|
饭团
|
52ac421a0b
|
docs: 在 README 中说明配置文件的作用和安全注意事项
- 添加 .env.example/.env/.env.production 的用途说明表格
- 说明哪些文件应该/不应该提交到 Git
- 添加安全提示,强调敏感信息不要提交
|
2026-03-14 21:57:40 +08:00 |
|
饭团
|
67fb630069
|
fix: 支持带空格的名称参数
- 修改 /profile remove 命令,支持删除带空格的配置名称(如 'IPA 上传')
- 修改 /config remove 命令,支持删除带空格的存储桶名称
- 修改 /path remove 命令,支持删除带空格的预设路径名称
- 修改 /profile add 命令,支持带空格的配置名称
- 修改 /config add 命令,支持带空格的存储桶名称
- 修改 /path add 命令,支持带空格的路径名称
参数解析逻辑:
- 先提取子命令(第一个空格前的内容)
- 剩余内容作为参数文本
- remove 命令:整个参数文本作为名称(支持空格)
- add 命令:从后往前解析固定参数,其余合并为名称
|
2026-03-14 21:46:02 +08:00 |
|
饭团
|
3045cc86d5
|
feat: 完善 /config /path /profile 命令的 add/remove/list 功能
- /config: 新增 add/remove 命令,支持存储桶的添加和删除(带引用检查)
- /path: 新增 remove 命令,支持预设路径删除(带引用检查)
- /profile: 已有 add/remove/list 功能,增强验证逻辑
- 帮助卡片:全面更新所有命令的详细说明和示例
- README.md: 补充完整的命令表格和使用示例
- CHANGELOG.md: 创建更新日志文档
- 安全保护:删除前检查引用关系,禁止删除 default 存储桶
|
2026-03-14 20:16:05 +08:00 |
|
饭团
|
4cf65bd9bd
|
fix: 上传成功回复显示实际存储桶名称而非配置别名
- 修复上传成功消息中存储桶名称显示问题
- 现在显示七牛云实际 bucket 名称(如 daoqires)而不是配置别名(如 default)
- 提升用户体验,避免混淆
|
2026-03-07 15:17:29 +08:00 |
|
饭团
|
a1dacdbda5
|
修复卡片交互回调响应超时问题 (错误码 200341)
根据飞书官方文档,卡片交互回调需要在 3 秒内响应。
修改:
- 立即返回 toast 响应(3 秒内)
- 异步处理后续操作(发送消息、上传文件等)
- 使用规范的响应格式
修复前:
- 等待所有处理完成后返回空对象
- 导致响应超时,弹出错误提示
修复后:
- 立即返回 toast 提示
- 后台异步处理业务逻辑
- 用户通过消息接收处理结果
|
2026-03-06 17:53:41 +08:00 |
|
饭团
|
85b9b95441
|
更新 README.md,移除已删除文档的引用
|
2026-03-06 14:29:54 +08:00 |
|
饭团
|
be5400c39e
|
添加飞书权限配置文档
|
2026-03-06 14:18:39 +08:00 |
|
饭团
|
5ca8f9a02f
|
删除 /skill list 命令(独立版本不需要)
|
2026-03-06 12:23:37 +08:00 |
|
饭团
|
a18ddc028c
|
清理调试代码和废弃文件
清理内容:
- 删除废弃文档:DEPLOY.md, FEISHU_PERMISSIONS.md, NGINX.md, WEBSOCKET.md, WINDOWS.md
- 删除废弃服务文件:qiniu-bot.service, start.bat, start.sh
- 删除废弃代码目录:src/cards/
- 优化日志:仅非生产环境输出调试日志
- 保留核心文件:Dockerfile, .env*, README.md, pm2.config.cjs
生产环境设置:
- NODE_ENV=production 时不输出调试日志
- NODE_ENV=development 时输出完整日志
|
2026-03-06 12:22:31 +08:00 |
|
饭团
|
875df38c0c
|
添加 /skill list 命令查看技能列表
|
2026-03-06 12:14:44 +08:00 |
|
饭团
|
cc961e3b4e
|
完善欢迎卡片和帮助信息
修改:
- 欢迎卡片添加帮助按钮
- 帮助信息使用卡片形式展示,更美观
- 帮助卡片包含:
- 上传方式说明
- 配置命令列表
- 路径命令列表
- 使用示例
- 快捷操作按钮
|
2026-03-06 12:06:31 +08:00 |
|
饭团
|
596869260f
|
profile 路径改为引用 path 的键名
修改:
- profile 配置中的 path 字段现在存储路径键名,而不是直接路径值
- /profile add 命令现在使用路径键名:/profile add IPA 上传 default ipa
- 上传时根据路径键名从 uploadPaths 中获取实际路径
- 列表卡片显示路径键名和对应的值
配置示例:
{
"uploadPaths": {
"ipa": "/ipa/gamehall.ipa"
},
"uploadProfiles": {
"IPA 上传": {
"bucket": "default",
"path": "ipa" // 引用 uploadPaths 中的键名
}
}
}
|
2026-03-06 11:57:00 +08:00 |
|
饭团
|
9bad70436a
|
优化列表显示为表格形式
修改:
- /config list - 使用表格展示存储桶配置
- /path list - 使用表格展示预设路径
- /profile list - 使用表格展示上传配置模板
表格格式:
| 名称 | 存储桶 | 区域 | CDN 域名 |
|------|--------|------|----------|
| default | daoqires | z2 | https://...
|
2026-03-06 10:47:37 +08:00 |
|
饭团
|
4d2001865d
|
添加上传配置模板命令管理
新命令:
/profile list - 查看上传配置模板
/profile add <名称> <存储桶> [路径] - 添加上传配置
/profile remove <名称> - 删除上传配置
使用示例:
/profile add IPA 上传 default /ipa/
/profile add 备份 default /backup/
/profile list
/profile remove 备份
配置存储在 config/qiniu-config.json 的 uploadProfiles 字段
|
2026-03-06 10:37:54 +08:00 |
|
饭团
|
00824c8433
|
v5 - 简化流程:上传配置 + 一键上传
|
2026-03-06 10:21:13 +08:00 |
|
饭团
|
6deae77a15
|
v4 - 主动触发 + 确认上传流程
|
2026-03-06 10:05:34 +08:00 |
|
饭团
|
e13b86fcd0
|
✅ 修复死循环问题 - 添加状态记忆功能
问题:
选择路径后重新发送文件,又显示选择卡片,导致死循环
解决方案:
1. 添加用户状态临时存储(内存)
2. 选择存储桶/路径后保存状态(5 分钟有效)
3. 重新发送文件时,检测是否有保存的状态
4. 有状态则直接上传,无状态则显示选择卡片
使用流程:
1. 发送文件 → 显示选择卡片
2. 选择存储桶 → 保存状态,提示重新发送
3. 选择路径 → 保存状态,提示重新发送
4. 重新发送文件 → 使用保存的状态直接上传
5. 上传完成后清除状态
状态有效期:5 分钟
|
2026-03-06 09:12:18 +08:00 |
|
饭团
|
bf5b79c62b
|
✅ 添加路径管理命令
功能:
1. 简化预设路径配置(原文件名 + ipa)
2. 添加/path 命令管理预设路径
- /path list - 查看预设路径
- /path add <名称> <路径> - 添加预设路径
- /path remove <名称> - 删除预设路径
配置示例:
{
"uploadPaths": {
"原文件名": "",
"ipa": "/ipa/gamehall_jinxianv2.ipa"
}
}
使用示例:
/path add backup /backup/files/
/path list
/path remove backup
|
2026-03-06 08:57:18 +08:00 |
|
饭团
|
0bb34a774d
|
✅ v3 版本 - 支持存储桶和路径选择
功能:
1. 预设路径配置(在 config/qiniu-config.json 中配置 uploadPaths)
2. 文件上传时显示存储桶选择按钮
3. 文件上传时显示路径选择按钮
4. 快速上传按钮(使用默认配置)
5. 取消按钮
配置示例:
{
"buckets": { ... },
"uploadPaths": {
"原文件名": "",
"/config/": "config/",
"/backup/": "backup/",
"/uploads/": "uploads/"
}
}
使用流程:
1. 发送文件
2. 选择存储桶(可选)
3. 选择路径(可选)
4. 点击"使用默认配置上传"
5. 或重新发送文件(使用选择的配置)
|
2026-03-06 08:44:12 +08:00 |
|
饭团
|
019a013b5e
|
✅ 添加存储桶选择功能
功能:
1. 文件上传时显示存储桶选择按钮
2. 选择存储桶后显示确认卡片
3. 支持使用原文件名或自定义路径上传
4. 支持命令:/upload /路径/文件名 存储桶名
交互流程:
1. 发送文件 → 显示存储桶选择按钮
2. 点击存储桶 → 显示确认卡片
3. 点击使用原文件名上传 → 开始上传
4. 或回复消息设置路径
配置:
- 多存储桶配置在 config/qiniu-config.json
- 当前配置:default 存储桶
|
2026-03-06 08:40:19 +08:00 |
|
饭团
|
f7776aaf69
|
✅ v2 版本 - 飞书文件上传功能修复完成
主要修复:
1. 使用飞书 SDK im.messageResource.get API 下载文件(和 OpenClaw 一致)
2. 修复 sendMessage 方法,自动判断 receive_id_type(oc_=chat_id, ou_=open_id)
3. 修复 sendCard 方法,传递正确的 receive_id_type 参数
4. 修复事件类型识别,支持飞书 v2 schema(header.event_type)
5. 添加临时文件清理机制(每小时清理 1 小时前的文件)
6. 完善卡片交互(确认上传/取消按钮)
7. 完善错误处理和日志记录
功能:
- ✅ 飞书文件接收和卡片回复
- ✅ 卡片交互(确认/取消)
- ✅ 七牛云上传(支持多存储桶)
- ✅ CDN 自动刷新
- ✅ 临时文件自动清理
- ✅ 配置管理命令(/config)
配置文件:
- config/qiniu-config.json - 七牛云配置
- .env - 飞书应用配置
|
2026-03-06 08:38:52 +08:00 |
|
饭团
|
3769d164b1
|
feat: 支持 HTTP 回调和 WebSocket 长连接两种模式
新增功能:
- 通过 FEISHU_MODE 配置切换模式 (http/websocket)
- 安装飞书 SDK (@larksuiteoapi/node-sdk)
- WebSocket 模式支持内网部署(无需公网 IP)
- 新增 WEBSOCKET.md 配置指南
更新:
- README.md 添加两种模式说明
- .env.example 添加 FEISHU_MODE 配置
- 健康检查返回当前模式信息
|
2026-03-05 16:42:17 +08:00 |
|
饭团
|
5294bf49d8
|
docs: 修正 README.md 中的端口为 3030
- Docker 端口映射
- Nginx 配置示例
- 环境变量示例
|
2026-03-05 15:44:46 +08:00 |
|
饭团
|
8e1462a6db
|
docs: 修正飞书权限说明
- 移除不准确的权限代码(im:resource)
- 使用实际导出的权限:im:message, im:message:readonly, aily:file:read, aily:file:write
|
2026-03-05 15:43:40 +08:00 |
|
饭团
|
ff3ce48207
|
chore: 默认端口改为 3030
- 更新 .env, .env.example, .env.production
- 避免与 3000 端口冲突
|
2026-03-05 15:37:12 +08:00 |
|
饭团
|
2bc5c7e0be
|
docs: 添加 Nginx 部署指南和飞书权限说明
新增:
- NGINX.md: Nginx 反向代理部署指南(含 HTTPS 配置)
- FEISHU_PERMISSIONS.md: 飞书权限配置指南
修正:
- README.md: 更正飞书权限(im:file → im:message + im:resource)
- 添加文档链接
|
2026-03-05 14:48:36 +08:00 |
|
饭团
|
b00567762f
|
Initial commit: 七牛云上传飞书机器人
功能:
- 飞书交互卡片支持
- 七牛云文件上传
- 自动 CDN 刷新
- 多存储桶配置
- 跨平台部署(Linux/macOS/Windows)
- Docker 支持
|
2026-03-05 14:22:26 +08:00 |
|