johnlanni
179a233ad6
refactor(ai-proxy): redesign streaming thinking promotion to buffer-and-flush
...
Instead of promoting reasoning to content inline per-chunk (which would
emit reasoning as content prematurely if real content arrives later),
the streaming path now buffers reasoning content and strips it from
chunks. On the last chunk, if no content was ever seen, the buffered
reasoning is flushed as a single content chunk.
Also moves tests into test/openai.go TestOpenAI suite and adds
MockHttpContext for provider-level streaming tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 00:05:17 +08:00
johnlanni
bdfe9950ce
feat(ai-proxy): add promoteThinkingOnEmpty and hiclawMode config options
...
When some models (e.g. kimi-k2.5) put user-facing replies into
reasoning_content/thinking blocks without generating text content,
downstream clients receive empty responses. This adds a new
promoteThinkingOnEmpty option that promotes reasoning content to
text content when the response has no text block.
Also adds hiclawMode as a convenience flag that enables both
mergeConsecutiveMessages and promoteThinkingOnEmpty for multi-agent
collaboration scenarios.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 23:28:17 +08:00
woody
045238944d
Feat/new api path support ( #3620 )
2026-03-19 19:25:55 +08:00
woody
62df71aadf
feat(ai-proxy): 添加Amazon Bedrock Prompt Cache保留策略配置及优化缓存处理逻辑 ( #3609 )
2026-03-18 20:37:04 +08:00
woody
8961db2e90
fix: vertex streaming chunk parse ( #3599 )
2026-03-16 21:13:18 +08:00
woody
94f0d7179f
fix: bedrock canonical URI sig ( #3590 )
2026-03-16 14:54:19 +08:00
澄潭
f1e305844e
feat(ai-proxy): add mergeConsecutiveMessages option to merge consecutive same-role messages ( #3598 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-16 14:28:17 +08:00
woody
68d6090e36
feat(bedrock): prompt caching params transform ( #3563 )
2026-03-12 17:44:42 +08:00
johnlanni
aa502e7e62
remove openai-compat in developerRoleSupportedProviders
2026-03-05 10:09:47 +08:00
johnlanni
2e3f6868df
Revert "openai compatiable developer replace"
...
This reverts commit 6c9747d778 .
2026-03-05 10:07:54 +08:00
johnlanni
6c9747d778
openai compatiable developer replace
2026-03-04 19:57:31 +08:00
woody
c12183cae5
修复 ai-proxy 插件 Bedrock Provider 在 AWS AK/SK 鉴权模式下仅对部分 API 进行 SigV4 签名的问题 || Fixed the problem of ai-proxy plug-in Bedrock Provider only performing SigV4 signature on some APIs in AWS AK/SK authentication mode ( #3549 )
2026-03-02 09:55:31 +08:00
woody
e2a22d1171
[ai-proxy] vertex image edits & variations ( #3536 )
2026-02-27 10:18:30 +08:00
Jingze
e9aecb6e1f
fix(ai-proxy): update anthropic messages endpoint path for qwen provider ( #3530 )
2026-02-25 10:26:25 +08:00
澄潭
1c847dd553
feat(ai-proxy): strip dynamic cch field from billing header to enable caching ( #3518 )
2026-02-15 23:57:08 +08:00
澄潭
a07f5024a9
fix(ai-proxy): convert OpenAI tool role to Claude user role with tool_result ( #3517 )
2026-02-15 22:45:09 +08:00
澄潭
8e7292c42e
fix(ai-proxy): fix Claude protocol conversion issues ( #3510 )
2026-02-15 13:52:26 +08:00
澄潭
d03932b3ea
fix(ai-proxy): add streaming tool_calls support for Claude provider ( #3507 )
2026-02-15 08:48:20 +08:00
澄潭
5a2ff8c836
fix(ai-proxy): convert Claude tool_use stop_reason to OpenAI tool_calls format ( #3506 )
2026-02-14 21:52:25 +08:00
澄潭
67e2913f3d
fix(ai-proxy): preserve text content alongside tool_result in Claude to OpenAI conversion ( #3503 )
2026-02-14 12:12:07 +08:00
澄潭
e996194228
fix(ai-proxy): add missing event field in Claude streaming response ( #3502 )
2026-02-14 09:55:14 +08:00
澄潭
95f86d7ab5
feat(ai-proxy): add consumer affinity for stateful APIs ( #3499 )
2026-02-14 09:22:12 +08:00
澄潭
13ed2284ae
fix(ai-proxy): fix claude system content null serialization ( #3496 )
2026-02-13 20:32:37 +08:00
澄潭
44d688a168
feat(ai-proxy): add zhipu provider enhancements ( #3488 )
2026-02-12 22:19:13 +08:00
澄潭
ce4dff9887
feat(ai-proxy): convert developer role to system for unsupported providers ( #3479 )
2026-02-12 16:14:46 +08:00
Kent Dong
22ae1aaf69
fix: Fix the incorrect api-version appending logic in AzureProvider ( #3289 )
2026-02-11 17:44:29 +08:00
woody
5e2892f18c
fix(provider/bedrock.go): 优化工具调用消息处理逻辑 || fix(provider/bedrock.go): Optimization tool calls message processing logic ( #3470 )
2026-02-11 12:33:12 +08:00
澄潭
cd670e957f
refactor(ai-proxy): remove automatic Bash tool injection in Claude Code mode ( #3462 )
2026-02-07 20:24:43 +08:00
澄潭
083bae0e73
feat(ai-proxy): add Claude Code mode support for Claude provider ( #3459 )
2026-02-07 15:57:19 +08:00
daofeng
07cfdaf88a
fix(ai-proxy): 处理 Qwen 响应无选择项的情况 ( #3448 )
2026-02-03 20:33:57 +08:00
澄潭
6c3fd46c6f
feat(ai-proxy): add context cleanup command support ( #3409 )
2026-01-30 17:56:31 +08:00
zikunchang
f2fcd68ef8
feature: Support getting the API key from the request header when provider.apiTokens is not configured. ( #3394 )
...
Co-authored-by: 澄潭 <zty98751@alibaba-inc.com >
2026-01-28 14:03:24 +08:00
woody
a2eb599eff
Implement Vertex Raw mode support in AI Proxy ( #3375 )
2026-01-21 14:45:06 +08:00
woody
399d2f372e
add support for image generation in Vertex AI provider ( #3335 )
2026-01-19 16:40:29 +08:00
woody
f1a5f18c78
feat/ai proxy vertex ai compatible ( #3324 )
2026-01-14 10:13:00 +08:00
woody
23fbe0e9e9
feat(vertex): 为 ai-proxy 插件的 Vertex AI Provider 添加 Express Mode 支持 || feat(vertex): Add Express Mode support to Vertex AI Provider of ai-proxy plug-in ( #3301 )
2026-01-13 20:00:05 +08:00
CZJCC
78d4b33424
feat(ai-proxy): add Bearer Token authentication support for Bedrock p… ( #3305 )
2026-01-07 19:39:20 +08:00
rinfx
5cc9f65aaa
support disable thinking and add reasoning token usage ( #3261 )
2025-12-26 17:04:07 +08:00
Bingkun Zhao
e7e3ab5ff6
fix: ai-proxy dify provider extract hostname from difyApiUrl ( #3257 )
2025-12-24 09:58:54 +08:00
rinfx
e8bcbde5f4
support vertex's claude ( #3236 )
2025-12-20 10:33:53 +08:00
woody
6998800c64
fix(ai-proxy): ensure basePathHandling works with original protocol ( #3225 )
2025-12-16 20:49:21 +08:00
rinfx
7f5b37ae6d
vertex support global region ( #3213 )
2025-12-15 17:19:59 +08:00
Liang Deng
5c17d3faa3
feat(ai-proxy): support handle array content in chatToolMessage2BedrockMessage ( #3200 )
...
Signed-off-by: Liang Deng <ytdengliang@gmail.com >
Co-authored-by: rinfx <yucheng.lxr@alibaba-inc.com >
2025-12-11 14:15:38 +08:00
rinfx
8a7a375ebd
doubao support configuration for domain ( #3184 )
2025-12-04 21:17:50 +08:00
woody
116e7c6904
implement generic provider for vendor-agnostic passthrough ( #3175 )
2025-12-03 09:52:47 +08:00
rinfx
7a504fd67d
remove omitempty for toolcall index ( #3148 )
...
Co-authored-by: 澄潭 <zty98751@alibaba-inc.com >
2025-11-24 16:14:00 +08:00
xujingfeng
c3077d7981
fix(ai-proxy): 调整日志级别以减少冗余警告信息 || fix(ai-proxy): Adjust log level to reduce redundant warning messages ( #3120 )
2025-11-13 19:24:14 +08:00
woody
8a3c0bb342
feat(ai-proxy): add video-related API paths and capabilities ( #3108 )
2025-11-11 19:39:49 +08:00
victorserbu2709
1300e09e28
groq add responses capability ( #3029 )
...
Co-authored-by: 澄潭 <zty98751@alibaba-inc.com >
2025-11-11 19:36:26 +08:00
rinfx
d4e6704f33
[bugfix] add claude usage & bedrock tool_call index ( #3095 )
2025-11-10 10:03:01 +08:00