Atuin AIサーバーのオープンソース化
Atuin AIは、ターミナル向けの高速エージェントであるAIサーバーをオープンソース化し、OpenAI互換エンドポイントやローカルモデルのサポートにより、ユーザーが自前でホストできるようにしました。
Atuin AI は、シェル内で直接動作する高速なターミナル向けエージェントです。瞬時に起動し、ターミナルでの作業を支援するためのエージェンティックツールが一式揃っています。Atuin は全ユーザーに寛大な無料利用枠を提供しており、AI の会話内容も保存しません。しかし、特にターミナル利用に由来するデータについては、より厳重に管理したいと考えるユーザーもいることから、Atuin AI サーバーをオープンソース化することにしました。
Atuin AI サーバーは GitHub の atuinsh/atuin-ai-server リポジトリで公開されています。これは、本番の Atuin AI サーバーでも使われている atuinsh/atuin-ai-core ライブラリをベースにしています。現時点では、OpenAI 互換の chat completions スタイルのエンドポイントをサポートしており、ローカルモデルでは Ollama、vLLM、LM Studio、llama.cpp、LiteLLM などが利用できます。また、OpenRouter のような OpenAI 互換のウェブサービスにも対応しています。
セットアップ手順は次のとおりです。リポジトリをクローンしたら、設定例の config.example.toml を config.toml にコピーし、README の設定セクションに従ってインスタンスを構成します。Ollama を使った基本的な設定例では、ポートを 8080 に設定し、エンドポイントに http://localhost:11434/v1 を指定し、デフォルトモデルとして llama31 を指定します。また、利用可能なモデルを [[models]] セクションで定義します。ツールの設定(ウェブ検索やコンテンツスクレイピングなど)の詳細はリポジトリの README を参照してください。
サーバーの起動方法は2つあります。Erlang、Elixir、Gleam がインストールされている場合は、ソースから直接実行できます。具体的には、mix deps.get を実行し、続けて mix run --no-halt を実行します。環境変数で API キーを指定する場合は、起動時に忘れずに設定してください。もう1つの方法は Docker です。docker run コマンドで設定ファイルをマウントし、ポートをホストに公開します。Docker で実行する場合、ホスト上のローカル LLM サービス(Ollama など)に接続するには、エンドポイントとして localhost ではなく host.docker.internal を使う必要があります。localhost はコンテナ自身のループバックインターフェースを指すためです。
サーバーが起動したら、Atuin AI クライアントの設定で endpoint を http://localhost:8080 のように指定すれば、自分のサーバーに接続できます。これにより、Atuin AI の機能を活用しながら、データを完全に管理できます。