- 恢复 workers.vue 中"图片下载重试"UI (imgDlRetry, imgDlRetryMaxRetries) - 恢复批量代理弹窗提示文字 - 修复实例标识:有 id 用 id,没有用 name - download.js 参数名 maxRetries -> retries,与 adapter 调用一致 - routes.js 重试下载读取配置并传递 retries
- 删除 PoolManager.downloadMedia 方法 - 删除 queue.js 的 downloadMedia 导出 - routes.js 直接使用 getPoolContext().getFirstPage() + useContextDownload
后端: - 新增 SQLite 存储请求/响应历史 (src/utils/history.js) - Admin API 历史查询、删除、媒体重试等端点 - PoolManager.downloadMedia 用于媒体下载 WebUI: - 请求历史页面:筛选、分页、详情、媒体预览 - 请求历史升级为请求模型页面,支持直接发送请求 - 移动端适配与体验优化 - 批量代理设置与删除实例 - 实例配置编辑删除改用 name 匹配
- normalizeHttpError 从响应体提取具体错误信息 - 支持 JSON 格式错误解析 - 新增 isRetryableError 判断错误是否可重试 - 新增 normalizeError 通用错误归一化
- 新增 isRetryableError() 判断网络错误是否可重试 - 默认启用重试 (maxRetries=3) - 5xx 错误自动重试 - 网络超时、断开等错误智能重试 - 增加重试延迟(指数退避) - 返回 imageUrl 便于失败后重试 - 超时延长到 120s
feat(engine): 扩展拟人点击策略并增强坐标安全性
* 为 getHumanClickPoint 增加 center/top-left/top-right/bottom-right 等点击偏置, 并在 box 尺寸异常时返回兜底坐标。 * 新增边界裁剪逻辑,确保点击点始终位于元素内部,降低自动化点击越界和误点风险。