Commit Graph
54 Commits
Author SHA1 Message Date
chiyiandDevin babfc71f13 feat(upstream): 自定义上游支持 Vivid 协议(/v1/generate NDJSON)
- custom 上游新增 protocol 选项(openai|vivid);vivid 走
  POST /v1/generate NDJSON 流:跳过心跳空行,取末行终态,
  断流携 jobId 重连不重复扣费;参考图先 POST /v1/uploads
  拿预签名再 PUT 直传;错误码 4011/4002/4293/5001/4001 分类
- 添加上游弹窗加协议二选一;账号 meta 存 protocol 并可回显
- 附 vivid 链路单测(成功流/URL 透传/失败帧/错误码/两步上传)

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:18:26 +08:00
dokploy-bot 42208c0753 security: fix rate-limit bypass, payment amount check, stats leak, owner-dir collision, video panic guard
- clientIP: stop trusting client-supplied X-Forwarded-For; use gin ClientIP
  with trusted proxies limited to private docker networks
- payment: verify notify money matches order amount; remove hardcoded
  gateway default, fail loudly when api_base is unset
- stats: public endpoint now serves aggregates only; recent files (owner
  names) moved to admin-only /stats/recent
- auth: reject signups whose username/email-local collides with another
  user's media directory namespace
- v1: recover panics in background video jobs, refund + mark failed
2026-09-19 22:13:08 +08:00
chiyi 4fb7fc9204 feat: sync all features to image2api 2026-08-15 23:00:30 +08:00
GlossSeaDress f94a7ace5f feat(api): GET /v1/user/balance 查询用户余额
users 表新增 credits_used(累计消耗积分):扣费累加、失败退款回减(refundIfNeeded / 维护清扫改走 RefundCredits),充值/CDK/签到发放不计入。接口返回 {object,balance,used,total},Bearer API Key 鉴权,与其他 v1 接口同一 CORS 与错误格式。站内接口文档与 README 补充端点说明。
2026-08-10 14:59:48 +08:00
GlossSeaDress 2c47344ed9 fix(leonardo): cookie 写回改 CAS,并补上额度对账后的轮换写回
Leonardo 只认加密的 session_data 缓存,轮换值一旦没存住账号就会被判死。写回原先是无条件 update:长任务(生成、慢额度查询)手里的旧 cookie 完成时会盖掉期间 keepalive 存好的新值。改为 SwapValue(WHERE value = 旧值 才写),旧值无法覆盖新值;reconcileLeonardoCredits 原先完全没写回 FetchCreditsBalance 带回的轮换值,补上。
2026-08-10 12:13:11 +08:00
chiyi 6190f814d9 fix(leonardo): 连续 3 次鉴权失败才判死,get-session 补齐浏览器头并保护 session_data 2026-08-09 02:17:01 +08:00
chiyi 6d17caaf80 feat(leonardo): 接入视频通道并新增 seedance-2.0/minimax-h3 模型 2026-08-08 21:55:33 +08:00
chiyi 6ba80f5109 tweak(video): 视频渲染预算拉到 30 分钟 2026-08-08 11:16:56 +08:00
chiyi ebcf3c5779 feat(grok): 视频改走 Grok Console 并新增图片模型
- grok 视频/图片统一走 console.x.ai:sso 换 DPoP 短期 token,绕开 grok.com 的 statsig 反爬

- 新增 grok-image:不带参考图走 /v1/images/generations,带图自动走 quality 上游 + /v1/images/edits

- grok 额度改本地写死 图5/视频2,成功各扣一次,两份归零直接判死,无恢复时间

- 视频渲染预算统一 20 分钟(adobe/runway/grok/custom)

- 删除参考图人脸打码(facemask + onnxruntime 依赖 + 前台开关)
2026-08-08 11:15:42 +08:00
chiyi 554dea6252 feat(facemask): 黑丝网眼加粗并给 Seedance 提示词追加忽略网格说明 2026-08-07 14:30:43 +08:00
chiyi 2e3a4e9d3f feat: seedance参考图人脸打码(YuNet+切块旋转/白点阵) + VIP零额度降级 + veo3.1 1080p + CGO Dockerfile 2026-08-07 10:08:24 +08:00
chiyi f76ecd5769 feat: 二次元前端改版 + 后端账号plan探测/调度修复 2026-08-06 10:11:05 +08:00
chiyi 7f4701d362 feat: veo3.1 拆分 fast/standard, seedance双模型, per_second定价, 子号过滤, 随机种子, UI优化 2026-08-03 20:27:20 +08:00
chiyi 4987717d23 feat: Adobe积分号不锁定额度 + Nano Banana双通道 + 前端显示额度
- Adobe不再区分视频/图片额度,移除ImageLimited/VideoLimited限制
- Adobe积分号quota耗尽不锁定(status不改为quota),只记录失败用于轮转
- Nano Banana 2/Pro 保留Runway通道,新增nano-banana-2/nano-banana-pro走Adobe
- Adobe模型重命名: runway-nano-banana-2, runway-nano-banana-pro
- 前端管理后台Adobe账号显示积分余额(之前固定显示—)
- README更新模型列表
2026-08-02 20:09:03 +08:00
chiyi cd0b7090f2 refactor(adobe): switch to express.adobe.com origin, remove ErrAuthPermanent, simplify ARP session/PID 2026-08-02 00:07:17 +08:00
chiyi 0a1811b254 优化408 2026-08-01 14:44:05 +08:00
chiyi b0cd4a8b33 参考图适配 2026-07-19 11:34:14 +08:00
chiyi 50060f9180 去掉oss保存 2026-07-19 11:23:48 +08:00
chiyi 60be9201e5 支持远程url吗 2026-07-16 00:50:27 +08:00
chiyi 8d792e66e0 加回 nano-banana-2 与 nano-banana-pro 并存 2026-07-10 12:02:14 +08:00
chiyi 2afb4e7857 nano-banana-2 升级为 nano-banana-pro (workflow_gemini_image / gemini-3-pro-image-preview, 支持 2K/4K) 2026-07-10 11:19:51 +08:00
chiyi a636f79cd8 更新 2026-07-10 10:59:14 +08:00
chiyi 788c97d9d5 ai去特征展示 2026-07-10 00:23:14 +08:00
chiyi 6a3588b35b ai去特征增加开关 2026-07-10 00:13:09 +08:00
chiyi 6d6bd2a638 增加ai去特征 2026-07-09 23:48:58 +08:00
chiyi 81c040cb0b 优化上游错误重试 2026-07-09 17:45:31 +08:00
chiyi 98b5f5a5c3 chatgot更新换号重试 2026-07-08 13:13:25 +08:00
chiyi 5e809d375b 更新调度 2026-07-07 13:22:34 +08:00
chiyi ce390d9b67 增加指纹随机 2026-07-07 12:28:02 +08:00
chiyi 10c312eb09 修复账号没了找不到email 2026-07-06 18:36:11 +08:00
chiyi c25e162841 grok 判死 2026-07-06 15:43:31 +08:00
chiyi 23dd70505a 优化违禁词 2026-07-06 14:28:43 +08:00
chiyi 89e0a9df9f 优化违禁词 2026-07-06 12:18:09 +08:00
chiyi e517c56225 更新chatgpt协议 2026-07-06 10:21:44 +08:00
chiyi 28fe59a1af 修复视频分辨率问题 2026-07-05 14:35:36 +08:00
chiyi 06f16e7924 所有拦截请求都写入日志 2026-07-05 03:15:43 +08:00
chiyi 10d0732f8c 增加违禁词管理 增加多选操作 2026-07-05 03:00:49 +08:00
chiyi fab9998a18 更新调度 2026-07-04 15:38:32 +08:00
chiyi daad121f12 优化调度 2026-07-04 15:23:43 +08:00
chiyi 03f9744dcb 增加模型别名 2026-07-04 14:49:52 +08:00
chiyi f9e72c0168 修复bug 2026-07-03 18:12:46 +08:00
chiyi 53dc178804 更新尺寸兼容 2026-07-03 10:27:49 +08:00
chiyi 1f205fc096 修复分辨率 2026-07-03 10:13:48 +08:00
chiyi 273892f98f 更新缩略图 2026-07-03 00:15:41 +08:00
chiyi c5a059df6c 去掉1500字数限制 2026-07-02 20:54:52 +08:00
chiyi 7a168a1dd8 adobe限流不封号 2026-07-02 16:59:27 +08:00
chiyi 1de4fe99ca 提示词最大限制 2026-07-02 08:51:49 +08:00
chiyi 57a59c7c76 修复展示遮罩挡住 修复最大字数 2026-07-01 16:44:29 +08:00
chiyiandClaude Opus 4.8 8ec4562f81 feat: 易支付积分充值 + 站内公告 + OpenAI 视频修复 + grok/adobe 失败处理
充值/订单(易支付 mapi):
- 订单表 + 30 分钟自动取消;支付弹窗(二维码/跳转监控、倒计时、轮询、5s 倒计时关闭)
- 系统设置可配:开关/商户ID/密钥/支付地址(根地址拼 /mapi)/支付方式/最低额/积分比例(默认 1元=100积分)
- 异步通知 MD5 验签、幂等到账;用户累计充值;前台/后台订单页(筛选+搜索+分页,前后台分风格);用户管理累计充值列

站内公告:
- Markdown 公告,登录用户首次访问/刷新弹出;内容哈希做版本,改了就重新推;管理员不弹;空内容=下线

OpenAI 视频(/v1/videos)修复:
- /content 拿不到视频:grok 资源 URL 需鉴权,改为用生成账号 token 取流;adobe/runway 公开 URL 直代理(不存 RustFS)
- size→分辨率用短边判定(1280x720 = 720p,之前误判 1080p 被拒)

失败处理:
- grok 429「Too many requests」/403 anti-bot 改判临时错误(不再误封号),真额度耗尽才算 quota
- adobe 视频 408 / system under load 归为临时错误 → tempAsDead 封号

其它:
- 充值默认关闭;签到格子浅色可见;登录验证码按钮浅色可读;并发/账户信息展示
- 创作记录/画图台只显示画图台作品(排除 API);日志页 API 视频预览显示 —
- 视频去画中画/下载/投屏(全局);图片缩略图改背景图规避 Edge 视觉搜索
- 订单/兑换码/配置/日志菜单文案与图标;充值版块样式

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 01:32:33 +08:00
chiyiandClaude Opus 4.8 5cf6206ee9 feat: 并发分组系统 + 品牌/Logo 上传 + 兑换码开关 + 文档分辨率表
并发分组(新功能):
- 新表 concurrency_groups(名称/上限/默认),用户加 concurrency_group_id
- 启动自动建「默认并发」组(上限10、默认),老用户回填、新注册自动绑定
- 并发计数改用 Redis(自愈 sorted-set + TTL + fail-open):
  · 用户并发(画图台 + API key 合计)受其分组上限限制,0=不限制 → 超返回 429
  · 账号级并发也从内存 gate 换成同一套 Redis(6 处调用点)
  · 移除旧的「已有正在生成的任务」单任务锁
- 后台「并发分组」新菜单:增删改、设默认、用户数;默认组不可删(删别的组成员转默认)
- 用户管理:并发列 + 新建/编辑可选分组
- 个人设置页:账户信息卡(用户名/邮箱/角色/余额/并发);/me 暴露 concurrency_group/limit

品牌 / Logo(上传到 RustFS):
- Logo 改成拖拽/点击上传,点保存才上传;替换自动删旧;branding/ 设为公开且被清理任务 pin 住(永不删)
- 有自定义就用:前台左侧 nav + 后台侧栏 + favicon(浏览器标签);没有则默认 V 图标
- 前台页头还原成文字;首页 Hero 子标题用 site.subtitle(默认那句宣传语,设置页预填)
- 邮件验证码标题用站点名;新增 POST/DELETE /settings/logo + POST /settings/asset(首页底图上传)

兑换码开关:
- 系统设置→积分 新增「开启兑换码」(默认开);关闭后后端拒绝兑换、前台隐藏兑换入口(/site 暴露 cdk_redeem_enabled)

文档 / 分辨率:
- 去掉 quality 参数:size(宽x高)同时决定比例 + 分辨率档(长边映射 1K/2K/4K)
- 文档加「分辨率对照表」(14 个比例 × 1K/2K/4K → size 该传的值);guessRatio 与自定义模型 RATIO_OPTS 对齐到 14 个

其它:
- 删模型时同步清掉各上游账号「支持模型」里的该 id
- 首页设置/兑换码弹窗去固定高度滚动条;展示位弹窗浅色主题适配

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:52:31 +08:00