公众号语录图文智能助手
技术栈
源码介绍
微信公众号图文自动化发布工具
1. 项目概述
本工具是一个基于Python开发的智能公众号内容管理系统,旨在自动化生成与发布微信公众号图文,解决素材整理、生成及内容发布的繁琐过程,提升运营效率。系统使用PyQt5构建用户界面,通过Selenium实现浏览器自动化,并集成了多个AI服务(Kimi AI、可灵AI)来生成高质量的文字和图片内容。
技术栈
- 开发框架:PyQt5(图形界面开发)
- 浏览器自动化:Selenium + ChromeDriver
- 图像处理:Pillow
- 数据库:SQLite
- 日志管理:Loguru
- AI服务:Kimi AI(文本生成)、可灵AI(图片生成)
2. 功能模块设计
2.1 语录素材录入
2.1.1 手动导入
- 功能描述:支持导入本地TXT文件,系统自动按行解析为独立语录
- 实现方式:
- 通过
text_handler.py
中的import_from_txt
方法处理文件导入 - 使用
db_handler.py
将解析的语录存入数据库 - 在
quote_tab.py
中提供用户界面操作
2.1.2 自动生成(Kimi AI)
- 功能描述:通过Selenium自动操作Kimi AI生成语录
- 实现细节:
kimi_handler.py
负责与Kimi AI的交互- 支持自定义提示词和生成数量
- 实现智能等待和自动重试机制
- 自动解析和存储生成的语录
2.2 图片素材录入
2.2.1 手动导入
- 功能描述:支持批量导入本地图片文件
- 实现方式:
- 通过
image_handler.py
处理图片导入 - 自动验证图片有效性
- 生成唯一文件名并保存
- 在数据库中记录图片信息
2.2.2 自动生成(可灵AI)
- 功能描述:通过Selenium自动操作可灵AI生成图片
- 实现细节:
keling_handler.py
负责与可灵AI的交互- 支持提示词优化(通过Kimi AI)
- 自动下载和验证生成的图片
- 实现并发控制和错误重试
2.3 公众号图文自动发布
2.3.1 登录管理
- 功能描述:自动化管理微信公众号登录状态
- 实现方式:
selenium_handler.py
处理浏览器自动化- 实现Cookie管理和登录状态检查
- 支持手动扫码和自动登录
2.3.2 内容发布
- 功能描述:自动组合语录和图片并发布
- 实现细节:
wechat_handler.py
负责发布流程- 支持图文合成和预览
- 实现定时发布功能
- 自动记录发布日志
3. 用户界面设计
3.1 主界面
- 实现文件:
main.py
- 功能特点:
- 多标签页设计
- 统一的界面风格
- 响应式布局
- 状态栏信息显示
3.2 功能模块
- 语录管理(
quote_tab.py
) - 导入和生成控制
- 语录列表显示
-
批量操作功能
-
图片管理(
image_tab.py
) - 图片导入和生成
- 预览功能
-
批量处理
-
发布管理(
publish_tab.py
) - 内容预览
- 发布控制
-
状态监控
-
系统设置(
settings_tab.py
) - 基本配置
- 自动化参数
-
定时任务设置
-
日志查看(
log_tab.py
) - 实时日志显示
- 日志文件管理
- 自动刷新功能
4. 数据存储设计
4.1 数据库结构
-
语录表
sql CREATE TABLE quotes ( id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT NOT NULL, source TEXT NOT NULL, created_at DATETIME DEFAULT (datetime('now', 'localtime')), used_count INTEGER DEFAULT 0 )
-
图片表
sql CREATE TABLE images ( id INTEGER PRIMARY KEY AUTOINCREMENT, file_path TEXT NOT NULL, prompt TEXT, source TEXT NOT NULL, created_at DATETIME DEFAULT (datetime('now', 'localtime')), used_count INTEGER DEFAULT 0 )
-
发布记录表
sql CREATE TABLE publish_records ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, description TEXT NOT NULL, image_count INTEGER NOT NULL, quote_count INTEGER NOT NULL, publish_time DATETIME DEFAULT (datetime('now', 'localtime')), status TEXT DEFAULT '草稿' )
5. 流程图
5.1 语录自动生成流程
1 |
|
5.2 图片自动生成流程
1 |
|
5.3 图文发布流程
1 |
|
6. 项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
7. 部署指南
7.1 环境要求
- Python 3.8+
- Chrome浏览器
- Windows 10/11操作系统
7.2 安装步骤
-
安装依赖
bash pip install -r requirements.txt
-
配置浏览器
- 装Chrome浏览器
-
确保ChromeDriver版本匹配
-
初始化系统
bash python main.py
-
配置AI服务
- 登录Kimi AI
- 登录可灵AI
7.3 常见问题
- ChromeDriver版本不匹配
-
解决:更新ChromeDriver到对应版本
-
AI服务登录失败
-
解决:检查网络连接和登录状态
-
数据库访问错误
-
解决:检查文件权限和路径
-
界面显示异常
- 解决:检查PyQt5安装和分辨率设置
8. 注意事项
8.1 使用建议
- 定期备份数据库
- 保持浏览器版本更新
- 监控系统日志
8.2 安全建议
- 妥善保管登录信息
- 定期更新密码
- 注意内容合规性
8.3 维护建议
- 定期清理缓存
- 更新依赖包
- 检查系统状态