
2026/06/01 0:50
オデュッセウス - ホスト済み AI ワークスペース
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Odysseus v1.0 プラットフォームは、ChatGPT や Claude などの商用サービスに対するプライバシー第一かつローカルファーストの代替手段として設計されたセルフホスト型 AI ワークスペースです。ユーザーハードウェア上だけで動作し、外部サーバーや悪意のあるサードパーティ製コードを必要としません。強固なセキュリティモデルを採用しており、ネットワーク環境の展開では認証の有効化(
AUTH_ENABLED=true)が必須で、公開アクセスには Caddy または nginx を使用した HTTPS/TLS ターミネーションに対応し、シェルおよびファイルへのアクセスは管理者ユーザーのみを制限しています。インストールのデフォルトは Docker(docker compose up -d --build)であり、これを起動すると Odysseus、ChromaDB(内部ポート 8000)、SearXNG(ポート 8080)、ntfy(ポート 8091)が立ち上がり、これらは localhost:7000 でアクセス可能です。手動インストールでは Python 3.11 以上が必要で、Linux/Termux 環境では uvicorn サーバーを起動する前にパッケージマネージャー経由で tmux をインストールする必要があります。Windows の設定では PowerShell を使用して仮想環境をアクティベートしサーバーを起動します。また、リモートのクックブックへのアクセスには ./data/ssh に格納された SSH キーが必要で、ローカルのクックブックのダウンロードは ./data/huggingface からマウントされ、コンテナ内では ~/.cache/huggingface として mounts されます。主要な構成項目には .env 変数の LLM_HOST や SEARXNG_INSTANCE、およびデフォルトの SQLite データベース(sqlite:///./data/app.db)が含まれます。プラットフォームはチャット(vLLM、llama.cpp、Ollama の機能により支えられている)、エージェント(opencode/MCP に基づき、ChromaDB/fastembed を用いて記憶・スキルを備えている)、Deep Research(Tongyi DeepResearch から適応)、マルチモデル比較(ブラインドテスト)、ドキュメント(AI 支援による執筆)といったコア機能をバンドルしています。生産性の向上は高度なチャット機能、過去の会話内容を想起する自律エージェント、および統合されたドキュメント支援機能によって実現されます。メール統合では IMAP/SMTP インボックスを対応し、内蔵の AI トリアージ機能により自動タグ付け、サマライズ化、返信が自動化されます。カレンダー同期では CalDAV プロバイダー(Radicale、Nextcloud、Apple、Fastmail)に対応しており、.ics のインポート/エクスポートが可能です。MIT ライセンスの下で利用可能であり、開発者は標準的な Docker Compose コマンドまたは手動手順を使ってこの強力なワークスペースを容易に展開でき、AI エクスペリエンスの完全な所有権を取得できます。本文
オデッセウス バージョン 1.0:自己ホスト型 AI ワークスペース
オデッセウス (Odysseus) は、ご自身の環境で動作する自己ホスト型 AI ワークスペースです。ChatGPT や Claude などの体験をローカルに再現しつつ、「意図的な乱暴さ」や独自性を追求した設計思想を持っています。
🛡️ 基本方針
- ローカルファースト – データと処理を自環境で完結させます。
- プライバシーファースト – プライバシーを最優先の原則にします。
- トロジャン・ホース非搭載 – 外部サーバーへのデータ送信は行いません。
🚀 主要機能一覧
-
チャット
- ローカルモデルや API を問わずチャットが可能です。
- 追加設定も極めて簡単です。
- サポート対応:vLLM · llama.cpp · Ollama · OpenRouter · OpenAI
-
エージェント
- ツールを付与し、タスクを完全に自律させて実行します。
- 基盤技術:opencode · MCP · Web · ファイル · シェル · スキル · メモリ
-
レシピ本(Cookbook)
- ハードウェアのスキャンを行い、推奨モデルのダウンロード・起動を自動で行います。
- GGUF / FP8 / AWQ 等形式をサポートし、VRAM 最適化に対応しています。
- 採用技術:llmfit · フィットスコアリング · vLLM / llama.cpp サービング
-
ディープリサーチ
- 複数のステップに分けてソースの収集・読解・統合を行い、見やすいビジュアルレポートを生成します。
- 開発ベース:Tongyi DeepResearch の機能を実装。
-
比較
- モデル同士を並べて比較する楽しいツールです。
- 完全な盲検テストによりバイアスを排除しています。
- サポート対応:マルチモデル · 盲検テスト · シンセシス(統合)
-
ドキュメント
- テキストはあなたが書き、AI がサポート役になります。
- 機能:マルチタブエディタ · Markdown/HTML/CSV · シンタックスハイライト · AI による編集支援・サジェスション
-
メモリ / スキル
- エージェントはあなたやタスクを理解するにつれて進化します。
- 実装技術:ChromaDB · fastembed (ONNX) · ベクトル検索+キーワード検索 · インポート/エクスポート機能
-
メール
- IMAP/SMTP の受信トレイに AI による優先度分類機能を組み込みました。
- 機能:緊急性の通知・自動タグ付け・要約・返信ドラフトの自動生成・スパムフィルタリング
- 対応プロトコル:IMAP · SMTP · アカウント別ルーティング · CalDAV
-
メモとタスク
- リマインダー付きの簡易メモ、ToDo リスト、スケジュール済みタスクが可能。
- サポート:ノートピンチ通知 · チェックリスト · クロンのような定時タスク · ntfy/ブラウザ/メールチャンネル
-
カレンダー
- ローカルファーストな設計です。
- 対応:Radicale / Nextcloud / Apple / Fastmail への CalDAV シンク
- 機能:.ics ファイルのインポート/エクスポート · カレンダー別色分け · エージェント認知機能
-
モバイル対応
- デスクトップだけでなく、スマートフォンでも美しく動作します。
- 仕様:レスポンシブデザイン · 装着可能な PWA · タッチジェスチャー対応
-
その他機能
- 画像エディタ · テーマエディタ · ファイルアップロード(ビジョン+PDF) · Web 検索 · プリセット · セッション · 二段階認証 (2FA) など
🎬 デモツアー
ランディングページ(
docs/index.html)には、マウスホバーで再生可能なフルツアープレビューが用意されています。主なデモ内容は以下の通りです:
- チャットとエージェントの実演
- ディープリサーチのワークフロー
- モデル比較ツール
- ドキュメント作成支援
- メモとタスク管理機能
🏁 クイックスタート
デフォルト設定ですぐに動作します。リポジトリをクローンして実行し、アプリ内から追加の設定を行います。
初回ログイン後、「設定」パネルを開き、以下の指定を行ってください:
- LLM サーバー
- 検索プロバイダー
- メールアカウントなど
⚠️ 注意:
ファイルへの触り方は限定的です。.envやAUTH_ENABLEDといったデプロイメント全体の値、あるいは初期パスワードの事前設定(DATABASE_URL)が必要な場合に限ります。指定しないと初回起動時にパスワードが自動生成され表示されます。ODYSSEUS_ADMIN_PASSWORD
🐳 オプション 1:Docker インストール(推奨)
手順
git clone <your-odysseus-repo-url> cd odysseus cp .env.example .env # オプションですが、明示的なデフォルトのため推奨 docker compose up -d --build
概要
コマンドはオデッセウス、ChromaDB、SearXNG、ntfy を起動します。docker compose- 初回実行ではイメージのフルビルドが行われます。
- コンテナが正常に動作した後、
にアクセスしてください。http://localhost:7000
SSH キーとリモートサーバー設定
レシピ本(Cookbook)用のリモートサーバーは、Docker 内の
./data/ssh に格納されたオデッセウス所有の SSH キーを使用します。
- 「Recipes → Settings → Servers」で公開キーを生成・コピーします。
- リモートサーバーの
に追加してください。~/.ssh/authorized_keys
ホスト側からのインストールも可能です:
ssh-copy-id -i data/ssh/id_ed25519.pub user@server
ローカルデータとキャッシュ
- レシピ本のモデルカタログは
へ保存されます。./data/huggingface - オデッセウスコンテナ内部では
としてマウントされています。~/.cache/huggingface
🛠️ 有用な確認コマンド
- コンテナ状態の確認:
docker compose ps - ログ表示(最新 120 行):
docker compose logs --tail=120 odysseus - エラー監視(ChromaDB やメモリストアの状態確認):
docker compose logs odysseus | grep -E 'ChromaDB|MemoryVectorStore|DEGRADED' - モデルロード数確認:
docker compose exec odysseus python -c "from services.hwfit.models import get_models; print(len(get_models()))"
🧠 ベクターメモリの起動時期待値
正常に稼働している状態です:
- ChromaDB 接続済み:
chromadb:8000 - MemoryVectorStore が初期化済み
モデルカタログチェックについて:
- レシピ本のモデルカタログチェックで非ゼロの数字が表示されます。
- もし 「0」 が表示された場合は、以下のコマンドでイメージを再構築してください。
docker compose build --no-cache odysseus
🐧 オプション 2:手動インストール(Linux / macOS)
要件
- Python 3.11 以上が必要です。
- Linux/Termux では、バックグラウンドでのモデルダウンロードやサーバー起動のために tmux も必須です。
システムパッケージのインストール
# Debian/Ubuntu sudo apt install tmux # Arch sudo pacman -S tmux # Fedora sudo dnf install tmux
オデッセウスのインストールと起動
git clone <your-odysseus-repo-url> cd odysseus python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python setup.py # データディレクトリを作成し、初期管理者パスワードを表示 uvicorn app:app --host 0.0.0.0 --port 7000
🪟 オプション 3:手動インストール(Windows / PowerShell)
git clone <your-odysseus-repo-url> cd odysseus python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt python setup.py uvicorn app:app --host 0.0.0.0 --port 7000
インストール後は
http://localhost:7000 を開き、生成された管理者パスワードでログインし、「設定」内で残りの設定を行ってください。
🔒 セキュリティに関する注意事項
オデッセウスは、シェルアクセス・ファイルアップロード・モデルダウンロードなど強力なローカルツールを備えた自己ホストワークスペースです。管理コンソールとして扱うべきです。
必須セキュリティ対策
- ネットワークからのアクセス: 常に
に設定してください。AUTH_ENABLED=true - 公開デプロイ: HTTPS と信頼できるリバースプロキシの使用が必須です。
- バージョン管理:
やdata/
、ログ、データベースなどを Git にコミットしないでください(デフォルトで無視されています)。.env - 管理者パスワード: 初回起動後には必ず
を確認し、オープンなサインアップは意図的に行うように設定してください。管理者は自分自身にのみ権限を与え、テストアカウントは非管理者として制限してください。data/auth.json
ユーザー権限とアクセス制御
- デフォルトでは、非管理者ユーザーはシェル・Python・ファイルの読み書きが許可されません。
- MCP 管理や API トークン、Webhooks、モデル提供などは管理者専用です。
- 公開デプロイ前: すべてのユーザの権限を確認してください。
安全運用ガイドライン
- API キーの管理: 共有チャットやログに漏れないよう、定期的にローテーション(更新)してください。
- トークンの分離: 統合ごとに個別の API トークンを作成し、使用されていないものは削除してください。
- バインドアドレス: 手動開発時は
にバインドし、LAN/共有アクセス時のみ127.0.0.1
を使用してください。0.0.0.0 - 公開前の確認: フォークを公開する前に
を実行し、プライベートファイルがステージングされていないことを確認してください。git status --short
🔐 HTTPS への裏付け方法
オデッセウスは標準 HTTP でポートを起動しています。ブラウザから警告が出たり、平文で送信されたりしないよう、TLS ターミネーションを行うリバースプロキシを導入することをお勧めします(Tailscale IP を含む共有環境でも推奨)。
Caddy を使った最短経路(Let's Encrypt 自動更新)
odysseus.example.com { reverse_proxy localhost:7000 }
- LAN 限定:
または組み込みの MagicDNS HTTPS で動作します。Caddy + tailscale-cert - nginx/Traefik: ロカルホストをリバースプロキシし、TLS ターミネーションをプロキシ側で行います。
これにより、ブラウザ警告が消え、ログイン情報が暗号化されます。
🤝 コントリビュート(貢献)
ご協力をお願いいたします。以下が特に歓迎されます:
- 新鮮なインストールテスト
- プロバイダー設定に関するバグ修正
- モバイル/エディタの使いやすさ向上
- ドキュメント作成
- 小規模で焦点を絞ったリファクタリング
詳細は
ROADMAP.md を参照してください。
⚙️ 設定(Configuration)
大部分の設定は
/setup パスルまたはアプリ内の「設定」パネルで行います。.env は初回起動前のデフォルト値や機密情報の指定に使用します。
主要な環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
| | あなたの LLM サーバー(例:) |
| | モデル発見用のカンマ区切りリスト |
| | オプションの OpenAI キー。事前設定不可の場合はアプリ内で追加推奨 |
| | SearXNG の URL(Docker ではオーバーライドされる) |
| | ログイン機能を有効/無効にする |
| | 開発限りの認証バイパス。共有環境では を維持してください |
| | データベース接続文字列 |
| | ベクターメモリの ChromaDB ホスト(Docker ではオーバーライド) |
| | 手動ホストでの実行時のポート |
| | OpenAI 互換のエンベッディングエンドポイント |
組み込みサービス(Docker Compose デフォルト)
- ChromaDB – セマンティックメモリのベクターストア。Docker では内部接続用 (
) 、外部露出はchromadb:8000
。localhost:8100 - SearXNG – Web 検索用のメタ検索。内部接続 (
) 、外部露出はsearxng:8080
のみ。127.0.0.1:8080 - ntfy – ローカル通知サービス。
で露出されます。localhost:8091
オプションの外部サービス
- Ollama – ローカルの LLM サーバー (
)ollama.ai
🏗️ アーキテクチャ
– FastAPI のエントリーポイントapp.py
– 認証、データベース、ミドルウェア、定数類core/
– llm_core, agent_loop, agent_tools, chat_processor, search などsrc/
– チャット、セッション、ドキュメント、メモリ、モデルなどのエンドポイントroutes/
– ドキュメント処理、メモリ管理、検索、hwfit(レシピ本用)などservices/
– index.html + app.js + style.css + js/(モジュラーフロントエンド)static/
– ランディングページ(index.html)+ プレビュークリップdocs/
💾 データ管理
すべてのユーザデータは
data/ ディレクトリに格納されます(Git で無視されています)。
含まれるファイル:
– セッション、メッセージ、ドキュメントapp.db
/memory.jsonpresets.json
,uploads/personal_docs/
,chroma/
などsettings.json
📜 ライセンス
MIT License
詳細は
LICENSE と ACKNOWLEDGMENTS.md を参照してください。