2026-04-10 20:05:24 +08:00
|
|
|
|
# yidaima - 自动化工具集
|
|
|
|
|
|
|
|
|
|
|
|
综合自动化工具,支持微信公众号文章发布、项目截图、文章管理等功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 功能模块
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 发布微信公众号
|
|
|
|
|
|
- Markdown 编辑器,支持代码高亮和主题切换
|
|
|
|
|
|
- 一键转换为微信适配格式
|
|
|
|
|
|
- 支持富文本编辑和实时预览
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 文章发布管理
|
|
|
|
|
|
- 文章列表展示(分页、搜索)
|
|
|
|
|
|
- 文章状态管理
|
|
|
|
|
|
- 数据库持久化存储
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 项目运行截图
|
|
|
|
|
|
- 自动化截取项目运行界面
|
|
|
|
|
|
- 支持配置截图区域和参数
|
|
|
|
|
|
- 适用于项目文档和演示
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 参数设置
|
|
|
|
|
|
- 数据库连接配置
|
|
|
|
|
|
- Umi-OCR 配置
|
|
|
|
|
|
- 截图参数配置
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
|
|
|
|
|
## 依赖与准备
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
- Python 3.8+
|
|
|
|
|
|
- MySQL 数据库
|
|
|
|
|
|
- **Umi-OCR**(用于 OCR 功能,需开启 HTTP 服务,默认 `http://127.0.0.1:1224/api/ocr`)
|
|
|
|
|
|
- **Playwright**(用于浏览器自动化,可选)
|
|
|
|
|
|
|
|
|
|
|
|
安装依赖:
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python -m pip install -r requirements.txt
|
2026-04-10 20:05:24 +08:00
|
|
|
|
python -m playwright install chromium # 仅浏览器自动化需要
|
2026-04-09 14:55:54 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
## 快速开始
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
### 启动 GUI
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-04-10 20:05:24 +08:00
|
|
|
|
python gui.py
|
2026-04-09 14:55:54 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
### 命令行模式
|
|
|
|
|
|
|
|
|
|
|
|
等待屏幕上出现文字:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --wait "确定" --timeout 20
|
|
|
|
|
|
```
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
点击屏幕上文字:
|
2026-04-09 14:55:54 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --click "确定"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
指定区域 OCR(格式:`left,top,width,height`):
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --wait "登录" --region 100,100,800,600
|
|
|
|
|
|
```
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
### 百度搜索示例(Playwright)
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-04-10 20:05:24 +08:00
|
|
|
|
python baidu_playwright.py --keyword "java教程"
|
|
|
|
|
|
# 无头模式
|
|
|
|
|
|
python baidu_playwright.py --keyword "java教程" --headless
|
2026-04-09 14:55:54 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 配置
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
编辑 `config.yaml` 或通过 GUI 设置:
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
- `database`: MySQL 数据库连接配置
|
2026-04-09 14:55:54 +08:00
|
|
|
|
- `umi_ocr.url`: Umi-OCR API 地址
|
2026-04-10 20:05:24 +08:00
|
|
|
|
- `screenshot.default_region`: 默认截图区域(null 为全屏)
|
|
|
|
|
|
- `screenshot.prefer_mss`: 优先使用 mss 截图(更快),失败自动回退
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
## 项目结构
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
2026-04-10 20:05:24 +08:00
|
|
|
|
├── gui.py # 主程序 GUI
|
|
|
|
|
|
├── markdown_editor.py # Markdown 编辑器
|
|
|
|
|
|
├── editor_gui.py # 编辑器界面
|
|
|
|
|
|
├── md_to_wechat.py # Markdown 转微信格式
|
|
|
|
|
|
├── wechat_publisher.py # 微信公众号发布
|
|
|
|
|
|
├── project_screenshot.py # 项目截图
|
|
|
|
|
|
├── db_manager.py # 数据库管理
|
|
|
|
|
|
├── config_loader.py # 配置加载
|
|
|
|
|
|
├── step1.py, step2.py # 自动化步骤
|
|
|
|
|
|
└── config.yaml # 配置文件
|
2026-04-09 14:55:54 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
## 技术栈
|
2026-04-09 14:55:54 +08:00
|
|
|
|
|
2026-04-10 20:05:24 +08:00
|
|
|
|
- **GUI**: Tkinter
|
|
|
|
|
|
- **数据库**: MySQL
|
|
|
|
|
|
- **OCR**: Umi-OCR
|
|
|
|
|
|
- **浏览器自动化**: Playwright
|
|
|
|
|
|
- **配置**: YAML
|