mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
feat(provider): 增加 Claude Code 适配器、高级配置能力与 OAuth 账号类型统一解析
- 新增 Claude Code provider adapter (context, envelope, plugin, constants) - 扩展 provider admin 路由,支持 Claude Code 高级配置 (CRUD) - 统一 OAuth 账号类型解析逻辑,前后端对齐 - 重构 BatchAssignModelsDialog / ModelMappingDialog,简化组件逻辑 - handler 基类增强: request_builder 支持 Claude Code 信封格式 - CLI stream/sync mixin 适配 Claude Code 流式与同步模式 - 扩展 candidate builder / failover / scheduler 对 Claude Code 的支持 - 前端增加请求时间线可视化 (HorizontalRequestTimeline) - 补充 Claude Code envelope / runtime controls / distributed sessions 等测试 Closes #183 Closes #185 Co-Authored-By: AAEE86 <ppk0227@hotmail.com>
This commit is contained in:
@@ -520,6 +520,7 @@ class ClaudeNormalizer(FormatNormalizer):
|
||||
message_raw = chunk.get("message")
|
||||
message: dict[str, Any] = message_raw if isinstance(message_raw, dict) else {}
|
||||
msg_id = str(message.get("id") or "")
|
||||
usage_info = self._claude_usage_to_internal(message.get("usage"))
|
||||
# 保留初始化时设置的 model(客户端请求的模型),仅在空时用上游值
|
||||
model = state.model or str(message.get("model") or "")
|
||||
state.message_id = msg_id or state.message_id
|
||||
@@ -527,7 +528,9 @@ class ClaudeNormalizer(FormatNormalizer):
|
||||
state.model = model
|
||||
ss["message_started"] = True
|
||||
ss.setdefault("block_index_to_tool_id", {})
|
||||
events.append(MessageStartEvent(message_id=msg_id, model=model))
|
||||
if usage_info is not None:
|
||||
ss["usage"] = message.get("usage")
|
||||
events.append(MessageStartEvent(message_id=msg_id, model=model, usage=usage_info))
|
||||
return events
|
||||
|
||||
if event_type == "content_block_start":
|
||||
|
||||
Reference in New Issue
Block a user