wucm667
13fcfc0f3b
fix(gateway): resolve composite routes for websocket aliases
2026-09-23 15:29:11 +08:00
shaw
d68a68fd0d
chore(docs): 清理 PR 误入的文档和截图
2026-09-23 10:35:34 +08:00
Wesley Liddick
7c0a2a556c
Merge pull request #7160 from StarryKira/codex/log-retention-upstream
...
feat: 支持运维与请求日志的滚动保留设置
2026-09-23 10:07:25 +08:00
Wesley Liddick
d6e8b44bcb
Merge pull request #7411 from HuntercodeT/fix/antigravity-vendor-identity-429
...
fix(antigravity): neutralize Claude Agent SDK identity in system prompts
2026-09-23 10:01:18 +08:00
Wesley Liddick
1c0a69c0ce
Merge pull request #7412 from StarryKira/codex/custom-reasoning-effort-billing
...
feat: 支持自定义思考等级倍率计费
2026-09-21 22:55:17 +08:00
haruka
b8d52fad34
feat(billing): support configurable reasoning effort multipliers
2026-09-20 16:41:49 +08:00
HuntercodeT
dd292e3b00
fix(antigravity): neutralize Claude Agent SDK identity in system prompts
...
Stripping the x-anthropic-billing-header line is not enough. Claude Code's
Agent SDK prompts (session title generation, and other SDK-driven calls) open
a separate system block with
You are a Claude agent, built on Anthropic's Claude Agent SDK.
and the Google upstream still rejects those requests with 429 RESOURCE_EXHAUSTED.
Measured on Sub2API 0.2.7, which already contains the attribution fix, using an isolated single-account group, waiting for the per-model cooldown
to expire before every request so that a previous failure could not turn later
results into 503:
original request replayed 429 (8/8)
same request, generic system prompt 200 (8/8)
attribution also removed client-side 429 (3/3)
attribution removed + identity neutralized 200 (3/3)
only 'Claude' replaced in system 200 (2/2)
only 'Anthropic' removed from system 200 (2/2)
output_config / max_tokens / non-stream no effect
The rewrite is anchored at the start of a system block, so user instructions that
merely mention Claude or Anthropic, and model ids such as claude-sonnet-4-6, are
left untouched. Scoped to the Antigravity transformer, as with the existing
attribution handling.
2026-09-20 16:34:26 +08:00
shaw
95134201b2
docs: 删除误合入的 Codex 积分文档和截图
2026-09-20 16:12:11 +08:00
haruka
fc96132e72
fix(openai): harden referral outcomes and isolate HTTP transport
2026-09-20 15:47:53 +08:00
haruka
e509937382
docs: add Codex referral UI validation screenshots
2026-09-20 14:38:30 +08:00
haruka
5090ffe05e
feat(openai): show Codex credits and manage referral invitations
2026-09-20 14:38:29 +08:00
Wesley Liddick
aea725f2ea
Merge pull request #7247 from Qiaogun/codex/seedance-native-api
...
feat: 支持 Seedance / Ark 原生视频任务 API
2026-09-19 12:11:17 +08:00
zhudaguaneren
be4a4990ff
fix(antigravity): strip Claude attribution metadata from system prompts
2026-09-17 11:57:53 +08:00
Cai
aba34524f1
feat: support native Seedance Ark video task API
2026-09-17 04:14:14 +09:00
haruka
4f6f206458
docs: add rolling log retention settings screenshot
2026-09-15 14:23:27 +08:00
haruka
6582260bc8
feat: add configurable rolling log retention
2026-09-15 14:21:15 +08:00
刘佳林
19382f275e
feat(minimax): 增加 MiniMax 平台支持
...
把 MiniMax 做成与 Kimi / 智谱 / DeepSeek 同级的国产供应商平台:账号创建/编辑、分组、Composite 路由、原生 Token Plan / Coding Plan 额度,以及 OpenAI 兼容模型列表。
额度走 GET api.minimaxi.com|io /v1/api/openplatform/coding_plan/remains(Bearer)。只解析 model_name=general 的 remaining percent;周窗口仅在 current_weekly_status=1 时计入。
Related to #6742
2026-09-07 18:22:56 +08:00
shaw
40ea3aebad
feat: add OAuth outbound transport plugin system
2026-08-24 09:03:37 +08:00
Wesley Liddick
b2d5ce0395
Merge pull request #5662 from yzxcj797/fix/self-referential-paths
...
docs: fix self-referential URLs after file moved into docs/
2026-08-21 17:47:51 +08:00
Kingsley
58e147fba6
feat(composite): support Codex endpoints
2026-08-19 04:40:32 +00:00
yzxcj797
98c7b0e88e
docs: fix self-referential URLs after file moved into docs/
2026-08-15 11:42:47 +08:00
IanShaw027
825f9c78d5
fix(channel-monitor-v2): default mode v1 and gentle adaptive backfill
...
Default channel_monitor_mode to v1 (opt-in V2) so upgrades keep active
probes; existing explicit v2 rows are left alone via ON CONFLICT DO NOTHING
plus migration checksum compatibility for already-applied 195.
V2 first-enable backfill no longer compresses ticks to 5s or uses 24h
chunks. Each tick does recent overlap plus at most one historical chunk
with depth-based ceilings (2h/4h/6h), adaptive grow/shrink, and failure
backoff. Error request_id dedup is bounded by a 90-minute lookback so
ops_error_logs is not scanned for full history.
Also align hide_throughput parse default with privacy-preserving public
runtime (missing key → true).
2026-08-08 13:59:11 +08:00
Wesley Liddick
2c76506e07
Merge pull request #4734 from wjx2951874/feat/alipay-mobile-precreate-deep-link
...
feat(payment): add mobile Alipay precreate deep link
2026-07-23 14:06:18 +08:00
Heatherm Huang
2e774a48b3
Align Grok composite example with live model
2026-07-23 09:20:52 +08:00
Heatherm Huang
ce3272c41b
Build composite subscription bucket two
2026-07-23 09:20:52 +08:00
Heatherm Huang
a008b63c16
Add composite group route registry
2026-07-23 09:20:18 +08:00
Heatherm Huang
c8d1e2e16f
Harden composite group product surfaces
2026-07-23 09:19:25 +08:00
wjx2951874
7914433011
feat(payment): add mobile Alipay precreate deep link
2026-07-22 19:18:04 +08:00
Wesley Liddick
8e078534c2
Merge pull request #4648 from creamtea47/codex/fix-mobile-account-actions-menu
...
fix: 修复账号管理移动端更多操作菜单溢出
2026-07-22 09:36:54 +08:00
moonfunjohn
c05b2311d8
docs(payment): update Kyren Topup provider details
...
Update Kyren Topup links, payment fees, and withdrawal fee details
in the English and Chinese payment guides.
2026-07-21 17:09:49 +08:00
NellPoi
53c8ab5b00
fix: 修复账号管理移动端更多操作菜单溢出
2026-07-20 17:18:42 +08:00
haruka and Claude Opus 4.8
b08cab91a9
feat(image-storage): 异步生图对象存储改为后台配置,保存即生效
...
此前开启异步生图必须改服务器上的 config.yaml 并重启容器(#4542),且若想
复用已配置的备份 S3,还得把同一套凭证再填一遍(#4458)。
- 新增 ImageStorageSettingService:配置存 settings 表,SecretAccessKey 经
SecretEncryptor 加密落库、读回脱敏、留空表示沿用旧值,与备份 S3 配置同一套做法。
- reuse_backup_s3(默认开)直接借用 backup_s3_config 的端点与密钥,只用自己的
bucket/prefix 区分对象,因此备份走 backups/、图片走 images/,且密钥不会在库里存两份。
- ImageTaskService 的启用状态改由 ImageStorageResolver 在运行时解析并缓存,
保存设置后 Invalidate 使下次请求重建客户端——不再需要重启。
- repository 侧由提供实例改为提供工厂,客户端才可能在运行期重建。
- 轮询接口的门控从 enabled() 放宽为 Pollable():关掉开关只拒绝新提交,
已受理的任务仍可取回结果,不再被中途吞掉。
- config.yaml 的 image_storage 保留为回落,后台从未保存过时沿用,
升级前已用配置文件开启的部署不受影响。
- 管理端 GET/PUT/POST /admin/backups/image-storage,PUT 与备份 S3 配置一样要求
step-up 2FA:改写存储目标同样能把生成内容导向外部账号。
注:go generate ./cmd/server 在当前 upstream 基线上即失败(securityaudit.
PromptAdminService 缺 provider),故 wire_gen.go 为手工同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01VHreE5pzCkSYz7J45fmd2Y
2026-07-19 00:56:21 -07:00
haruka and Claude Opus 4.8
37db8d031b
fix(config): 让环境变量能真正配置 image_storage 等凭证
...
viper.Unmarshal 只解码 AllKeys() 返回的键,而 AllKeys() 只汇总 SetDefault、
配置文件和显式 BindEnv 三个来源。AutomaticEnv 仅能覆盖已在其中的键,无法引入
新键;能兜底的 viper_bind_struct 又被 build tag 排除(我们只用 -tags embed)。
因此任何「没有注册默认值、且不在 config.yaml 里」的配置项,其环境变量会被静默
丢弃。image_storage 的 endpoint/bucket/access_key_id/secret_access_key/
public_base_url 正属此列,于是纯环境变量部署落到最坏组合:IMAGE_STORAGE_ENABLED
生效使 Enabled=true,四个凭证却为空 → Active()=false → 异步生图接口整体 404,
运维看到的却是"凭证不完整"。deploy/docker-compose.yml 默认就是纯环境变量驱动,
且自动生成的 config.yaml 从不写 image_storage 段,必然踩中(见 #4458、#4542)。
同类缺口不止于此:github_oauth、google_oauth、dingtalk_connect 三组第三方登录
配置(含 client_secret)同样完全无法用环境变量设置。
- 为这些键注册零值默认,使其进入 AllKeys() 而可被环境变量覆盖。零值与"键缺失"
时的解码结果一致,故行为不变。
- sticky_escape_enabled 例外:它的实际默认是 true(靠 IsSet 守卫在解码后补上),
注册 false 会让 IsSet 恒真而永久关闭该特性,故直接注册 true。
- 启动告警补上 missing_keys 字段,指明到底哪个凭证为空。
- 新增反射守卫测试:Config 结构体上每个可由环境变量表达的字段都必须已注册默认值。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01VHreE5pzCkSYz7J45fmd2Y
2026-07-18 05:24:32 -07:00
haruka and Claude Opus 4.8
0eb6e21aaa
feat: 异步图片任务结果落对象存储
...
为异步生图任务增加 S3 兼容对象存储支持,任务结果不再把大图内联存进 Redis:
- 新增可插拔接口 service.ImageStorage(Save -> url),适配别的厂商只需实现它
- S3 实现 S3ImageStorage(AWS S3 / R2 / 阿里云 OSS / MinIO),与备份共用 S3 客户端构造
- 新增 image_storage 配置(config.yaml + IMAGE_STORAGE_* 环境变量),默认关闭
- enabled 同时作为总开关:关闭或未配置对象存储时,异步生图接口返回 404 且不写
Redis,从根上避免几 MB 的 b64_json 结果撑爆 Redis
- 完成时把图片上传对象存储并把结果改写为短链接(公开直链或 presigned),
上传失败则任务标记为失败
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SM1tf3CFVRzC7guuhBXvMd
2026-07-15 19:57:37 -07:00
haruka
e5e94d1eb1
docs: document async image task API
2026-07-15 19:57:37 -07:00
Wesley Liddick
502097026f
Revert "feat: 支持异步生图任务与结果轮询"
2026-07-16 09:47:27 +08:00
haruka
df247b4364
docs: document async image task API
2026-07-15 22:14:34 +08:00
Turtle_Li
89edba8028
fix: restrict batch image groups to gemini
2026-07-07 04:14:09 +08:00
Turtle_Li
3c43fdec11
docs: add batch image PR readiness notes
2026-07-07 03:31:39 +08:00
Turtle_Li
a994fbd77a
feat: add batch image MVP
2026-07-04 05:30:50 +08:00
shaw
0acf00c4a1
Add admin compliance acknowledgement gate
2026-06-10 14:16:51 +08:00
shaw
7ce5b83215
chore: remove superpowers docs
2026-04-29 21:00:30 +08:00
KnowSky404
54de4e008c
docs: add account bulk edit implementation plan
2026-04-27 17:26:57 +08:00
KnowSky404
65c27d2c69
docs: add account bulk edit scope design
2026-04-27 17:21:11 +08:00
IanShaw027
f35e967516
fix payment qr fallback and admin guidance
2026-04-22 07:33:14 -07:00
shaw
c6d25f69d5
chore: 恢复PAYMENT系列文件
2026-04-22 18:48:40 +08:00
IanShaw027
422f3449a2
chore: remove local docs from repo
2026-04-21 14:54:42 +08:00
IanShaw027
440536a93d
docs: align wechat payment required fields
2026-04-21 11:41:14 +08:00
IanShaw027
f11b7d5105
docs: align payment defaults and wechat capability notes
2026-04-21 02:25:22 +08:00
IanShaw027
07bde2b665
docs: align payment guide with visible routing
2026-04-21 02:17:49 +08:00