mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
refactor: 提取 HandlerAdapterBase 基类,新增 api_family/endpoint_kind 结构化维度
- 从 ChatAdapterBase 和 CliAdapterBase 提取公共逻辑到 HandlerAdapterBase, 消除头部处理、异常处理、计费策略等重复代码 - Usage 记录链路全程透传 api_family / endpoint_kind / provider_api_family / provider_endpoint_kind 四个结构化字段,替代从 api_format 字符串解析 - 删除冗余的 ClaudeCliNormalizer、GeminiCliNormalizer、ClaudeCliResponseParser、 GeminiCliResponseParser,改用 data_format_id 回退机制自动复用 Chat 版本 - build_endpoint_url 签名统一扩展 request_data / model_name 参数 - 新增 Alembic 迁移,含历史数据回填
This commit is contained in:
@@ -366,7 +366,11 @@ class Usage(Base):
|
||||
# 请求详情
|
||||
request_type = Column(String(50)) # chat, completion, embedding等
|
||||
api_format = Column(String(50), nullable=True) # API 格式: CLAUDE, OPENAI 等(用户请求格式)
|
||||
api_family = Column(String(50), nullable=True) # 协议族: claude, openai, gemini
|
||||
endpoint_kind = Column(String(50), nullable=True) # 端点类型: chat, cli, video
|
||||
endpoint_api_format = Column(String(50), nullable=True) # 端点原生 API 格式
|
||||
provider_api_family = Column(String(50), nullable=True) # 提供商协议族
|
||||
provider_endpoint_kind = Column(String(50), nullable=True) # 提供商端点类型
|
||||
has_format_conversion = Column(Boolean, nullable=True, default=False) # 是否发生了格式转换
|
||||
is_stream = Column(Boolean, default=False) # 是否为流式请求
|
||||
status_code = Column(Integer)
|
||||
|
||||
@@ -100,7 +100,11 @@ class Usage(Base):
|
||||
# 请求详情
|
||||
request_type = Column(String(50)) # chat, completion, embedding等
|
||||
api_format = Column(String(50), nullable=True) # API 格式: CLAUDE, OPENAI 等(用户请求格式)
|
||||
api_family = Column(String(50), nullable=True) # 协议族: claude, openai, gemini
|
||||
endpoint_kind = Column(String(50), nullable=True) # 端点类型: chat, cli, video
|
||||
endpoint_api_format = Column(String(50), nullable=True) # 端点原生 API 格式
|
||||
provider_api_family = Column(String(50), nullable=True) # 提供商协议族
|
||||
provider_endpoint_kind = Column(String(50), nullable=True) # 提供商端点类型
|
||||
has_format_conversion = Column(Boolean, nullable=True, default=False) # 是否发生了格式转换
|
||||
is_stream = Column(Boolean, default=False) # 是否为流式请求
|
||||
status_code = Column(Integer)
|
||||
|
||||
Reference in New Issue
Block a user