mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
1. 缓存创建 tokens 区分 5min/1h TTL,支持按缓存时长差异化计费 - Usage 表新增 cache_creation_input_tokens_5m/1h 字段 - Claude handler 解析新格式 (ephemeral_5m/1h, claude_cache_creation_5/1h) - 计费规则支持 cache_ttl_pricing 覆盖 cache_creation 价格 2. 能力匹配机制优化 - COMPATIBLE 能力不再硬过滤,改为排序阶段通过 capability_miss_count 优先级处理 - cache_1h 改为 COMPATIBLE + REQUEST_PARAM(自动检测请求体中的 ttl=1h) - gemini_files 改为 EXCLUSIVE + REQUEST_PARAM(自动检测 fileData.fileUri) - 移除前端模型偏好/能力配置 UI(不再需要用户手动配置) 3. 新增用户-模型维度调用次数计数器 (UserModelUsageCount) - 原子递增,避免从 Usage 表聚合查询 - 前端模型目录和用户可用模型列表展示调用次数 4. 其他改进 - global_model_id 改为必填(NOT NULL),清理孤立模型 - 模型映射对话框支持从上游获取模型列表并分组折叠 - 端点测试不再依赖端点启用状态 - 异步任务页面对普通用户隐藏用户信息列 - Dashboard 响应式布局断点调整 (sm -> lg) - 号池管理仅展示已启用号池的提供商
Aether - 数据库迁移说明
当前版本
- Revision ID:
aether_baseline - 创建日期: 2025-12-06
- 状态: 全新基线
迁移历史
所有历史增量迁移已清理,当前以完整 schema 作为新起点。
核心数据库结构
用户系统
- users: 用户账户管理
- api_keys: API 密钥管理
- user_quotas: 用户配额管理
- user_preferences: 用户偏好设置
Provider 三层架构
- providers: LLM 提供商配置
- provider_endpoints: Provider 的 API 端点配置
- provider_api_keys: Endpoint 的具体 API 密钥
- api_key_provider_mappings: 用户 API Key 到 Provider 的映射关系
模型系统
- global_models: 统一模型定义(GlobalModel)
- models: Provider 的模型实现和价格配置
- model_mappings: 统一的别名与降级映射表
监控和追踪
- usage: API 使用记录
- request_candidates: 请求候选记录
- provider_usage_tracking: Provider 使用统计
- audit_logs: 系统审计日志
系统功能
- announcements: 系统公告
- announcement_reads: 公告阅读记录
- system_configs: 系统配置
从旧数据库迁移
如需从旧数据库迁移数据,请使用迁移脚本:
# 设置环境变量
export OLD_DATABASE_URL="postgresql://user:pass@old-host:5432/old_db"
export NEW_DATABASE_URL="postgresql://user:pass@new-host:5432/aether"
# 干运行(查看迁移量)
python scripts/migrate_data.py --dry-run
# 执行迁移
python scripts/migrate_data.py
# 只迁移特定表
python scripts/migrate_data.py --tables users,providers,api_keys
# 跳过大表
python scripts/migrate_data.py --skip usage,audit_logs
新数据库初始化
# 1. 运行迁移创建表结构
DATABASE_URL="postgresql://user:pass@host:5432/aether" uv run alembic upgrade head
# 2. 初始化管理员账户
python -m src.database.init_db
未来迁移
基于 aether_baseline 创建增量迁移:
# 修改模型后,生成新的迁移
DATABASE_URL="..." uv run alembic revision --autogenerate -m "描述变更"
# 应用迁移
DATABASE_URL="..." uv run alembic upgrade head