セルフホスト AI ワークスペース「Odysseus」─ チャット・エージェント・深層リサーチ・メールをプライバシーファーストで一元管理

タグ セルフホストAIオープンソースプライバシーファーストAIエージェント深層リサーチローカルLLMFastAPIDockercolumnコラムlinuxLinuxwindowsWindowsmacdockerGitHubpewdiepie-archdaemonodysseus

セルフホスト AI ワークスペース「Odysseus」─ チャット・エージェント・深層リサーチ・メールをプライバシーファーストで一元管理

ひとことでいうと

Odysseus(オデュッセウス)は、ChatGPT や Claude のような AI 体験を自分のパソコンやサーバーで動かせるオープンソースのワークスペースです。会話・エージェント(自律的に動く AI)・ドキュメント管理・メール・カレンダー・メモを 1 つのアプリにまとめています。データは外部のクラウドサービスには一切送られないため、仕事の機密情報や個人情報も安心して扱えます。ローカルの AI モデルだけでなく OpenAI などの外部 API とも組み合わせられ、MIT ライセンスで無償公開されています。


こんな人におすすめ

  1. データを自分の手元だけで管理したい個人・チーム API キーや会話ログをクラウドに預けたくない方に最適です。ローカルモデルと組み合わせれば、ネット接続なしの完全オフライン運用も実現できます。プライバシーが最優先の医療・法律・金融分野にも向いています。

  2. 複数の AI モデルを比較・評価したい研究者・開発者 Compare(比較)機能を使うと、どのモデルか隠した状態で同じ質問を複数モデルに送り、回答品質をフラットに採点できます。Deep Research(深層リサーチ)機能はウェブを多段階で収集・まとめてレポートを自動作成するため、調査業務の効率化にも役立ちます。

  3. メール・カレンダー・タスクを AI で効率化したいパワーユーザー メール受信箱に AI による自動分類・要約・返信下書き生成が組み込まれています。CalDAV(カレンダー同期の標準方式)にも対応しており、メールとスケジュールをまとめて AI エージェントに処理させることができます。


インストール・使い方

ターミナルとは:文字でコンピューターに命令を送る画面のことです。Mac では「ターミナル」、Windows では「PowerShell」が該当します。以下のコマンドはコピー&ペーストで入力してください。

Docker を使う方法(初心者におすすめ)

Docker(ドッカー) とは、アプリに必要なソフト一式をまとめて動かす仕組みです。環境構築が最も簡単なためこちらを推奨します。

Step 1: ソースコードを手元にコピーし、設定ファイルのひな型を用意します。

git clone https://github.com/pewdiepie-archdaemon/odysseus.git
cd odysseus
cp .env.example .env

git clone はリポジトリ(ソースコードの置き場)からファイル一式をダウンロードするコマンドです。.env ファイルには後から API キーなどの設定を書き込みます。

Step 2: アプリをビルド(組み立て)して起動します。初回は数分かかります。

docker compose up -d --build

-d は「バックグラウンドで動かす」オプションです。ターミナルを閉じてもアプリは動き続けます。

Step 3: ブラウザで http://localhost:7000 を開きます。

初回起動時は一時パスワードがターミナルに表示されます。確認するには次のコマンドを使います。

docker compose logs odysseus

admin アカウントでログインした後、Settings(設定)画面からパスワードを変更してください。


ネイティブ起動(Linux / macOS)

Step 1: Python(プログラムを動かすソフト)の仮想環境(他のプロジェクトと干渉しない専用スペース)を作り、必要なパッケージをインストールします。Python 3.11 以上が必要です。

python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

Step 2: 初期設定スクリプトを実行し、サーバーを起動します。

python setup.py
python -m uvicorn app:app --host 127.0.0.1 --port 7000

ブラウザで http://localhost:7000 を開くとログイン画面が表示されます。


Apple Silicon Mac(M シリーズ)の場合

./start-macos.sh

Metal GPU(Mac 内蔵のグラフィック処理機能)を活用した専用スクリプトです。起動後は http://127.0.0.1:7860 にアクセスします。Docker on macOS では Metal GPU が使えないため、GPU を使う Cookbook 機能はこちらのネイティブ起動を推奨します。


Windows の場合

powershell -ExecutionPolicy Bypass -File .\launch-windows.ps1

このコマンド 1 つで、仮想環境の作成・パッケージインストール・初期設定・サーバー起動まで自動で行われます。


デモについて

Odysseus は、データベース(SQLite/PostgreSQL)・ChromaDB(ベクトル DB)・SearXNG(プライバシー重視の検索エンジン)・ntfy(通知サービス)など、複数のサービスが連携して動作します。そのため、ブラウザで即座に試せる単独デモの提供は構造上難しい設計です。実際に試したい場合は、前述の docker compose up -d --build コマンド 1 つで全サービスが一括起動するため、ぜひ手元の環境でお試しください。


動かしてみた

Docker コンテナ(Python 3.12 環境)で検証したところ、パッケージのインストールが正常に完了し、アプリケーションのファイル一式が問題なく展開されることを確認しました。

routes/ ディレクトリには chat_routes.pysession_routes.pymemory_routes.pyresearch_routes.pyemail_routes.pycalendar_routes.py など 30 本近くのエンドポイント(機能の入り口)ファイルが揃っており、README に記載されたすべての機能がコードレベルで実装済みであることが分かります。

アプリの骨格は FastAPI(Python 製の高速 Web フレームワーク)で作られた app.py です。core/(認証・DB・ミドルウェア)・src/(LLM コア・エージェントループ・検索)・services/(ドキュメント・メモリ・ハードウェアスキャン)・static/(フロントエンド画面)という整理されたフォルダ構成になっており、機能ごとにコードが分かれているため改造や機能追加もしやすい設計です。


はじめの一歩 ─ 起動直後にやること

起動してすぐに試せる手順をまとめました。順番通りに進めると迷わずセットアップできます。

  • モデルを追加する: Settings → Models を開き、ローカル推論エンジンのエンドポイント(接続先 URL)を登録します。Ollama を使っている場合は http://host.docker.internal:11434/v1 と入力するだけです。OpenAI などの外部 API キーもここで管理できます。
  • Cookbook でモデルを探す: Cookbook 画面でハードウェアをスキャンすると、自分の VRAM(グラフィックメモリ)に収まるモデルが GGUF / FP8 / AWQ 形式でリストアップされます。クリック一つでダウンロードとサーブ(起動)が完了するので、モデル選びに迷う必要がありません。
  • MCP ブラウザツールを有効化する: ターミナルで npx -y @playwright/mcp@latest --version を 1 度実行してキャッシュしてから Odysseus を再起動します。これだけでブラウザ操作・スクリーンショット・画像認識(ビジョン)機能が使えるようになります。
  • メールを連携する: Settings → Email に IMAP/SMTP の設定を入力すると AI トリアージ(重要度の自動判定)が即座に有効になります。CalDAV の設定と組み合わせると、メールとカレンダーをまたいだ情報整理をエージェントに任せられます。

活用アイデア

  • 社内ナレッジ Q&A ボットの構築: Documents にマークダウン・HTML・CSV などを読み込ませ、Memory(ChromaDB のベクトル検索)を使うと社内ドキュメントへの自然言語検索システムを手軽に作れます。
  • AI モデルのブラインド比較・評価: Compare 機能でモデル名を隠した状態で同じプロンプトを複数モデルに送り、回答品質を客観的に採点できます。プロンプトの A/B テストにも活用できます。
  • 自動リサーチレポートの生成: Deep Research にテーマを入力すると、SearXNG 経由でウェブを多段階に収集・要約し、ビジュアルレポートとして出力します。Alibaba-NLP の DeepResearch をベースに実装されています。
  • スケジュール付き定期タスクの自動化: Notes & Tasks にクーロン式スケジュール(「毎朝 9 時に実行」のような時刻指定)を設定すると、エージェントがシェルツール・Web 検索・MCP ツールを組み合わせて定期タスクを自律実行します。
  • メール・カレンダーの一括 AI 処理: IMAP 連携済みの受信箱から重要メールを自動タグ付け・要約し、カレンダーへの予定追加もまとめてエージェントに依頼できます。
  • 個人用プライベート AI アシスタント: ローカルモデルのみで運用すれば、家族写真・日記・財務データなど、絶対に外に出したくない情報も安心して扱える AI 環境になります。

用語とポイント解説

vLLM / llama.cpp / Ollama AI モデルを GPU や CPU で動かすための「推論エンジン(モデルを実行するソフト)」です。かんたんに言うと、AI の「動力源」にあたる部分です。Odysseus は Settings にエンドポイント URL を登録するだけで、これらのエンジンと簡単につながります。外部 API の OpenAI や OpenRouter とも同じ手順で追加できます。

ChromaDB テキストを数値ベクトル(意味を数字で表したもの)として保存・検索するデータベースです。かんたんに言うと「意味で検索できる記憶の棚」です。Odysseus のメモリ機能やスキル検索に使われており、「あのときの会話に似た内容」を瞬時に引き出すことができます。

fastembed(ONNX) テキストをベクトル(数値の配列)に変換する軽量ライブラリです。かんたんに言うと、文章を「数字の意味マップ」に変換するツールです。外部 API を呼び出さずにローカルで動作するため、プライバシーを保ちながら高速に埋め込み処理ができます。

MCP(Model Context Protocol) AI エージェントに「ツール」を渡すための標準プロトコル(取り決め)です。かんたんに言うと「AI に渡せる道具セットの共通形式」です。Odysseus では MCP を通じて、ブラウザ操作・ファイルアクセス・シェルコマンド実行などの機能をエージェントに持たせることができます。

CalDAV カレンダーデータをサーバー間で同期するための標準プロトコルです。かんたんに言うと「どのカレンダーアプリとも話せる共通言語」です。Odysseus は Radicale・Nextcloud・Apple カレンダー・Fastmail などに対応しています。

PWA(Progressive Web App) ブラウザから端末のホーム画面にインストールできる Web アプリの形式です。かんたんに言うと「アプリストアを通さずにインストールできる Web サービス」です。Odysseus はスマートフォンでも快適に操作できる PWA に対応しています。

SearXNG プライバシーを重視したオープンソースのメタ検索エンジンです。かんたんに言うと「個人情報を収集しない Google 代替の検索エンジン」です。Odysseus の Web 検索・Deep Research のバックエンドとして Docker Compose に同梱されており、追加設定なしで使えます。

セルフホスト クラウドサービスを使わず、自分のサーバーやパソコンでアプリを動かすことを指します。かんたんに言うと「自分の家でサービスを運営すること」です。セルフホストにすることで、データの保管場所を完全に自分でコントロールでき、外部への情報漏えいリスクをゼロにできます。

Deep Research(深層リサーチ) 単純な 1 回の検索ではなく、検索→要約→再検索を多段階で繰り返しながら情報を深掘りする機能です。かんたんに言うと「AI が自動でリサーチを重ねてレポートをまとめてくれる機能」です。Alibaba-NLP の DeepResearch をベースに実装されており、調査業務を大幅に効率化します。


ぜひ社内ドキュメントの自然言語検索や、メール・カレンダーをまたいだ AI エージェント活用などに取り入れてみてはいかがでしょうか。