genz27
54a1342e1f
fix(flow): 修复 project 绑定图片上传回退
2026-04-06 11:18:56 +08:00
genz27
73af8b5107
fix(captcha): 复用 playwright chromium 并移除 DISPLAY 依赖
2026-04-06 11:18:28 +08:00
genz27
bcef0fba0f
feat(docker): 切换无头浏览器模式,新增 beta 镜像构建
...
- browser_captcha_personal 改为 headless 模式
- Dockerfile.headed 去掉 xvfb/fluxbox 虚拟显示器依赖
- 新增 beta 分支 CI,推送 ghcr.io flow2api:beta 镜像
- .gitignore 忽略测试文件
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:06:47 +08:00
genz27
01736a9687
fix(admin): 禁用验证码分数测试入口
2026-04-02 20:13:12 +08:00
genz27
2029b5578e
feat(video): 增加 veo 3.1 lite 模型支持
2026-04-02 17:43:00 +08:00
genz27
6e5d7cb9e9
fix(personal): 修复 token 结果解析并收口恢复竞态
2026-04-02 17:17:24 +08:00
genz27
4f2c7520e1
perf(personal): 降低内置打码热路径开销
2026-04-02 16:19:04 +08:00
genz27
bf5f85ac71
perf(personal): 压缩内置打码热路径延迟
2026-04-02 16:16:10 +08:00
genz27
45f558213e
fix(personal): 收口 websocket 正常关闭异常
2026-04-02 15:58:08 +08:00
genz27
4b259331e5
fix(personal): 收口 nodriver 断连并降低异常噪音
2026-04-02 15:16:59 +08:00
genz27
5702e1e182
fix(personal): 修复 token 删除外键并增强浏览器自恢复
2026-04-02 14:49:33 +08:00
comet
d37f98bdce
fix: avoid impersonation for captcha API JSON requests ( #110 )
...
* fix: avoid impersonation for captcha API JSON requests
* fix: avoid impersonation for captcha API JSON requests
2026-04-02 14:11:44 +08:00
Genz
5d18293f1e
chore: normalize line endings for issue fixes
2026-04-02 14:10:00 +08:00
Genz
9b83d4595c
fix: stabilize personal browser startup and cache cleanup sync
2026-04-02 14:07:14 +08:00
genz27
7a86c019db
fix: prefer cache_base_url for cached file urls
2026-03-31 16:44:30 +08:00
genz27
c8f13b108e
Merge pull request #108
2026-03-31 14:51:05 +08:00
genz27
ae1b0d4af7
Merge pull request #109
2026-03-31 14:43:33 +08:00
genz27
475c9982da
fix: harden personal browser startup and warmup fallback
2026-03-31 13:57:45 +08:00
wx-11
d36218918d
适配generationConfig
2026-03-31 12:22:05 +08:00
ladydd
69a355e3c5
feat: 添加内置模型测试页面 (/test)
2026-03-31 11:39:08 +08:00
shskjw
ef4e9b3fa0
修复外部资源地址返回0.0.0.0和默认8000端口问题
2026-03-31 00:27:37 +08:00
genz27
896e4cbb60
feat: 为 Personal 模式添加完整代理支持
...
- 支持 HTTP/HTTPS/SOCKS5 代理
- 支持带认证的代理(通过 Chrome 扩展)
- 代理配置优先级: 验证码代理 > 全局代理
- 自动清理临时扩展目录
- 完善代理相关日志
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 17:12:59 +08:00
genz27
0d614870af
Persist captcha pool settings in database
2026-03-30 15:43:15 +08:00
genz27
a12c02c8ec
Optimize captcha browser slot pooling
2026-03-30 15:43:00 +08:00
genz27
03acb4484d
feat: 添加 personal 模式标签页配置和热更新支持
...
主要改动:
- 添加 personal_max_resident_tabs 和 personal_idle_tab_ttl_seconds 配置项
- 支持在管理页面动态修改标签页数量和空闲超时
- 实现配置热更新,无需重启服务
- 优化浏览器启动参数,窗口不占用前台
- 增强日志输出,显示标签页使用情况
- 更新配置说明,明确标签页与 project_id 的关系
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 11:02:08 +08:00
genz27
3069d2c85e
优化 personal 模式打码性能以支持高并发
...
主要改进:
- 支持5个并发标签页(原1个)
- 添加 LRU 淘汰策略和空闲标签页自动回收
- 优化页面加载和 reCAPTCHA 等待时间(25秒 → 12.5秒)
- 修复 browser.tabs 属性调用错误
- 改用临时目录避免浏览器目录锁定
- 添加 invalidate_token() 方法支持外部清除缓存
- 优化标签页复用逻辑,避免并发冲突
- 双重检查锁定模式减少锁竞争
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 09:35:28 +08:00
genz27
b7859dda47
fix: fallback when httpx is unavailable
2026-03-30 01:56:53 +08:00
genz27
5d8c0d41e2
feat: warm remote browser pool and tighten timeouts
2026-03-30 01:50:02 +08:00
genz27
f3eb69308d
Fix remote browser JSON control-plane delivery
2026-03-29 18:49:16 +08:00
genz27
cbf9cd1038
fix: harden sqlite concurrency and media cache delivery
2026-03-25 01:46:02 +08:00
genz27
dd09e5497a
refactor: use curl_cffi for remote browser control plane
2026-03-24 02:01:22 +08:00
TheSmallHanCat
848115bfab
feat: 支持token顺序轮询模式
2026-03-18 23:52:22 +08:00
nhucuc9999
bacd49468b
feat: add public health check endpoint
...
Add GET /health endpoint (no auth required) returning backend_running
status and has_active_tokens boolean for uptime monitoring.
2026-03-17 13:47:51 +07:00
genz27
db559a82c5
fix: improve gemini compatibility and cache flow
...
1. add Gemini /models and /v1beta/models discovery endpoints for newapi compatibility
2. persist tmp cache in Docker and lock cache_timeout=0 behavior with regression tests
3. refine image generation status flow to show captcha verification after uploads
2026-03-16 21:45:34 +08:00
genz27
748505a7d3
fix: improve gemini image rendering and log previews
2026-03-14 19:33:07 +08:00
genz27
13cace4911
fix: simplify image fallback and log summaries
2026-03-14 17:38:00 +08:00
genz27
c5796307f9
Support Gemini official generateContent format
2026-03-14 16:42:26 +08:00
TheSmallHanCat
32284574ed
feat: add model name resolver for Gemini generationConfig parameter-based conversion
...
Add a preprocessing layer before request handling that converts simplified
model names to internal MODEL_CONFIG keys based on generationConfig parameters
(aspectRatio, imageSize).
Changes:
- New src/core/model_resolver.py: model name resolution engine
- IMAGE_BASE_MODELS: 4 base image model aliases (gemini-2.5-flash-image,
gemini-3.0-pro-image, gemini-3.1-flash-image, imagen-4.0-generate-preview)
- VIDEO_BASE_MODELS: 13 base video model aliases with landscape/portrait mapping
- Supports Gemini ratio formats (16:9, 9:16, 1:1, 4:3, 3:4) and named formats
- Supports imageSize (2k, 4k) for compatible models
- Graceful fallback: unsupported ratio/size degrades to defaults
- Passthrough: existing MODEL_CONFIG keys and unknown models unchanged
- Modified src/core/models.py: extended ChatCompletionRequest
- Added ImageConfig, GenerationConfigParam Pydantic models
- Added generationConfig, contents optional fields
- Enabled extra='allow' for extra_body passthrough compatibility
- Modified src/api/routes.py: integrated resolver
- Added resolve_model_name() call before request processing
- Added /v1/models/aliases endpoint to list available aliases
Verified: 64/64 model key mappings match MODEL_CONFIG, 15 edge case tests pass.
2026-03-14 12:12:06 +08:00
genz27
d4235256dd
fix: unstick generation logs and retry TLS failures
2026-03-13 21:45:30 +08:00
genz27
eee5075cc2
fix: improve browser captcha slot allocation
2026-03-10 10:59:57 +08:00
genz27
bb42e795c3
feat: expand token project pooling and refine manage ui
2026-03-10 10:59:57 +08:00
genz27
aa68501924
feat: improve generation log status handling
2026-03-10 10:59:57 +08:00
genz27
b44c70a2e9
fix: enforce tier-based generation limits
2026-03-09 18:18:56 +08:00
genz27
8dcb50ee69
feat: support disabling cache cleanup
2026-03-09 17:27:04 +08:00
genz27
d5b0688db5
Remove local launch throttling
2026-03-08 03:15:09 +08:00
genz27
58b388df30
feat: tighten headed browser lifecycle
2026-03-08 02:52:24 +08:00
genz27
95b9219123
chore: sync changes
2026-03-08 02:24:03 +08:00
genz27
bd7f93fc58
chore: sync changes
2026-03-08 00:16:45 +08:00
genz27
c2ec39e2ed
feat: keep headed browser sessions alive
2026-03-07 23:00:33 +08:00
genz27
a756954e33
fix: sync R2V landscape model key and image limits
2026-03-07 00:53:45 +08:00