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
澄潭
8576128e4c
feat(ai-statistics): add Claude/Anthropic streaming tool calls parsing support ( #3523 )
2026-02-21 14:14:22 +08:00
澄潭
9346f1340b
refactor: migrate MCP SDK to main repo ( #3516 )
2026-02-16 23:39:18 +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
澄潭
814c3307ba
fix(ai-statistics): lightweight mode should include question and model ( #3513 )
2026-02-15 20:49:57 +08:00
澄潭
b76a3aca5e
feat(ai-statistics): add lightweight mode with use_default_response_attributes ( #3512 )
2026-02-15 17:23:54 +08:00
澄潭
28df33c596
feat(ai-statistics): add system field support for Claude /v1/messages API ( #3511 )
2026-02-15 14:16:19 +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
澄潭
6f8ef2ff69
fix(ai-statistics): use RuleAppend as default for streaming answer extraction ( #3505 )这个
2026-02-14 13:58:55 +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
澄潭
c2be0e8c9a
fix(ai-statistics): add ValueSource to built-in attributes for streaming body buffering ( #3491 )
2026-02-13 09:03:06 +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
Kent Dong
cd0a6116ce
fix: Fix jwt-auth plugin related typos ( #3291 )
2026-02-11 17:43:49 +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
lvshui
9edb709ca4
fix(ai-statistics): 修复请求模型上下文未设置问题 || fix(ai-statistics): Fix the problem that the request model context is not set ( #3380 )
...
Co-authored-by: rinfx <yucheng.lxr@alibaba-inc.com >
2026-02-04 21:11:55 +08:00
daofeng
07cfdaf88a
fix(ai-proxy): 处理 Qwen 响应无选择项的情况 ( #3448 )
2026-02-03 20:33:57 +08:00
澄潭
38dedae47d
feat: support use_default_attributes for ai-statistics plugin ( #3427 )
2026-02-01 13:47:55 +08:00
澄潭
0c0ec53a50
feat(ai-statistics): support token details and builtin keys for reasoning_tokens/cached_tokens ( #3424 )
2026-02-01 11:54:52 +08:00
澄潭
1b0ee6e837
feat(ai-statistics): add session ID tracking for multi-turn agent conversations ( #3420 )
2026-02-01 00:35:50 +08:00
澄潭
93075cbc03
fix(model-router): sync model field in request body for auto routing mode ( #3422 )
2026-01-31 23:41:17 +08:00
澄潭
6c3fd46c6f
feat(ai-proxy): add context cleanup command support ( #3409 )
2026-01-30 17:56:31 +08:00
rinfx
8eaa385a56
support mcp security guard ( #3295 )
2026-01-29 19:25:43 +08:00
澄潭
d30f6c6f0a
feat(model-router): add auto routing based on user message content ( #3403 )
2026-01-29 00:08:07 +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
rinfx
cbcc3ecf43
bugfix for model-mapper & model-router ( #3370 )
2026-01-28 10:52:45 +08:00
woody
a2eb599eff
Implement Vertex Raw mode support in AI Proxy ( #3375 )
2026-01-21 14:45:06 +08:00
rinfx
3a28a9b6a7
update wasm-go dependency ( #3367 )
2026-01-20 15:13:59 +08:00