|
|
fae21329d7
|
优化 KDocs 上传器
- 删除死代码 (二分搜索相关方法,减少 ~186 行)
- 优化 sleep 等待时间,减少约 30% 的等待
- 添加缓存过期机制 (5分钟 TTL)
- 优化日志级别,减少调试日志噪音
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 20:09:46 +08:00 |
|
|
|
f46f325518
|
fix(frontend): 修复登录失败时通知弹两次的问题
- 在登录页面不再由 http.js 拦截器弹出 401 通知
- 让 LoginPage.vue 自己处理登录错误的显示
- 避免同一错误消息重复弹出
|
2026-01-21 19:45:43 +08:00 |
|
|
|
156d3a97b2
|
fix(kdocs): 修复上传线程卡住和超时问题
1. 禁用无效的二分搜索 - _get_cell_value_fast() 使用的 DOM 选择器在金山文档中不存在
2. 移除 _upload_image_to_cell 中重复的导航调用
3. 为 expect_file_chooser 添加 15 秒超时防止无限阻塞
4. 包含看门狗自动恢复机制(之前已实现)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 17:02:08 +08:00 |
|
Yu Yon
|
f90d840dfe
|
docs: 添加加密密钥配置说明
- 在部署文档中添加加密密钥配置章节
- 说明 .env 文件使用方法
- 添加密钥迁移指南
- 在环境变量表格中添加 ENCRYPTION_KEY_RAW 说明
- 添加密钥丢失警告
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 09:41:54 +08:00 |
|
Yu Yon
|
dfc93bce2e
|
feat(security): 增强密码加密安全机制
- 新增 ENCRYPTION_KEY_RAW 环境变量支持,可直接使用 Fernet 密钥
- 添加密钥丢失保护机制,防止在有加密数据时意外生成新密钥
- 新增 verify_encryption_key() 函数用于启动时验证密钥
- docker-compose.yml 改为从 .env 文件读取敏感配置
- 新增 crypto_utils.py 文件挂载,支持热更新
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 09:31:15 +08:00 |
|
|
|
10be464265
|
fix: 修复连接池计数和任务调度器默认值问题
1. db_pool.py - 修复连接计数不一致问题
- 将 _created_connections 递增移到 put() 成功之后
- 确保 Full 异常和创建异常时正确关闭连接
- 避免计数器永久偏高
2. services/tasks.py - 统一 _running_by_user 默认值
- 将减少计数时的默认值从 1 改为 0
- 与增加计数时的默认值保持一致
- 添加注释说明
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-16 22:46:40 +08:00 |
|
|
|
e65485cb1e
|
fix: 修复自动重试的竞态条件问题
问题:delayed_retry_submit 闭包捕获的是旧的 account 对象
- 5秒后检查 should_stop 时,可能检查的是旧对象
- 如果账户被删除/重建,会导致状态检查不可靠
- 可能导致重复任务提交
修复:
- 在 delayed_retry_submit 中重新调用 safe_get_account 获取最新账户对象
- 添加账户不存在的检查
- 添加取消时的日志输出,便于调试
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-16 22:32:37 +08:00 |
|
|
|
42609651bd
|
fix: 修复截图登录检查逻辑的条件判断错误
问题:attempt > 0 应该是 attempt > 1
- attempt 从 range(1, max_retries + 1) 开始,值为 1, 2, 3
- 原条件 attempt > 0 在 attempt=1 时就为 True
- 导致 elif 分支(首次尝试逻辑)成为死代码
修复:
- 将 attempt > 0 改为 attempt > 1
- 更新注释使其更清晰准确
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-16 22:16:01 +08:00 |
|
zsglpt Optimizer
|
072fbcbe18
|
🔧 更新.gitignore,忽略剩余的目录
✅ 添加忽略规则:
- 截图/ (中文命名截图目录)
- ruff_cache/ (代码检查缓存)
🛡️ 目的:
- 确保所有运行时生成的文件都被忽略
- 防止目录意外提交
- 保持仓库干净整洁
|
2026-01-16 17:55:03 +08:00 |
|
zsglpt Optimizer
|
3702026f9a
|
🧹 清理测试和工具目录
❌ 删除的文件:
- tests/ 目录及所有11个测试文件
- tools/ 目录及update_agent.py
✅ 更新.gitignore:
- 添加tests/和tools/目录的忽略规则
🎯 原因:
- tests目录包含单元测试,不应在生产仓库
- tools目录包含开发工具脚本,对用户无用
- 保持仓库纯净,只包含生产代码
📊 清理统计:
- 删除文件数:13个
- 涉及目录:2个
- 仓库更加简洁专业
|
2026-01-16 17:54:23 +08:00 |
|
zsglpt Optimizer
|
00597fb3b7
|
🧹 删除本地文档文件的最终提交
|
2026-01-16 17:50:20 +08:00 |
|
zsglpt Optimizer
|
42e88f4924
|
🧹 最终清理:删除所有非README.md文档
❌ 删除的文档文件:
- BUG_REPORT.md (开发过程中的bug记录)
- CLEANUP_SUMMARY.md (开发者内部文档)
- DATABASE_UPGRADE_COMPATIBILITY.md (临时技术文档)
- GIT_PUSH_SUCCESS.md (开发者内部报告)
- LINUX_DEPLOYMENT_ANALYSIS.md (临时分析文档)
- PERFORMANCE_ANALYSIS_REPORT.md (临时性能报告)
- SCREENSHOT_FIX_SUCCESS.md (过时的问题解决记录)
✅ 保留的内容:
- README.md (项目主要文档,包含完整说明)
- 核心应用代码
- Docker配置文件
- 依赖文件
🎯 理由:
- 项目仓库应该保持简洁专业
- README.md已经包含足够的使用说明
- 其他技术细节可以在项目Wiki中维护
- 避免仓库被开发过程文档污染
📝 .gitignore更新:
- 添加规则只允许根目录存在README.md
- 防止将来推送其他markdown文档
- 保持仓库的长期整洁
|
2026-01-16 17:49:54 +08:00 |
|
zsglpt Optimizer
|
56b3ca4e59
|
🔧 修复.gitignore,正确忽略data目录
- 删除旧的data/*规则
- 添加统一的data/规则
- 确保运行时数据文件不会被意外提交
|
2026-01-16 17:48:28 +08:00 |
|
zsglpt Optimizer
|
92d4e2ba58
|
🧹 第二轮清理:删除过时文档和开发文件
❌ 删除的文件:
- AUTO_LOGIN_GUIDE.md (关于已删除测试文件的文档)
- README_OPTIMIZATION.md (过时的优化说明)
- TESTING_GUIDE.md (测试指南,已删除相关文件)
- SIMPLE_OPTIMIZATION_VERSION.md (过时的优化文档)
- ENCODING_FIXES.md (编码问题已解决,不再需要)
- INSTALL_WKHTMLTOIMAGE.md (截图问题已解决)
- OPTIMIZATION_FIXES_SUMMARY.md (过时,优化已完成)
- kdocs_optimized_uploader.py (开发测试文件)
✅ 保留的文档:
- BUG_REPORT.md (项目bug分析)
- PERFORMANCE_ANALYSIS_REPORT.md (性能分析报告)
- LINUX_DEPLOYMENT_ANALYSIS.md (Linux部署指南)
- DATABASE_UPGRADE_COMPATIBILITY.md (数据库升级指南)
- GIT_PUSH_SUCCESS.md (推送成功报告)
- CLEANUP_SUMMARY.md (清理总结)
🎯 目标:
- 保持仓库专业化
- 只保留当前项目需要的文档
- 删除过时和重复的信息
|
2026-01-16 17:48:03 +08:00 |
|
zsglpt Optimizer
|
67340f75be
|
📚 添加升级兼容性指南和推送成功报告
|
2026-01-16 17:44:23 +08:00 |
|
zsglpt Optimizer
|
803fe436d3
|
🧹 清理不必要的文件,保持仓库整洁
❌ 删除的文件:
- 测试文件 (test_*.py, kdocs_*test*.py, simple_test.py)
- 启动脚本 (start_*.bat)
- 临时修复文件 (temp_*.py)
- 图片文件 (qr_code_*.png, screenshots/*)
- 运行时生成文件
✅ 添加的内容:
- .gitignore 文件,防止推送临时文件和开发文件
📋 保留的内容:
- 核心应用代码
- 数据库迁移文件
- Docker配置文件
- 必要的文档 (BUG_REPORT.md, PERFORMANCE_ANALYSIS_REPORT.md, 等)
🎯 目的:
- 保持仓库整洁专业
- 只包含生产环境需要的文件
- 避免推送临时开发文件
- 提高仓库维护性
|
2026-01-16 17:44:04 +08:00 |
|
zsglpt Optimizer
|
7e9a772104
|
🎉 项目优化与Bug修复完整版
✨ 主要优化成果:
- 修复Unicode字符编码问题(Windows跨平台兼容性)
- 安装wkhtmltoimage,截图功能完全修复
- 智能延迟优化(api_browser.py)
- 线程池资源泄漏修复(tasks.py)
- HTML解析缓存机制
- 二分搜索算法优化(kdocs_uploader.py)
- 自适应资源配置(browser_pool_worker.py)
🐛 Bug修复:
- 解决截图失败问题
- 修复管理员密码设置
- 解决应用启动编码错误
📚 新增文档:
- BUG_REPORT.md - 完整bug分析报告
- PERFORMANCE_ANALYSIS_REPORT.md - 性能优化分析
- LINUX_DEPLOYMENT_ANALYSIS.md - Linux部署指南
- SCREENSHOT_FIX_SUCCESS.md - 截图功能修复记录
- INSTALL_WKHTMLTOIMAGE.md - 安装指南
- OPTIMIZATION_FIXES_SUMMARY.md - 优化总结
🚀 功能验证:
- Flask应用正常运行(51233端口)
- 数据库、截图线程池、API预热正常
- 管理员登录:admin/admin123
- 健康检查API:http://127.0.0.1:51233/health
💡 技术改进:
- 智能延迟算法(自适应调整)
- LRU缓存策略
- 线程池资源管理优化
- 二分搜索算法(O(log n) vs O(n))
- 自适应资源管理
🎯 项目现在稳定运行,可部署到Linux环境
|
2026-01-16 17:39:55 +08:00 |
|
|
|
722dccdc78
|
fix: 登录路由添加CSRF豁免,解决重启后无法登录的问题
- 添加 /yuyx/api/login, /api/login, /api/auth/login 路由的CSRF豁免
- 登录本身就是建立session的过程,不需要CSRF保护
- 解决服务重启后旧session导致CSRF验证失败的问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 13:29:32 +08:00 |
|
|
|
606cad43dc
|
fix: 修复无附件文章无法标记已读的问题
- 发现标记已读的正确 API: /tools/submit_ajax.ashx?action=saveread
- 添加 mark_article_read 方法调用 saveread API 标记文章已读
- 修改 get_article_attachments 返回文章的 channel_id 和 article_id
- 对每篇文章都调用 mark_article_read,无论是否有附件
- 解决米米88、黄紫夏99等账号文章无法标记已读的问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 13:24:29 +08:00 |
|
|
|
6313631b09
|
fix: 改进分页逻辑,确保遍历所有页面不漏掉内容
- 当前页有新文章时,重新获取第1页(已读文章消失后页面上移)
- 当前页无新文章时,继续检查后续页面
- 遍历完所有页面后才结束循环
- 解决 mark_read 延迟导致后续页面内容被漏掉的问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 13:17:52 +08:00 |
|
|
|
09188b8765
|
fix: 防止浏览时无限循环重复处理已处理文章
- 添加 processed_hrefs 集合跟踪已处理的文章 href
- 处理文章前检查是否已处理过,避免重复处理
- 添加 new_articles_in_page 计数器,当前页无新文章时退出循环
- 解决 mark_read 未立即生效导致的无限循环问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 13:14:22 +08:00 |
|
|
|
b2b0dfd500
|
fix: 修复分页错位问题,改为循环获取第1页直到清空
问题:标记已读后文章从列表消失,导致后续页面上移,
造成按页码遍历时遗漏部分内容。
解决:每次处理完当前页后重新获取第1页,循环直到没有内容。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 13:08:34 +08:00 |
|
|
|
2ff9e18842
|
fix: 修复附件解析正则,匹配 download2.ashx
正则从 download\.ashx 改为 download2?\.ashx
以同时支持新旧两种附件下载链接格式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 12:48:58 +08:00 |
|
|
|
1bd49f804c
|
docs: 更新浏览逻辑注释,反映网站参数变更
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 12:45:40 +08:00 |
|
|
|
f8bbe3da0d
|
fix: 修复应读参数,bz=2 改为 bz=0(适配网站更新)
网站参数变更:
- bz=0: 应读
- bz=1: 已读
- bz=2: 已读(旧参数,已废弃)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 12:43:25 +08:00 |
|
|
|
1b85f34a0f
|
fix: 恢复截图顺序,保持完整框架样式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 12:38:52 +08:00 |
|
|
|
f04c5c1c8f
|
fix: 适配网站结构更新
1. 标记已读改用预览通道 (download2.ashx)
2. 截图优先直接访问目标页面,避免 iframe 加载问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-14 12:31:22 +08:00 |
|
Yu Yon
|
b1484e9c03
|
fix: 修复多任务上传状态显示问题
1. 后端: 上传完成后恢复为"未开始"状态,不再保持"等待上传"
2. 前端: 调整状态颜色
- 上传截图(上传中): 红色
- 等待上传: 黄色
- 已完成: 绿色
|
2026-01-09 09:21:30 +08:00 |
|
Yu Yon
|
7f5e9d5244
|
feat: 多任务上传时显示等待上传状态
- 任务入队时设置状态为"等待上传"
- 实际上传时更新为"上传截图"
- 用户可以更直观地看到多任务上传进度
|
2026-01-09 09:09:00 +08:00 |
|
Yu Yon
|
0ca6dfe5a7
|
fix: 修复容器运行时长显示(使用/proc计算实际容器运行时间)
|
2026-01-08 23:15:18 +08:00 |
|
Yu Yon
|
15fe2093c2
|
fix: Dockerfile添加curl支持健康检查
|
2026-01-08 17:59:14 +08:00 |
|
|
|
30b6e3144b
|
fix: database.py 添加缺失的 kdocs_row_start/row_end 参数
修复保存金山文档配置时报 500 错误的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-08 01:03:19 +08:00 |
|
|
|
da71b0ac5e
|
docs: 修正 README 中截图引擎描述
- 截图使用 wkhtmltoimage(不是 Playwright)
- Playwright 仅用于金山文档表格操作
- 修正技术栈、项目结构、更新日志相关描述
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-08 01:00:08 +08:00 |
|
|
|
3c6799ce53
|
docs: 更新 README 文档至 v2.0
- 更新项目简介,添加新功能描述
- 更新技术栈(Vue 3, Playwright, Element Plus)
- 更新项目结构,添加新模块说明
- 添加更新日志章节,记录 v2.0 主要变更:
- 金山文档集成
- Vue 3 SPA 前端
- 用户自定义定时任务
- 安全防护系统
- 邮件通知系统
- 公告/反馈系统
- 截图引擎升级等
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-08 00:58:16 +08:00 |
|
|
|
a3060e4cd9
|
feat: Vue SPA 添加 KDocs 在线状态显示 + 清理废弃模板
功能更新:
- AccountsPage.vue: 工具栏显示 KDocs 在线状态(就绪/离线)
- settings.js: 添加 fetchKdocsStatus API 函数
- 每60秒自动刷新状态
代码清理:
- 删除废弃的 legacy 模板文件(约170KB)
- templates/index.html
- templates/login.html
- templates/register.html
- templates/reset_password.html
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-08 00:31:42 +08:00 |
|
|
|
be9ec5e9a2
|
feat: 用户端显示金山文档在线状态
- 新增 /api/kdocs/status 接口(用户端简化版)
- 工具栏显示"表格上传: ✅ 就绪"或"⚠️ 离线"
- 页面加载时获取状态,每60秒自动刷新
- 系统未启用时不显示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-07 23:56:16 +08:00 |
|
|
|
b0fe325154
|
feat: KDocs 上传增强 + 离线监控 + Bug修复
KDocs 上传功能增强:
- 搜索优化:只用姓名搜索 + C列验证,避免匹配到错误单元格
- 有效行范围:支持配置起始行/结束行,限制上传区域
- 图片覆盖:支持覆盖单元格已有图片(Escape + Delete)
- 配置持久化:kdocs_row_start/row_end 保存到数据库(v18迁移)
二次登录功能:
- 登录后立即再次登录,让"上次登录时间"显示为刚刚
KDocs 离线监控:
- 每5分钟检测金山文档登录状态
- 离线时发送邮件通知管理员(每次掉线只通知一次)
- 恢复在线后重置通知状态
Bug 修复:
- 任务日志搜索账号关键词报错500:添加异常处理
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-07 23:40:46 +08:00 |
|
|
|
13544867aa
|
Fix clipboard permissions for KDocs
|
2026-01-07 17:46:28 +08:00 |
|
|
|
5fd13fa152
|
Read KDocs cells via clipboard
|
2026-01-07 17:40:29 +08:00 |
|
|
|
a36fa3370b
|
Show KDocs upload status
|
2026-01-07 17:31:50 +08:00 |
|
|
|
2ec0c7cb58
|
Speed up KDocs QR retrieval
|
2026-01-07 17:15:46 +08:00 |
|
|
|
3841358bc2
|
Add KDocs action feedback
|
2026-01-07 17:03:03 +08:00 |
|
|
|
6bd00021b8
|
Fix KDocs login detection
|
2026-01-07 16:53:44 +08:00 |
|
|
|
f2652af8fb
|
Fix kdocs upload status restore
|
2026-01-07 15:16:04 +08:00 |
|
|
|
950af0efda
|
Improve KDocs search matching
|
2026-01-07 15:03:51 +08:00 |
|
|
|
45cbdc51b4
|
Show upload status and log KDocs skips
|
2026-01-07 14:28:58 +08:00 |
|
|
|
703a62b6ad
|
Increase KDocs QR timeout
|
2026-01-07 14:17:01 +08:00 |
|
|
|
ad847888f8
|
Avoid live KDocs status on page load
|
2026-01-07 14:12:54 +08:00 |
|
|
|
8c150dcb7c
|
Auto poll KDocs login status
|
2026-01-07 14:04:09 +08:00 |
|
|
|
ec90404194
|
Validate and log QR capture
|
2026-01-07 13:56:16 +08:00 |
|