shaw
|
dd4d482a70
|
fix email reminder dedup keys
|
2026-05-20 16:40:18 +08:00 |
|
github-actions[bot]
|
f5a2ad688a
|
chore: sync VERSION to 0.1.128 [skip ci]
|
2026-05-20 07:44:15 +00:00 |
|
Wesley Liddick
|
7ec61eb2f5
|
Merge pull request #2606 from wucm667/fix/openai-responses-respect-force-chat-completions
fix(openai): /v1/responses 入口尊重 force_chat_completions 设置
|
2026-05-20 15:13:43 +08:00 |
|
Wesley Liddick
|
378a0a6a61
|
Merge pull request #2599 from Arron196/feature/email-template-editor
feat: 添加邮件模板编辑器与通知邮件模板化
|
2026-05-20 15:12:57 +08:00 |
|
Wesley Liddick
|
1222d75119
|
Merge pull request #2595 from wucm667/fix/group-list-available-account-count
test(group): 补充分组列表账号统计回归测试
|
2026-05-20 15:11:08 +08:00 |
|
shaw
|
825834b5cb
|
test(api-contract): fix admin/settings expected map missing openai_codex_user_agent
|
2026-05-20 15:07:07 +08:00 |
|
Wesley Liddick
|
fb2098018e
|
Merge pull request #2593 from wucm667/fix/openai-images-n-param
fix(openai-images): 修复 /v1/images/generations 的 n 参数不生效
|
2026-05-20 14:35:06 +08:00 |
|
shaw
|
878ad3b569
|
feat(openai-gateway): Codex OAuth 账号浏览器 UA 自动改写规避 Cloudflare
质询
|
2026-05-20 14:33:51 +08:00 |
|
wucm667
|
cae93ae137
|
fix(openai): /v1/responses respect force chat completions
|
2026-05-20 14:17:26 +08:00 |
|
benjamin
|
e1b53fdeba
|
fix(email): 补全模板 helper 写入错误检查
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:40:32 +08:00 |
|
benjamin
|
0fd8c060df
|
fix(frontend): 按当前语言初始化邮件模板
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:26:19 +08:00 |
|
benjamin
|
12f324688f
|
feat(auth): 在认证服务中保留邮件 locale
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:25:58 +08:00 |
|
benjamin
|
efa1994233
|
feat(auth): 透传验证码邮件语言偏好
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:25:45 +08:00 |
|
benjamin
|
a6bb6d481b
|
fix(ops): 收紧运维邮件 fallback 和去重
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:25:32 +08:00 |
|
benjamin
|
3fdd5cbaef
|
fix(email): 避免模板投递错误重复 fallback
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:25:18 +08:00 |
|
benjamin
|
7e0b22ceb6
|
feat(email): 扩展邮件模板错误处理
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 13:25:03 +08:00 |
|
wucm667
|
5465003d07
|
test(group): 补充分组列表可用账号数与总账号数统计正确性的集成测试
修复 #2579 报告的可用账号数等于总数问题:
上游已通过 loadAccountCounts / GetAccountCount 两处 SQL 中的
COUNT(*) FILTER (WHERE status='active' AND schedulable=true)
正确区分可用账号,但缺少覆盖 active < total 场景的测试,
导致回归容易被忽略。
新增三个集成测试:
- TestListWithFilters_ActiveAccountCount_LessThanTotal
含 active+schedulable、disabled、active+unschedulable 三类账号,
断言 AccountCount=3、ActiveAccountCount=1,
并验证 GetAccountCount 返回值与 ListWithFilters 字段一致。
- TestListWithFilters_RateLimitedAccountCount
验证 rate_limit_reset_at 未过期的账号计入 ActiveAccountCount(仍可调度),
同时单独出现在 RateLimitedAccountCount 中。
- TestListWithAccountCountSort_AttachesActiveCount
通过 SortBy=account_count 触发 listWithAccountCountSort 路径,
验证排序按 total 而非 active,且两个字段均被正确附加。
Fixes #2579
|
2026-05-20 11:33:29 +08:00 |
|
wucm667
|
2c14efeaa0
|
fix(openai-images): 修复图片生成 n 参数透传
|
2026-05-20 11:28:28 +08:00 |
|
shaw
|
91da815993
|
feat(risk-control): 内容审计新增关键词拦截
|
2026-05-20 11:13:53 +08:00 |
|
benjamin
|
d72bf0897e
|
test(frontend): 加载前端测试初始化脚本
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
c2b0591200
|
feat(i18n): 添加邮件模板编辑器文案
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
11462a3e9f
|
feat(frontend): 添加邮件模板编辑器
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
8cef9a7ab1
|
chore(wire): 注入通知邮件服务
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
dd2eeee14a
|
feat(notification): 接入余额和订阅提醒邮件
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
903ef7b592
|
feat(payment): 发送支付成功通知邮件
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
55b13cd7b4
|
feat(settings): 添加邮件退订入口
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
88346b4d53
|
feat(admin): 添加邮件模板管理接口
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
benjamin
|
ee1bb84727
|
feat(email): 添加通知邮件模板服务
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-20 11:09:18 +08:00 |
|
shaw
|
3d22dd34d3
|
feat: add gemini-3.5-flash model support across backend and frontend
|
2026-05-20 09:28:46 +08:00 |
|
Wesley Liddick
|
03730fbcf3
|
Merge pull request #2585 from Arron196/feature/channel-monitor-openai-detection
优化渠道监控 OpenAI 检测协议与内置模板
|
2026-05-20 08:50:44 +08:00 |
|
Wesley Liddick
|
74e35a0150
|
Merge pull request #2582 from wucm667/feat/channel-pricing-sync-models
feat(channels): 模型定价支持一键同步最新模型
|
2026-05-20 08:43:10 +08:00 |
|
Wesley Liddick
|
ec283cb072
|
Merge pull request #2580 from wucm667/fix/openai-responses-strip-temperature
fix(apicompat): Responses 转换为推理模型时剥离不支持的 temperature 参数
|
2026-05-20 08:42:26 +08:00 |
|
Wesley Liddick
|
44c13e7a73
|
Merge pull request #2578 from wucm667/feat/payment-force-qrcode
feat(payment): 支持强制移动端统一使用二维码支付
|
2026-05-20 08:41:29 +08:00 |
|
Wesley Liddick
|
8e77241386
|
Merge pull request #2581 from is7Qin/fix/ops-body-memory-retention
降低大请求体场景下的 Ops 错误日志内存放大
|
2026-05-20 08:40:24 +08:00 |
|
benjamin
|
f8488515ed
|
feat(channel-monitor): 补充协议选择文案
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:44 +08:00 |
|
benjamin
|
e2831b3291
|
feat(channel-monitor): 增加模板协议管理界面
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:44 +08:00 |
|
benjamin
|
89d4b0db54
|
feat(channel-monitor): 增加监控协议选择界面
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
b447ba6a0d
|
feat(channel-monitor): 补全前端 API 模式类型
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
917bd877ae
|
feat(channel-monitor): 暴露 API 模式接口字段
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
a5072f77bd
|
feat(channel-monitor): 保存模板协议快照
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
38d8195946
|
feat(channel-monitor): 约束模板 API 模式
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
c6455d9fb5
|
feat(channel-monitor): 应用监控 API 模式
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
1184ef265f
|
feat(channel-monitor): 拆分 OpenAI 检测协议
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
b685fe69a4
|
feat(channel-monitor): 内置 OpenAI 检测模板
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
3eff5f512a
|
feat(channel-monitor): 添加 API 模式迁移
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
fb144c432d
|
feat(channel-monitor): 持久化 API 模式字段
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
799f7e65c8
|
feat(channel-monitor): 校验 API 模式取值
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
benjamin
|
9055612ddc
|
feat(channel-monitor): 定义 OpenAI API 模式基础类型
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-05-19 22:05:43 +08:00 |
|
shaw
|
4b6d5d76de
|
chore: update sponsors
|
2026-05-19 21:18:41 +08:00 |
|
wucm667
|
92ad68a314
|
feat(channels): 模型定价支持一键同步最新模型
从 LiteLLM 定价目录中读取指定平台的最新模型列表,
将尚未录入的模型以新定价条目(价格留空)的形式追加,
管理员只需点击同步最新模型按钮即可完成操作。
- backend/service: PricingService 新增 ListModelNamesByProvider
- backend/handler: ChannelHandler 新增 SyncPricingModels (GET /api/v1/admin/channels/pricing/sync-models)
- backend/routes: 注册新路由(在 /:id 通配符之前)
- backend/wire_gen: 手动更新 NewChannelHandler 调用
- frontend/api: channels.ts 新增 syncPricingModels
- frontend/i18n: zh.ts / en.ts 新增 5 个 key
- frontend/view: ChannelsView 定价区域标题行新增「同步最新模型」按钮
- tests: pricing_service_test + channel_handler_test 新增单元测试
|
2026-05-19 20:32:32 +08:00 |
|