{"repo":"atuinsh/atuin-ai-server","free":true,"listed":false,"github":"https://github.com/atuinsh/atuin-ai-server","clone":"git clone https://github.com/atuinsh/atuin-ai-server.git","description":"Self-hosted server for Atuin AI, backed by any OpenAI-compatible endpoint","language":"Elixir","stars":69,"topics":[],"license":"Apache-2.0","category":"self-hosted-apps","readme_excerpt":"Atuin AI Server A minimal self-hosted server for the Atuin AI protocol, backed by any OpenAI-compatible chat-completions endpoint — Ollama, vLLM, LM Studio, llama.cpp, LiteLLM, OpenRouter, or a compatible cloud API. It runs the same engine the hosted Atuin AI service serves, composed with stateless defaults: no accounts, no database, no usage limits, no recording. The Atuin CLI talks to it unchanged: point ai.endpoint at this server and chat runs against your own models. Quick start (Docker) Or build your own image: To reach an engine running on the Docker host (e.g. local Ollama), use host.docker.internal as the server's endpoint: Quick start (from source) Requires Erlang/OTP, Elixir, and Gleam (versions in the repository's .tool-versions file). Configuration One TOML file, path given by CHAT CONFIG (default ./config.toml ; the Docker image defaults to /etc/atuin-ai/config.toml ). The model (and serving engine) must support tool calling ; the chat protocol drives tools on every turn. API keys Local engines usually need none; with no api key , no Authorization header is sent. Otherwise, you can specify a key in three formats: By default the key is sent as Authorization: Bearer . Custom headers [request.headers] replaces the default Authorization header entirely; spell out every auth header you need. {{api key}} expands wherever it appears, so the secret stays in api key while the headers control its shape (e.g. Azure-style api-key auth): Extra body fields [request.body] merge","default_branch":null,"files":null,"tree":[],"storefront":"/r/atuinsh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/atuinsh/atuin-ai-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}