Configuration

AutoBiology uses JSON configuration files. Environment variables are not used for LLM configuration.

Files

Global config:

~/.autob/config.json

Project config:

./.autob.json

Global config stores base settings, including the API key. Project config can override non-sensitive fields for a repository.

Global Example

{
  "llm": {
    "provider": "deepseek",
    "baseUrl": "https://api.deepseek.com/v1",
    "apiKey": "<your-api-key>",
    "model": "deepseek-chat",
    "timeoutMs": 30000
  }
}

Project Example

{
  "llm": {
    "provider": "custom",
    "baseUrl": "https://llm.example/v1",
    "model": "project-model",
    "timeoutMs": 12000
  }
}

Project config must not contain llm.apiKey. Store API keys only in ~/.autob/config.json.

Merge Rules

AutoBiology shallow-merges the llm object:

Inspect Configuration

autob config show

The output shows merged values with Global, Project, or Unset source annotations. API keys are redacted.

LLM inference is available only when apiKey, baseUrl, and model are all set after merging. For runtime evidence, inspect run-meta.json, 06-clarifications.json, and LLM candidate records in 04-requirements.json.