AnythingLLMは、RAG(検索拡張生成)とAIエージェント機能を1つにまとめたローカルファーストのオールインワンAIアプリケーションです。frontend・server・collectorの3コンポーネントで構成され、Docker・Helm・AWS・GCP・DigitalOcean・OpenShiftなど多様な環境にセルフホストできます。PDFやDOCX、YouTube、GitHub/GitLab/Giteaリポジトリ、Confluence、Obsidian Vaultなど多種のデータソースを取り込み、独自の知識ベースに変換できる点が特徴です。
collector(Node.js製)がPDF・DOCX・EPUB・音声・画像OCR・Webページ・YouTube字幕・リポジトリなど多様な入力をテキストへ変換します。処理は`processSingleFile`や`processLink`、`utils/extensions`配下の各ローダーが担当し、変換後のテキストはserverに渡されベクトル化・保存されます。外部連携用の`/ext/*`エンドポイントは`verifyPayloadIntegrity`と`setDataSigner`ミドルウェアで payload の整合性を検証し、Confluence/GitHubのアクセストークンなどは暗号化ペイロードとして再取得(resync)できる仕組みです。frontendはReact(Vite)ベースで、serverとcollectorに対してAPIを呼び出しチャット・エージェント・ナレッジ管理UIを提供します。デプロイはdocker/Dockerfileを核に、Helmチャートやcloudformation、Terraform、OpenShift向けDockerfileなど各インフラ向けの派生設定が用意されています。
- STEP 01
Dockerで動かす場合はdocker/docker-compose.ymlを使い、`.env`をdocker/.env.exampleからコピーして各種APIキーやSTORAGE_DIRを設定してから起動することになります。
- STEP 02
開発環境ではserver・collector・frontendを別々のターミナルで`yarn dev:server`などを順に起動し、frontendがポート3000、backendが3001で立ち上がるのを確認します。
- STEP 03
NODE_ENV=developmentのままだと再起動のたびに設定が保存されずオンボーディング画面に戻される点に、READMEの警告どおり実際につまずくはずです。
- STEP 04
PDFやDOCX、YouTubeリンク、GitHub/GitLabリポジトリなどをUIから追加すると、collectorが該当のconvertやRepoLoaderを呼び出しテキスト化される様子がログで確認できます。
- STEP 05
Confluenceやパスワード付き外部ソースを同期する際は、暗号化されたchunkSourceを使ってresyncエンドポイントが再取得する挙動が`collector/extensions/resync/index.js`のとおりに動きます。
- STEP 06
HuggingFace Spacesやk8sマニフェスト、Helmチャート経由でクラウドにデプロイすると、`docker/vex`のCVE対応情報や`test-connection.yaml`によるヘルスチェックPodも実際に動作することが確認できます。
手元に、文書取り込み(collector)・ベクトル保存とチャット処理(server)・操作画面(frontend)が一体化した自己ホスト型のRAG/エージェント環境が立ち上がります。PDFやリポジトリ、Web、YouTubeなど多様なソースをナレッジベース化し、ローカルLLMや外部LLM経由で質問応答やエージェントタスクを実行できる状態が得られます。
開発モード(NODE_ENV=development)では設定が永続化されず、再起動のたびにオンボーディングへ戻される点はREADMEに明記された既知の制約です。
OpenShift向けDockerfileは通常のDocker/Compose用途には使えないと明記されており、環境ごとにDockerfileを使い分ける必要があります。
puppeteerはARM64向けChromiumビルドを持たないため、collectorのWebスクレイピング機能がアーキテクチャによって挙動が変わる可能性がある点がDockerfileのコメントから読み取れます。
Confluence・GitHubなどのアクセストークンは暗号化ペイロードとして扱われますが、外部連携機能を使う場合はトークン管理の運用設計が別途必要です。
文書取り込みから検索・エージェント実行まで自前のインフラで完結させたいチームや個人には合う構成です。collector・server・frontendの役割分担とDocker/Helm/クラウド向け設定が揃っており、README・実際のミドルウェアコード・テストファイルから機能の実在性が確認できるため、インストールせずとも構成と挙動の判断材料としては十分信頼できます。ただし開発モードの制約やアーキテクチャ依存の挙動など、実運用前に確認すべき細部は残ります。