Skip to content

API 服务相关配置

虽然 api-server.js 优先从命令行参数读取配置,但它也支持从 config.json 文件(如果存在)加载默认值。以下是与 API 服务相关的关键配置项及其说明:

参数名称描述默认值
REQUIRED_API_KEY客户端访问 API 所需的密钥。"123456"
SERVER_PORTAPI 服务监听的端口。3000
HOSTAPI 服务监听的地址。"localhost"
MODEL_PROVIDERAI 模型提供商。可选值包括:
- gemini-cli-oauth: 使用 Google Gemini CLI 认证。
- openai-custom: 使用 OpenAI 兼容 API。
- claude-custom: 使用 Claude 兼容 API。
- kiro-api: 使用 Kiro/CodeWhisperer 访问 Claude。
"gemini-cli-oauth"
OPENAI_API_KEYMODEL_PROVIDERopenai-custom 时,OpenAI API 的密钥。null
OPENAI_BASE_URLMODEL_PROVIDERopenai-custom 时,OpenAI API 的基础 URL。null
CLAUDE_API_KEYMODEL_PROVIDERclaude-custom 时,Claude API 的密钥。null
CLAUDE_BASE_URLMODEL_PROVIDERclaude-custom 时,Claude API 的基础 URL。null
GEMINI_OAUTH_CREDS_BASE64MODEL_PROVIDERgemini-cli-oauth 时,Gemini OAuth 凭据的 Base64 字符串。null
GEMINI_OAUTH_CREDS_FILE_PATHMODEL_PROVIDERgemini-cli-oauth 时,Gemini OAuth 凭据 JSON 文件的路径。null
KIRO_OAUTH_CREDS_BASE64MODEL_PROVIDERkiro-api 时,Kiro OAuth 凭据的 Base64 字符串。null
KIRO_OAUTH_CREDS_FILE_PATHMODEL_PROVIDERkiro-api 时,Kiro OAuth 凭据 JSON 文件的路径。null
PROJECT_IDMODEL_PROVIDERgemini-cli-oauth 时,Google Cloud 项目 ID。null
SYSTEM_PROMPT_FILE_PATH包含系统提示词的文件路径。"input_system_prompt.txt"
SYSTEM_PROMPT_MODE系统提示词处理模式:overwrite (覆盖) 或 append (追加)。"overwrite"
PROMPT_LOG_BASE_NAME提示词日志文件的基础名称。"prompt_log"
PROMPT_LOG_MODE提示词日志模式:console (控制台)、file (文件) 或 none (不记录)。"none"
REQUEST_MAX_RETRIESAPI 请求失败时的最大重试次数。3
REQUEST_BASE_DELAYAPI 请求重试时的基础延迟时间(毫秒),每次重试时呈指数增长。1000
CRON_NEAR_MINUTES在令牌过期前触发刷新的分钟数。5
CRON_REFRESH_TOKEN是否启用自动令牌刷新。true

示例 config.json (可以放置在项目根目录下):

json
{
  "REQUIRED_API_KEY": "my_super_secret_key",
  "SERVER_PORT": 8005,
  "HOST": "127.0.0.1",
  "MODEL_PROVIDER": "gemini-cli-oauth",
  "GEMINI_OAUTH_CREDS_FILE_PATH": "/path/to/credentials.json",
  "PROJECT_ID": "your-gcp-project-id",
  "SYSTEM_PROMPT_FILE_PATH": "./custom_system_prompt.txt",
  "SYSTEM_PROMPT_MODE": "append",
  "PROMPT_LOG_MODE": "file",
  "PROMPT_LOG_BASE_NAME": "aiclient_2_api_logs",
  "REQUEST_MAX_RETRIES": 5,
  "REQUEST_BASE_DELAY": 2000,
  "CRON_NEAR_MINUTES": 5,
  "CRON_REFRESH_TOKEN": true
}

通过合理配置 config.json,你可以精细控制 AIClient-2-API 的行为,使其更好地适应你的需求和硬件环境。