完全独立的QQ空间自动发布插件,包含完整的QQ空间API实现、自动Cookie获取和评论监听功能。
- ✅ 完全独立:内置完整QQ空间API实现,无需依赖其他插件
- ✅ 自动Cookie管理:智能Cookie获取系统
- 自动从Napcat获取Cookie
- Napcat失败自动切换到二维码扫码模式
- Cookie自动保存和重用
- ✅ 智能内容生成:基于LLM的自然内容生成
- 从群聊上下文自动生成贴近生活的说说
- 可配置生成提示词
- 支持自定义上下文消息数量
- 内置内容安全清洗机制
- ✅ 灵活定时发布:
- 使用CRON表达式精确控制发布时间
- 支持随机延迟功能,让发布时间更自然
- 可配置随机延迟时间范围(分钟级)
- ✅ 评论智能监听:
- 自动定时检查说说评论
- LLM生成智能回复
- 评论去重防止重复回复
- 可配置监听间隔
- ✅ 多模型备份机制:
- 主模型+备用模型双保险
- 主模型失败自动切换到备用模型
- 详细模型使用日志
- ✅ 智能重试机制:
- 可配置重试次数(默认3次)
- 可配置重试延迟(默认5秒)
- 详细的重试日志记录
- ✅ 手动控制方法:
- 手动发布说说(支持自定义内容)
- 强制Cookie刷新
- 手动评论检查
- 手动生成内容预览
- ✅ 安全测试模式:
- dry_run模式安全测试所有功能
- 生成内容但不实际发布
- 完整模拟运行流程
- ✅ 动态依赖管理:
- 自动安装所需依赖(httpx, croniter)
- 无需手动配置环境
- ✅ 详细日志系统:
- Cookie获取状态
- 内容生成过程
- 发布结果反馈
- 评论监听活动
- 模型使用和重试记录
将 qzone_auto 目录放到NekroAgent插件目录:
nekro_agent/plugins/workdir/qzone_auto/
重启NekroAgent即可。
进入Docker管理面板(这里用的1Panel),获取Napcat的局域网地址。
](https://github.com./FuDujilm/NerkoAgent-QzoneSender/raw/main/image/ip.png)
进入Napcat管理面板,新建HTTP服务器
保持如下配置
来到NA的插件管理器(插件管理->Qzone Sender)填入配置。
修改完配置后建议重启NA!
# 基础配置
qq_account: "你的QQ号"
# Cookie自动获取(推荐)
enable_auto_cookie: true # 启用自动获取
napcat_host: "127.0.0.1" # Napcat地址
napcat_port: "9999" # Napcat端口
napcat_token: "" # Napcat token(如果有)
# 源群聊
source_chat_key: "onebot11_group_群号"
model_group: "default-chat"
# 定时发布
enable_auto_post: true
cron_expression: "0 9,21 * * *"
# 随机延迟(可选,让发布时间更自然)
enable_random_delay: true # 启用随机延迟
random_delay_min: 0 # 最小延迟(分钟)
random_delay_max: 60 # 最大延迟(分钟)
# 评论监听
enable_comment_monitor: true # 启用评论监听
monitor_interval_minutes: 5 # 每5分钟检查一次
# LLM配置
max_retries: 3 # LLM调用重试次数
retry_delay_seconds: 5 # 重试延迟(秒)
dry_run: true # 先测试工作原理:
- 首先尝试从Napcat获取Cookie
- 如果失败,自动生成二维码让你扫码登录
- Cookie会自动保存,下次直接使用
如果不想自动获取,也可以手动配置:
qq_account: "你的QQ号"
# 关闭自动获取
enable_auto_cookie: false
# 手动填写Cookie
cookie_skey: "从浏览器复制"
cookie_p_skey: "从浏览器复制"
cookie_uin: "从浏览器复制"
# 其他配置同上...获取Cookie步骤:
- 浏览器登录QQ空间
- F12打开开发者工具
- Application → Cookies → https://qzone.qq.com
- 复制
skey,p_skey,uin的值
确保Napcat正常运行并配置了 /get_cookies 接口。
在NekroAgent配置界面填写:
- QQ账号
- Napcat信息(如果自动获取)
- 源群聊chat_key
- 模型组
- 开启测试模式
重启NekroAgent,查看日志:
- 如果配置了Napcat,会自动从Napcat获取Cookie
- 如果Napcat失败,会生成二维码,使用手机QQ扫描即可
- 测试模式下会生成内容但不实际发布
确认测试无误后,关闭 dry_run 即可正式运行。
启用自动获取Cookie
↓
尝试从Napcat获取
↓
成功? → 使用Cookie发布
↓ 否
生成二维码
↓
手机QQ扫码登录
↓
成功? → 保存Cookie → 发布
↓ 否
报错:无法获取Cookie
- 根据CRON表达式定时发布
- 从群聊上下文生成内容
- 自然贴近生活的动态
- 在CRON触发时间基础上添加随机延迟
- 让发布时间更加自然,不会每次都是固定时间
- 例如:CRON设置为
0 9 * * *(每天9点),启用随机延迟 0-60 分钟- 实际发布时间会在 9:00-10:00 之间随机选择
- 配置示例:
enable_random_delay: true random_delay_min: 0 # 最少延迟0分钟 random_delay_max: 120 # 最多延迟120分钟
- 定时检查说说评论
- 自动识别新评论
- LLM生成智能回复
- 跳过已回复的评论
- 配置主模型和备用模型
- 主模型失败自动切换到备用模型
- 支持多次重试机制
- 详细的模型使用日志
- 检查Napcat是否正常运行
- 检查端口和token是否正确
- 检查Napcat是否配置了
/get_cookies接口
如果Napcat失败,插件会自动切换到扫码模式。
二维码会保存在插件数据目录:
nekro_agent/data/plugins/qzone_auto/qrcode.png
日志会显示完整路径,使用手机QQ扫描即可。
会的。Cookie过期后:
- 如果配置了Napcat,会自动重新获取
- 如果是扫码模式,需要重新扫码
在群里发消息,查看NekroAgent日志即可看到chat_key。
调整 generation_prompt 提示词或 context_message_count 数量。
0 9 * * * # 每天9点
0 9,21 * * * # 每天9点和21点
0 */6 * * * # 每6小时
0 12 * * 1-5 # 周一到周五12点
- CookieManager: 自动Cookie管理(Napcat + 扫码)
- 优先从Napcat获取Cookie
- 失败自动降级到二维码扫码
- Cookie自动保存和验证
- QzoneAPI: 完整的QQ空间API实现
- 发布说说(支持自定义内容)
- 获取说说列表
- 回复评论
- 完整的签名和加密实现
- 定时任务: 基于croniter的精确调度
- CRON表达式解析
- 随机延迟注入
- 自动计算下次执行时间
- 评论监听: 异步协程后台监听
- 定时轮询评论
- 评论去重机制
- 自动生成回复
- 多模型支持: OpenAI兼容API
- 主模型+备用模型
- 自动模型切换
- 可配置重试机制
- 内容生成: 基于上下文的智能生成
- 群聊历史分析
- 内容安全清洗
- 自然语言风格
- 动态依赖: 使用
dynamic_import_pkg自动管理依赖 - 异步协程: 后台任务不阻塞主程序
- 数据库集成: 直接读取NekroAgent消息数据库
- 沙盒方法: 4个手动控制工具
- 手动发布说说
- 强制刷新Cookie
- 手动检查评论
- 预览生成内容
- 重试机制: 可配置的重试次数和延迟
- 错误处理: 完善的异常捕获和日志
- 状态管理: 全局任务状态追踪
- 评论去重: 内存中维护已处理评论ID集合
qzone_auto/
├── __init__.py # 包初始化(5行)
├── plugin.py # 完整实现(1092行)
│ # - Cookie自动获取
│ # - QQ空间API(发布/获取/回复)
│ # - 定时发布任务
│ # - 评论监听任务
│ # - LLM调用
└── README.md # 本文档
- Cookie会在内存中临时使用,不会被保存到配置文件
- 扫码登录的二维码在登录成功后会自动删除
- 建议使用Napcat模式,更加安全便捷
- 评论ID去重防止重复回复
版本: 2.3.0 | 完全独立 | 自动Cookie | 评论监听 | 随机延迟 | 多模型备份 | 智能重试