主要功能: - 账号管理:添加/编辑/删除账号,测试登录 - 浏览任务:批量浏览应读/选读内容并标记已读 - 截图管理:wkhtmltoimage截图,查看历史 - 金山文档:扫码登录/微信快捷登录,自动上传截图 技术栈: - PyQt6 GUI框架 - Playwright 浏览器自动化 - SQLite 本地数据存储 - wkhtmltoimage 网页截图 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
124 lines
3.7 KiB
Markdown
124 lines
3.7 KiB
Markdown
# 知识管理平台助手 - 精简版
|
||
|
||
一个基于 PyQt6 的本地桌面应用,用于自动化处理知识管理平台的浏览、截图和上传任务。
|
||
|
||
## 功能特性
|
||
|
||
- ✅ **账号管理**:添加/编辑/删除账号,支持密码加密存储
|
||
- ✅ **自动浏览**:使用纯HTTP请求快速浏览内容并标记已读
|
||
- ✅ **网页截图**:使用wkhtmltoimage截取浏览结果
|
||
- ✅ **金山文档**:自动上传截图到金山文档表格
|
||
- ✅ **现代UI**:支持深色/浅色主题切换
|
||
|
||
## 安装
|
||
|
||
### 1. 安装 Python 依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 安装 Playwright 浏览器
|
||
|
||
```bash
|
||
playwright install chromium
|
||
```
|
||
|
||
### 3. 安装 wkhtmltoimage
|
||
|
||
从 https://wkhtmltopdf.org/downloads.html 下载安装。
|
||
|
||
安装后确保 `wkhtmltoimage` 在系统 PATH 中,或在设置中手动指定路径。
|
||
|
||
## 使用方法
|
||
|
||
### 启动应用
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 基本流程
|
||
|
||
1. **添加账号**:在"账号管理"页面添加知识管理平台账号
|
||
2. **开始浏览**:在"浏览任务"页面选择账号和浏览类型,点击开始
|
||
3. **查看截图**:浏览完成后自动截图,可在"截图管理"页面查看
|
||
4. **上传金山文档**(可选):
|
||
- 在"金山文档"页面配置表格链接和列设置
|
||
- 扫码登录金山文档
|
||
- 启用自动上传或手动上传
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
zsglpt-lite/
|
||
├── main.py # 应用入口
|
||
├── requirements.txt # 依赖清单
|
||
├── config.py # 配置管理
|
||
│
|
||
├── core/ # 核心业务逻辑
|
||
│ ├── api_browser.py # API浏览器(HTTP请求实现)
|
||
│ ├── screenshot.py # wkhtmltoimage截图
|
||
│ └── kdocs_uploader.py # 金山文档上传
|
||
│
|
||
├── ui/ # PyQt界面
|
||
│ ├── main_window.py # 主窗口
|
||
│ ├── account_widget.py # 账号管理面板
|
||
│ ├── browse_widget.py # 浏览任务面板
|
||
│ ├── screenshot_widget.py # 截图管理面板
|
||
│ ├── kdocs_widget.py # 金山文档面板
|
||
│ ├── settings_widget.py # 设置面板
|
||
│ ├── log_widget.py # 日志显示面板
|
||
│ └── styles.py # QSS样式
|
||
│
|
||
├── utils/ # 工具类
|
||
│ ├── storage.py # JSON配置存储
|
||
│ ├── crypto.py # 密码加密
|
||
│ └── worker.py # 后台线程
|
||
│
|
||
└── data/ # 运行数据
|
||
├── config.json # 用户配置
|
||
├── cookies/ # Cookie缓存
|
||
└── screenshots/ # 截图保存
|
||
```
|
||
|
||
## 配置说明
|
||
|
||
配置文件位于 `data/config.json`,包含:
|
||
|
||
- `accounts`:账号列表(密码加密存储)
|
||
- `kdocs`:金山文档配置
|
||
- `screenshot`:截图参数配置
|
||
- `proxy`:代理设置
|
||
- `zsgl`:知识管理平台URL配置
|
||
- `theme`:界面主题
|
||
|
||
## 注意事项
|
||
|
||
1. **首次使用**需要安装 wkhtmltoimage
|
||
2. **金山文档功能**需要安装 Playwright 和 Chromium
|
||
3. **密码**使用 Fernet 对称加密存储,密钥保存在 `data/encryption_key.bin`
|
||
4. **代理**支持 HTTP 代理,在设置中配置
|
||
|
||
## 依赖说明
|
||
|
||
| 依赖 | 版本 | 说明 |
|
||
|------|------|------|
|
||
| PyQt6 | >=6.5.0 | UI框架 |
|
||
| requests | >=2.31.0 | HTTP请求 |
|
||
| beautifulsoup4 | >=4.12.0 | HTML解析 |
|
||
| playwright | >=1.42.0 | 金山文档自动化 |
|
||
| cryptography | >=41.0.0 | 密码加密 |
|
||
| Pillow | >=10.0.0 | 图像处理 |
|
||
|
||
## 开发信息
|
||
|
||
- 从原项目 `zsglpt` 精简而来
|
||
- 移除了 Flask Web服务、SocketIO、邮件通知、定时任务等
|
||
- 代码量约 2000+ 行(原项目 8000+ 行)
|
||
- 精简比例约 70%
|
||
|
||
## License
|
||
|
||
MIT
|