# Server port port: 8317 # Management API settings remote-management: # Whether to allow remote (non-localhost) management access. # When false, only localhost can access management endpoints (a key is still required). allow-remote: true # Management key. If a plaintext value is provided here, it will be hashed on startup. # All management requests (even from localhost) require this key. # Leave empty to disable the Management API entirely (404 for all /v0/management routes). secret-key: "ABCD-1234" # Disable the bundled management control panel asset download and HTTP route when true. disable-control-panel: false # Authentication directory (supports ~ for home directory) auth-dir: "/data/auths" # API keys for authentication api-keys: - "EFGH-5678" # Enable debug logging debug: true # When true, write application logs to rotating files instead of stdout logging-to-file: false # When false, disable in-memory usage statistics aggregation usage-statistics-enabled: false # Proxy URL. Supports socks5/http/https protocols. Example: socks5://user:pass@192.168.1.1:1080/ # proxy-url: "" # Number of times to retry a request. Retries will occur if the HTTP response code is 403, 408, 500, 502, 503, or 504. request-retry: 3 # Quota exceeded behavior quota-exceeded: switch-project: true # Whether to automatically switch to another project when a quota is exceeded switch-preview-model: true # Whether to automatically switch to a preview model when a quota is exceeded # request-log: true # generative-language-api-key: [] # claude-api-key: [] # codex-api-key: [] # openai-compatibility: [] # gemini-web: # context: true # gem-mode: "" # code-mode: false # max-chars-per-request: 0 # API keys for official Generative Language API #generative-language-api-key: # - "AIzaSy...01" # - "AIzaSy...02" # - "AIzaSy...03" # - "AIzaSy...04" # Codex API keys #codex-api-key: # - api-key: "sk-atSM..." # base-url: "https://www.example.com" # use the custom codex API endpoint # proxy-url: "socks5://proxy.example.com:1080" # optional: per-key proxy override # Claude API keys #claude-api-key: # - api-key: "sk-atSM..." # use the official claude API key, no need to set the base url # - api-key: "sk-atSM..." # base-url: "https://www.example.com" # use the custom claude API endpoint # proxy-url: "socks5://proxy.example.com:1080" # optional: per-key proxy override # OpenAI compatibility providers #openai-compatibility: # - name: "openrouter" # The name of the provider; it will be used in the user agent and other places. # base-url: "https://openrouter.ai/api/v1" # The base URL of the provider. # # New format with per-key proxy support (recommended): # api-key-entries: # - api-key: "sk-or-v1-...b780" # proxy-url: "socks5://proxy.example.com:1080" # optional: per-key proxy override # - api-key: "sk-or-v1-...b781" # without proxy-url # # Legacy format (still supported, but cannot specify proxy per key): # # api-keys: # # - "sk-or-v1-...b780" # # - "sk-or-v1-...b781" # models: # The models supported by the provider. # - name: "moonshotai/kimi-k2:free" # The actual model name. # alias: "kimi-k2" # The alias used in the API. # Gemini Web settings #gemini-web: # # Conversation reuse: set to true to enable (default), false to disable. # context: true # # Maximum characters per single request to Gemini Web. Requests exceeding this # # size split into chunks. Only the last chunk carries files and yields the final answer. # max-chars-per-request: 1000000 # # Disable the short continuation hint appended to intermediate chunks # # when splitting long prompts. Default is false (hint enabled by default). # disable-continuation-hint: false # # Gem selection (Gem Mode): # # - "coding-partner": attach the predefined Coding partner Gem # # - "writing-editor": attach the predefined Writing editor Gem # # - empty: do not attach any Gem # gem-mode: ""