refactor: Antigravity/Codex 服务重构为插件化适配器架构

- 将 Antigravity 和 Codex 从独立模块迁移至 src/services/provider/adapters/ 插件体系
- 新增 provider_types 和 oauth_token 模块,移除 maintenance_scheduler 中的 OAuth 定时刷新
- 增强 admin API:扩展 keys 和 provider_query 端点,新增 dashboard 路由
- 大幅增强 ProviderDetailDrawer 组件,新增 AntigravityQuotaDialog
- 改进 handler 基类(chat/cli)和错误分类器
- 优化 fetch_scheduler 和 upstream_fetcher
- 前端 UI 组件清理和优化
- 更新测试以匹配新模块结构
This commit is contained in:
fawney19
2026-02-06 16:37:06 +08:00
parent e01dfee41d
commit b88fb6273b
112 changed files with 5193 additions and 1992 deletions

View File

@@ -234,7 +234,6 @@
</Label>
<Select
v-model="systemConfig.request_record_level"
v-model:open="logLevelSelectOpen"
>
<SelectTrigger
id="request-log-level"
@@ -539,7 +538,6 @@
>
<Clock class="w-4 h-4 text-muted-foreground" />
<Select
v-model:open="task.hourSelectOpen.value"
:model-value="task.hour"
@update:model-value="(val: string) => task.updateTime(val, task.minute)"
>
@@ -558,7 +556,6 @@
</Select>
<span class="text-sm text-muted-foreground">:</span>
<Select
v-model:open="task.minuteSelectOpen.value"
:model-value="task.minute"
@update:model-value="(val: string) => task.updateTime(task.hour, val)"
>
@@ -1050,7 +1047,6 @@ interface SystemConfig {
const basicConfigLoading = ref(false)
const logConfigLoading = ref(false)
const cleanupConfigLoading = ref(false)
const logLevelSelectOpen = ref(false)
// 导出/导入相关
const exportLoading = ref(false)
@@ -1382,8 +1378,6 @@ async function handleProviderCheckinToggle(enabled: boolean) {
const previousCheckinTime = ref('')
const checkinConfigLoading = ref(false)
const quotaResetConfigLoading = ref(false)
const checkinHourSelectOpen = ref(false)
const checkinMinuteSelectOpen = ref(false)
// 解析签到时间的小时和分钟
const checkinHour = computed(() => {
@@ -1444,14 +1438,8 @@ async function handleOAuthTokenRefreshToggle(enabled: boolean) {
}
}
// OAuth Token 刷新(无时间配置,占位 ref
const oauthRefreshHourSelectOpen = ref(false)
const oauthRefreshMinuteSelectOpen = ref(false)
// 用户配额重置时间相关
const previousUserQuotaResetTime = ref('')
const userQuotaResetHourSelectOpen = ref(false)
const userQuotaResetMinuteSelectOpen = ref(false)
const previousUserQuotaResetIntervalDays = ref(1)
const userQuotaResetHour = computed(() => {
@@ -1493,8 +1481,6 @@ const scheduledTasks = computed(() => [
hasTimeConfig: true,
hour: checkinHour.value,
minute: checkinMinute.value,
hourSelectOpen: checkinHourSelectOpen,
minuteSelectOpen: checkinMinuteSelectOpen,
updateTime: updateCheckinTime,
hasChanges: hasCheckinTimeChanged.value,
loading: checkinConfigLoading.value,
@@ -1510,8 +1496,6 @@ const scheduledTasks = computed(() => [
hasTimeConfig: true,
hour: userQuotaResetHour.value,
minute: userQuotaResetMinute.value,
hourSelectOpen: userQuotaResetHourSelectOpen,
minuteSelectOpen: userQuotaResetMinuteSelectOpen,
updateTime: updateUserQuotaResetTime,
hasChanges: hasQuotaResetConfigChanged.value,
loading: quotaResetConfigLoading.value,
@@ -1527,8 +1511,6 @@ const scheduledTasks = computed(() => [
hasTimeConfig: false,
hour: '',
minute: '',
hourSelectOpen: oauthRefreshHourSelectOpen,
minuteSelectOpen: oauthRefreshMinuteSelectOpen,
updateTime: () => {},
hasChanges: false,
loading: false,