Skip to main content

Environment Variables

Reference for all environment variables used by Simili Bot.

Required

At minimum, you need Qdrant credentials and at least one AI provider key.

QDRANT_URL

Vector database URL.
export QDRANT_URL="https://your-cluster.qdrant.io:6333"

QDRANT_API_KEY

Vector database API key.
export QDRANT_API_KEY="your-api-key"

GEMINI_API_KEY

Google Gemini API key (for embeddings and/or LLM).
export GEMINI_API_KEY="your-gemini-api-key"

OPENAI_API_KEY

OpenAI API key (alternative to Gemini, or used alongside it).
export OPENAI_API_KEY="sk-..."
If both GEMINI_API_KEY and OPENAI_API_KEY are set, Gemini takes priority.

Optional

GITHUB_TOKEN

GitHub personal access token for API calls. Automatically provided in GitHub Actions.
export GITHUB_TOKEN="ghp_xxxxx"
Required scopes: repo, write:checks

TRANSFER_TOKEN

Elevated GitHub token for cross-repository transfers.
export TRANSFER_TOKEN="ghp_xxxxx"

LLM_MODEL

Override the LLM model at runtime without changing simili.yaml.
export LLM_MODEL="gemini-2.5-flash"

GITHUB_REPOSITORY

Repository in owner/repo format. Used by simili auto-close when --repo is not specified.
export GITHUB_REPOSITORY="my-org/my-repo"
This is set automatically in GitHub Actions environments.

Provider precedence

ScenarioEmbedding ProviderLLM Provider
Only GEMINI_API_KEY setGeminiGemini
Only OPENAI_API_KEY setOpenAIOpenAI
Both keys setGemini (wins)Gemini (wins)
Config embedding.provider setAs configuredAs configured

Configuration variable expansion

Use variables in simili.yaml with ${VAR_NAME} syntax:
qdrant:
  url: "${QDRANT_URL}"
  api_key: "${QDRANT_API_KEY}"

embedding:
  provider: "gemini"
  api_key: "${GEMINI_API_KEY}"

llm:
  provider: "openai"
  api_key: "${OPENAI_API_KEY}"
Simili Bot expands ${VARIABLE_NAME} from the environment at runtime.

GitHub Actions

Set secrets in your repository and reference them in workflows:
env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  QDRANT_URL: ${{ secrets.QDRANT_URL }}
  QDRANT_API_KEY: ${{ secrets.QDRANT_API_KEY }}
  GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
  # Optional:
  OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
  TRANSFER_TOKEN: ${{ secrets.TRANSFER_TOKEN }}

Docker

Pass variables with -e:
docker run -e QDRANT_URL="..." \
           -e QDRANT_API_KEY="..." \
           -e GEMINI_API_KEY="..." \
           similigh/simili-bot:latest