📁 GroupFS - QQ群文件管理插件
一款为 AstrBot 设计的QQ群文件管理插件,旨在简化和自动化群组的文件维护工作。
✨ 功能特性
- 文件搜索与预览: 使用
/sf指令快速搜索文件并预览.txt和.zip内容 - 智能重复检测: 使用
/ddf指令调用AI分析群文件,找出疑似重复的文件 - 文件管理: 支持精准删除和批量删除(管理员权限)
- 失效文件检测: 自动扫描并清理失效文件
- 定时自动化: 支持 Cron 表达式配置定时任务
- 容量监控: 实时监控群文件数量和空间占用
- 增量备份: 支持按日期筛选,只备份指定日期后的新文件
- 体验优化: 长消息自动合并转发,避免刷屏
💿 安装与依赖
进入容器安装依赖:如果你的 AstrBot 运行在 Docker 容器中,请先进入容器内部。
docker ps # 找到你的 AstrBot 容器ID docker exec -it <容器ID> bash # 或者 sh然后在容器内安装
zip依赖库:# 对于 Debian/Ubuntu 系统 apt-get update && apt-get install zip p7zip-full # 对于 Alpine Linux 系统 apk add zip p7zip安装插件: 下载本插件的完整文件夹,并放入 AstrBot 的
data/plugins/目录下。重启 AstrBot。
⚙️ 配置
首次加载后,请在 AstrBot 后台 -> 插件 页面找到本插件进行设置。所有配置项都有详细的说明和提示。
📖 使用指南
确保机器人在目标群组拥有管理员权限,否则它无法获取文件列表或执行删除、检查等操作。
🔍 搜索与预览
- 搜索文件:
/sf 文件关键词 - 预览文件:
/sf 文件关键词 序号
🗑️ 文件管理 (仅限管理员)
- 删除单个文件:
/df 文件关键词 序号 - 批量删除搜索结果:
/df 文件关键词 0 - 检查失效文件:
/cf(仅报告) - 检查并删除失效文件:
/cdf(自动清理) - 检测重复文件:
/ddf(AI智能分析)
💾 备份文件
- 备份当前群:
/gfb - 备份指定群:
/gfb <群号> - 增量备份:
/gfb <群号> <日期>- 日期格式支持:
YYYY-MM-DD,YYYYMMDD,YYYY/MM/DD - 示例:
/gfb 123456789 2024-01-01(只备份2024年1月1日及以后的文件)
- 日期格式支持:
⚙️ 自动化功能
- 容量监控与定时检查均为被动触发功能,只需在配置文件中正确设置,插件便会自动在后台执行。
⚠️ 使用注意事项
备份功能说明
一键备份 (/gfb) 指令稳定性取决于备份文件大小。
核心问题出在 Bot 后端 (NapCat/NTQQ) 的大文件上传:
- 远程部署/大文件:当备份文件较大(超过几百 MB)或您的 Bot 部署在远程服务器时,Bot 后端在文件上传过程中极易触发 网络超时 或 内部传输失败(
rich media transfer failed)。目前还没找到办法解决。
建议:
- 搭配清理工具:由于 NTQQ 客户端传输大文件时会产生大量且可能残留的临时文件,强烈建议搭配 astrbot_plugin_napdog 插件使用。
- 监控目录:请确保
napdog或其他清理工具能定时清理以下关键的 NTQQ 内部目录,以下仅供参考:/app/.config/QQ/NapCat/temp/(NapCat 临时目录)/app/.config/QQ/nt_qq_*/nt_data/File(NTQQ 核心文件缓存目录)
- 本地部署用户:可以直接访问插件的临时目录(
{data_path}/plugins_data/astrbot_plugin_GroupFS/temp_backup_cache),手动获取已下载和压缩完成的文件,临时文件将于10分钟后删除。
重复文件检测说明
重复文件检测 (/ddf) 依赖 LLM 进行智能分析:
- 文件数量限制:当群文件数量很多时,生成的文件列表可能会很长。请确您使用的 LLM 支持足够长的输入。
- 分析准确性:AI 分析结果仅供参考,建议人工复核后再删除文件。
📝 更新日志
点击展开更新日志
- v0.9
- 新增 重复文件检测指令 (
/ddf),支持调用AI智能分析群文件中的疑似重复文件。 - 优化 备份指令 (
/gfb),支持日期参数进行增量备份,只备份指定日期后的新文件。 - 优化 ZIP 预览功能,当压缩包内无文本文件时,自动展示文件结构列表。
- 优化 数据目录管理。
- 新增 重复文件检测指令 (
- v0.8.1
- 新增 一键备份指令 (
/gfb),可备份指定群聊的所有文件,大文件自动分卷,支持加密。
- 新增 一键备份指令 (
- v0.8
- 新增 压缩包预览 功能,支持使用
/sf指令预览.zip文件中首个.txt文件的内容。
- 新增 压缩包预览 功能,支持使用
- v0.7
- 新增 长消息自动合并转发 功能,可自定义触发转发的字数阈值,避免过长的报告刷屏。
- v0.6
- 新增 定时任务 功能,可按 Cron 表达式配置,在指定时间自动执行失效文件检查并发送报告。
- 优化项目结构,将部分辅助函数迁移至独立的
utils.py文件。
- v0.5
- 新增 批量检查指令 (
/cf),可扫描全群文件并生成详细的失效文件报告。 - 新增 批量清理指令 (
/cdf),可一键扫描并自动删除群内所有失效文件。 - 优化 删除指令 (
/df),增加按序号0批量删除所有搜索结果的功能。
- 新增 批量检查指令 (
- v0.4
- 新增 群文件容量监控 功能,可在文件上传后自动检测容量与数量,并在达到阈值时发送提醒。
- v0.3
- 新增 文本文件预览 功能,可通过
/sf ... <序号>指令查看多种格式的文本文件内容,并能识别失效文件。
- 新增 文本文件预览 功能,可通过
- v0.2
- 新增 独立的文件搜索指令 (
/sf);同时优化删除指令 (/df),支持在返回多个结果时,通过指定序号进行精准删除。
- 新增 独立的文件搜索指令 (
- v0.1
- 初步实现 基础的文件删除 功能,允许管理员通过
/df <文件名>指令管理群文件。
- 初步实现 基础的文件删除 功能,允许管理员通过
❓ 常见问题 (FAQ)
Q: 插件工作异常,该怎么办?
A: 在遇到任何插件运行错误或功能异常时,请按照以下步骤进行排查和解决:
- 重载插件
- 重启 NapCat (对于群文件的频繁遍历和大文件发送都极可能导致影响NapCat的正常运作)
- 重启 AstrBot
❤️ 支持
- AstrBot 帮助文档
- 如果您在使用中遇到问题,欢迎在本仓库提交 Issue。