Commit Graph

1713 Commits

Author SHA1 Message Date
Wesley Liddick
ffc7e920c3 Merge pull request #969 from shiiwuz/debug/sticky-session-pick-logging [skip ci]
Sticky session: support OpenClaw prompt_cache_key fallback
2026-02-24 08:40:07 +08:00
Wesley Liddick
5a42294a08 Merge pull request #997 from mylukin/feat/add-gemini-3.1-pro-preview [skip ci]
feat: add gemini-3.1-pro-preview model support
2026-02-24 08:38:48 +08:00
Wesley Liddick
8723c4afa1 Merge pull request #1002 from yuanhaitao/fix/weekly-claude-cost-stats [skip ci]
fix: 修复 Claude 周额度统计范围,从仅 Opus 扩展到全部 Claude 模型
2026-02-24 08:37:57 +08:00
github-actions[bot]
b227617f40 chore: sync VERSION file with release v1.1.280 [skip ci] v1.1.280 2026-02-24 00:31:36 +00:00
Wesley Liddick
259e2aefbb Merge pull request #991 from DragonFSKY/fix/403-permission-error-ban-detection
fix: 识别 403 permission_error 为账号封禁状态,避免 30 分钟无限循环
2026-02-24 08:31:16 +08:00
Wesley Liddick
5730542294 Merge pull request #986 from sususu98/fix/error-sanitizer-upstream-format [skip ci]
fix: errorSanitizer 无法识别 Anthropic 错误格式导致 400 误映射为 E015/500
2026-02-24 08:30:55 +08:00
Wesley Liddick
e0d36fcfdd Merge pull request #952 from sczheng189/feature/claude_price_count [skip ci]
feat: 1m上下文计费,1h计费
2026-02-24 08:30:37 +08:00
sczheng189
823693afda 格式化 2026-02-23 23:27:19 +08:00
sczheng189
93b655d65c Revert "fix: update the limit logic, and if the daily limit is not reached after reaching the opus weekly limit, other claude models can be used"
This reverts commit f444af49bf.
2026-02-23 21:23:38 +08:00
sczheng189
6e7c3b2fb6 Merge remote-tracking branch 'upstream/main' into feature/claude_price_count 2026-02-23 21:21:11 +08:00
sczheng189
bfae62bfeb feat: 添加对 ephemeral 5m 和 1h 令牌的支持,优化费用计算逻辑 2026-02-23 21:20:18 +08:00
sczheng189
5376428dd9 fix: 添加对 ephemeral 5m 和 1h 令牌的支持,优化费用计算逻辑 2026-02-23 20:12:42 +08:00
yuanhaitao
67a81e4941 fix: 修复 Claude 周额度统计范围,从仅 Opus 扩展到全部 Claude 模型
- 将 isOpusModel 替换为 isClaudeFamilyModel,使周额度限制覆盖所有 Claude 系列模型
- 前端 ApiKeysView 新增 Claude 周限制进度条显示
- 修复"无任何限制"提示在有周限制时仍然显示的问题

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:02:26 +08:00
Lukin
9bf52c67b1 feat: add gemini-3.1-pro-preview model support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:12:17 +08:00
谢栋梁
ce7df12281 fix: 识别 403 permission_error 为账号封禁状态,避免 30 分钟无限循环
Claude 封禁账号后返回 HTTP 403 + permission_error:
"OAuth authentication is currently not allowed for this organization."

原有的 _isOrganizationDisabledError 只检测 HTTP 400,无法识别该错误。
且 else if 分支中通用 403 在 organizationDisabledError 之前,
即使修改函数也会被截断。

修复内容:
1. _isOrganizationDisabledError 兼容 403 + permission_error 场景
2. 非流式路径:将 organizationDisabledError 检测提前到通用 403 之前
3. 流式路径:在 403 分支内部优先判断是否为封禁性质的 403

Closes #990
2026-02-18 18:09:49 +08:00
sczheng189
3b25cf01ad feat: 添加 Claude 计费特性和请求元信息支持,优化长上下文计费逻辑 2026-02-14 21:32:09 +08:00
sususu
8f88cf8e91 fix: 修复上游400错误被错误映射为E015/500的问题
extractOriginalMessage 未处理 Anthropic 错误格式 {"error":{"message":"..."}},
导致消息提取为空,所有上游 400 错误回退为默认的 E015 Internal server error。

- 新增 error.error?.message 路径检查
- ERROR_MATCHERS 增加 invalid.*argument 匹配 INVALID_ARGUMENT 错误
2026-02-14 15:02:22 +08:00
github-actions[bot]
d6ced986b6 chore: sync VERSION file with release v1.1.279 [skip ci] v1.1.279 2026-02-13 16:41:43 +00:00
Wesley Liddick
91ee5299ba Merge pull request #983 from Wei-Shaw/revert-982-feat/add-gpt-5.3-codex-spark
Revert "feat: add gpt-5.3-codex-spark model support"
2026-02-14 00:41:27 +08:00
Wesley Liddick
3680153d3f Merge branch 'main' into revert-982-feat/add-gpt-5.3-codex-spark 2026-02-14 00:41:16 +08:00
Wesley Liddick
7331945034 Revert "feat: add gpt-5.3-codex-spark model support" 2026-02-14 00:40:37 +08:00
github-actions[bot]
d0931968b5 chore: sync VERSION file with release v1.1.278 [skip ci] v1.1.278 2026-02-13 16:40:05 +00:00
Wesley Liddick
ef422c05b3 Merge pull request #982 from mylukin/feat/add-gpt-5.3-codex-spark
feat: add gpt-5.3-codex-spark model support
2026-02-14 00:39:51 +08:00
Wesley Liddick
a99dd48170 Merge pull request #971 from daheli/fix/increase-stream-watchdog-timeout [skip ci]
fix: increase stream watchdog timeout from 45s to 90s
2026-02-14 00:38:42 +08:00
Wesley Liddick
f695466ff8 Merge pull request #980 from mylukin/fix/patch-orphaned-tool-use [skip ci]
fix: patch orphaned tool_use blocks missing tool_result in Claude relay
2026-02-13 20:15:16 +08:00
Lukin
b08c34e40a feat: add gpt-5.3-codex-spark model support
Add gpt-5.3-codex-spark to model service and config.
Also add gpt-5.3-codex to model service (was only in config).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 16:26:53 +08:00
Lukin
abc66cc86f fix: patch orphaned tool_use blocks missing tool_result in Claude relay
Clients (e.g. opencode) may truncate conversation history in long sessions, leaving tool_use blocks without corresponding tool_result. The upstream Claude API strictly validates this pairing and returns 400. This adds _patchOrphanedToolUse() to claudeRelayService._processRequestBody(), which detects orphaned tool_use IDs and synthesizes error tool_result blocks — the same approach already used in anthropicGeminiBridgeService for the Antigravity path.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-13 11:42:48 +08:00
Lukin
feb8d3974d fix: patch orphaned tool_use blocks missing tool_result in Claude relay
Clients (e.g. opencode) may truncate conversation history in long sessions, leaving tool_use blocks without corresponding tool_result. The upstream Claude API strictly validates this pairing and returns 400. This adds _patchOrphanedToolUse() to claudeRelayService._processRequestBody(), which detects orphaned tool_use IDs and synthesizes error tool_result blocks — the same approach already used in anthropicGeminiBridgeService for the Antigravity path.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-13 11:41:39 +08:00
github-actions[bot]
25cbcd313b chore: sync VERSION file with release v1.1.277 [skip ci] 2026-02-12 15:42:52 +00:00
Lukin
bf847b8aaf ci: remove Docker Hub, use only GHCR for releases
- Remove Docker Hub login step
- Remove docker.io image tags from build
- Update Telegram notification to show only GHCR images
2026-02-12 23:41:27 +08:00
github-actions[bot]
bdecbdedae chore: sync VERSION file with release v1.1.276 [skip ci] 2026-02-12 15:37:51 +00:00
Lukin
647420b10c Merge fix for Console API system role handling 2026-02-12 23:32:31 +08:00
Lukin
fe52a62cda fix(console): transform system role messages for Console API compatibility
Claude Console API (e.g., GLM accounts) does not accept messages with
role='system' in the messages array, returning 422 error:
"Input should be 'user' or 'assistant'"

This fix automatically transforms system messages by merging them into
the first user message's content, maintaining compatibility with clients
like opencode that send system role messages.

Changes:
- Add _transformSystemMessages() method to merge system content into user messages
- Apply transformation in both relayRequest() and relayStreamRequestWithUsageCapture()
- Only affects claude-console account type, no impact on official API

Fixes issues where opencode users get 422 errors when using Console API accounts.
2026-02-12 23:32:26 +08:00
Lukin
8a78f96564 ci: configure workflow for GHCR-only releases
- Remove Docker Hub dependency, use only GitHub Container Registry
- Update image naming logic for personal fork
- Simplify release notes to show GHCR images only
2026-02-12 23:31:02 +08:00
Your Name
859db7e99a fix: increase stream watchdog timeout from 45s to 90s
Google upstream (Antigravity) thinking models can take >45s during
the thinking phase before producing any output, especially under
heavy load. The 45s watchdog was incorrectly treating these as zombie
connections and terminating the stream, causing clients to receive
overloaded_error and retry repeatedly.

Increased STREAM_ACTIVITY_TIMEOUT_MS from 45000ms to 90000ms to
accommodate longer thinking phases.
2026-02-11 21:50:35 +08:00
shiiwuz
77c4ed8b70 Sticky session: fallback to prompt_cache_key 2026-02-10 20:04:32 +08:00
github-actions[bot]
02e82cd245 chore: sync VERSION file with release v1.1.274 [skip ci] v1.1.274 2026-02-10 11:15:57 +00:00
Wesley Liddick
5fd834857e Merge pull request #966 from TyrantLucifer/fix-cluade-opus-limit
fix: update the claude model limit logic
2026-02-10 19:15:41 +08:00
github-actions[bot]
0efb634988 chore: sync VERSION file with release v1.1.273 [skip ci] v1.1.273 2026-02-10 11:12:22 +00:00
shaw
0cdfd65142 Merge branch 'main' into feat/oai_optimize 2026-02-10 19:09:59 +08:00
tyrantlucifer
f444af49bf fix: update the limit logic, and if the daily limit is not reached after reaching the opus weekly limit, other claude models can be used 2026-02-10 14:17:36 +08:00
github-actions[bot]
00a954c7e9 chore: sync VERSION file with release v1.1.272 [skip ci] v1.1.272 2026-02-10 03:22:22 +00:00
shaw
4ed0108a9c fix: 移除特定system以适配新版cc客户端缓存失效的bug 2026-02-10 11:22:02 +08:00
SunSeekerX
cc82e071dc 1 2026-02-09 22:14:34 +08:00
SunSeekerX
c21997b7f4 1 2026-02-09 22:06:15 +08:00
SunSeekerX
29f2c4aba1 1 2026-02-09 20:33:04 +08:00
SunSeekerX
a08d51ba57 1 2026-02-09 20:24:38 +08:00
SunSeekerX
4637ee03b1 Merge branch 'main' into feat/oai_optimize 2026-02-09 18:17:28 +08:00
SunSeekerX
a119cb1744 1 2026-02-09 18:13:45 +08:00
github-actions[bot]
aa7bc00552 chore: sync VERSION file with release v1.1.271 [skip ci] v1.1.271 2026-02-09 08:31:49 +00:00