mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-07 01:47:47 +08:00
- 删除全部 Python 源码 (src/) 及 Alembic 迁移脚本,归档至 _deprecated_py_src/ - 重构 Rust gateway ai_pipeline: 拆分 planner/finalize 模块,新增 contracts/adaptation 层 - 重组 handlers 模块为 admin/public/proxy/internal/shared 子模块结构 - 新增 executor 模块,引入 Rust 原生数据库迁移 (aether-data/migrations) - 简化 CI/Docker 构建流程,移除 base image 二级构建,统一为单一 app image - 移除 Python 相关基础设施文件 (entrypoint.sh, gunicorn_conf.py, Dockerfile.base)
41 lines
996 B
Python
41 lines
996 B
Python
"""
|
|
URL 处理工具函数
|
|
|
|
提供 URL 模式检测和处理功能。
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from urllib.parse import urlparse
|
|
|
|
|
|
def is_official_openai_api_url(base_url: str | None) -> bool:
|
|
"""判断是否为 OpenAI 官方 API 端点。"""
|
|
value = str(base_url or "").strip()
|
|
if not value:
|
|
return False
|
|
|
|
parsed = urlparse(value if "://" in value else f"https://{value}")
|
|
host = str(parsed.hostname or "").strip().lower()
|
|
return host == "api.openai.com"
|
|
|
|
|
|
def is_codex_url(base_url: str) -> bool:
|
|
"""判断是否是 Codex OAuth 端点。
|
|
|
|
Codex OAuth 端点(如 chatgpt.com/backend-api/codex)不走标准 /v1 前缀,
|
|
直接使用 /responses 而非 /v1/responses。
|
|
|
|
Args:
|
|
base_url: 端点基础 URL
|
|
|
|
Returns:
|
|
bool: 是否是 Codex 端点
|
|
"""
|
|
url = base_url.rstrip("/")
|
|
return (
|
|
"/backend-api/codex" in url
|
|
or "/backendapi/codex" in url
|
|
or url.endswith("/codex")
|
|
)
|