# 知识管理平台助手 - 精简版 一个基于 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