mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-02-03 03:10:50 +08:00
62 lines
1.5 KiB
TypeScript
62 lines
1.5 KiB
TypeScript
/**
|
|
* 配置相关类型定义
|
|
* 与基线 /config 返回结构保持一致(内部使用驼峰形式)
|
|
*/
|
|
|
|
import type { GeminiKeyConfig, ProviderKeyConfig, OpenAIProviderConfig } from './provider';
|
|
import type { AmpcodeConfig } from './ampcode';
|
|
|
|
export interface QuotaExceededConfig {
|
|
switchProject?: boolean;
|
|
switchPreviewModel?: boolean;
|
|
}
|
|
|
|
export interface Config {
|
|
debug?: boolean;
|
|
proxyUrl?: string;
|
|
requestRetry?: number;
|
|
quotaExceeded?: QuotaExceededConfig;
|
|
usageStatisticsEnabled?: boolean;
|
|
requestLog?: boolean;
|
|
loggingToFile?: boolean;
|
|
logsMaxTotalSizeMb?: number;
|
|
wsAuth?: boolean;
|
|
forceModelPrefix?: boolean;
|
|
routingStrategy?: string;
|
|
apiKeys?: string[];
|
|
ampcode?: AmpcodeConfig;
|
|
geminiApiKeys?: GeminiKeyConfig[];
|
|
codexApiKeys?: ProviderKeyConfig[];
|
|
claudeApiKeys?: ProviderKeyConfig[];
|
|
vertexApiKeys?: ProviderKeyConfig[];
|
|
openaiCompatibility?: OpenAIProviderConfig[];
|
|
oauthExcludedModels?: Record<string, string[]>;
|
|
raw?: Record<string, any>;
|
|
}
|
|
|
|
export type RawConfigSection =
|
|
| 'debug'
|
|
| 'proxy-url'
|
|
| 'request-retry'
|
|
| 'quota-exceeded'
|
|
| 'usage-statistics-enabled'
|
|
| 'request-log'
|
|
| 'logging-to-file'
|
|
| 'logs-max-total-size-mb'
|
|
| 'ws-auth'
|
|
| 'force-model-prefix'
|
|
| 'routing/strategy'
|
|
| 'api-keys'
|
|
| 'ampcode'
|
|
| 'gemini-api-key'
|
|
| 'codex-api-key'
|
|
| 'claude-api-key'
|
|
| 'vertex-api-key'
|
|
| 'openai-compatibility'
|
|
| 'oauth-excluded-models';
|
|
|
|
export interface ConfigCache {
|
|
data: Config;
|
|
timestamp: number;
|
|
}
|