Open WebUI Desktopの設定の続きとOpen WebUIのAgent AIモード

投稿者: | 5月 4, 2026
前回は、Open WebUI Desktopのインストールまで行った。普通に入れるだけならインストーラーだけで動く。楽に使いたいなら、Open WebUIのllama.cppを使うのではなく、ollamaを使う方が楽かもしれない。
 
前回の続き
  • Open WebUIへのネットワークアクセス
  • 追加コンポーネント
  • Agent AIモード
 

Open WebUIへのネットワークアクセス

Open WebUI Desktopはhttp://localhost:8080でローカルホストからのみの接続を受け付けている。アプリからでもブラウザからでも接続できる。外部からは接続できない。つまりサーバ利用はできない
このhttp://localhost:8080という設定にすごく意味がある。
http://localhostだと、証明書がなくてもマイク入力が使えるようになる。Open WebUIをサーバで立てて、マイク入力を使う場合、必ず公的なSSL証明書を経由する必要があるが、http://localhostの場合は不要。
 

追加コンポーネント

標準インストールで問題なく使うことができるが、Web検索連携、音声読み上げ、OCRを使う場合は、いくつかの追加コンポーネントが必要で、Open WebUI Desktopには入っていない。RAGのインポートでOCR機能を使いたい場合はTikaを用意する必要がある。以下に不足分のコンポーネント(ComfyUIを除く)を追加で設置するDocker Composeと設定ファイルを作っておいた。このcompose.ymlのLLMは、Open WebUIのllama.cppの設定をベースにしているので、ollamaをバックエンドにしている場合はCompose.ymlやUIの設定を調整したほうがいいと思う。
 
 
Docker Composeで起動すると、ローカルホストからのみのコンポーネントが立ち上がってくる。Docker ComposeのようにEnvironmentで設定できないので、必要に応じてUIから設定する必要がある。
Admin Panel -> Settingsで設定する。以下の設定は、このcompose.ymlでの設定。
 

あるいといいもの。必要に応じて設定する。

 
Web検索
Web検索と連携したい場合。
生成されるコンテナ: searxng/valkey
設定場所:Integrations –> Web Search
Web Search Engine: searxng
Searxng Query URL:  http://127.0.0.1:8088/search
 
音声読み上げ
読み上げを使いたい場合。
生成されるコンテナ: openai-edge-tts
設定場所:Integrations –> Audio
Text-to-Speech Engine: Open AI
URL:  http://127.0.0.1:8880/v1
API Key: Change_Me_tts_api_key
 
OCR機能
Knowlege Baseにインポートをする際、PDFなどにOCRをかけたい場合。compose.ymlの設定は英語版にしてあるが、tikaコンテナをビルドしなおすと日本語対応にできる。
生成されるコンテナ: tika
設定場所:Integrations –> Document
Content Extraction Engine: Tika
URL: http://127.0.0.1:9998
 

なくてもいいもの。必要に応じて

 
Pipeline
パイプラインを使いたい場合。
生成されるコンテナ: pipeline
設定場所:Connections
OpenAI
URL: http://127.0.0.1:9099
API key: Change_Me_Pipeline_api_key
 
MCPコンテナ
MCPを使いたい場合。ただし、デフォルトで設定してあるものは全てAgent AIモードでことが足りる。本当に外部連携が必要な場合のみ必要。
生成されるコンテナ: mcpo
設定場所:Integrations –> Manage Tool Servers
MCP (memory/time/fetch/calculator/filesystem/sequential-Thinking)
Name: mcp.XXXX
Description: XXXX
URL: http://127.0.0.1:8000/XXXX
 
Chat Terminal
チャットからターミナルをアクセスしたい場合。セキュリティリスクがあるので使うかどうかは自己判断。使わない場合は、コンテナは落とすか、compose.ymlから消しておく。
Open Terminal
ChatからTerminalを呼び出す
生成されるコンテナ: openwebui-terminals
設定場所:Integrations –> Manage Tool Servers
Name: Chat Terminal
URL: http://127.0.0.1:3001
API Key: Change_Me_terminal_api_key
 
画像生成と編集
ComfyUIがあれば、UIで以下の設定をすることで連携ができる。
設定場所:Image
 
複雑なのでキャプチャーを掲載する。
 
注意点
 モデルは、CheckpointsにrealvisxlV50_v50Bakedvae.safetensorsを落としておき、model.safetensorsとして保存あるいはリンクを貼っておく。
 画像生成のワークフローは、デフォルトで入っているが、画像編集のワークフローは入っていないので、別途ワークフローを入れておく必要がある。
 
 

 

Agent AIモード

これがこのページで一番重要かもしれない。これは、Open WebUI Desktopだけではなく、Open WebUI全体に言えること。
Open WebUIは、Ollamaとセットで使う、高機能GUI LLMフロントエンド的な位置付けで考えられているかもしれない。実はちょっと違って、OpenAIのAPIも受け付けるし、Ollamaに関しては、OpenAI APIではなく、OllamaネイティブAPIが使えるので、Open WebUI上でモデルのダウンロードができる。ちょうどLMStudio的な使い方ができる。
また、チャットのUIで、MCPコンテナを設定したらMCPでメモリや時間取得ができる。(そこまでやる人いないかもしれないが。)TIKAコンテナを設定したらドキュメントのOCRができる。しかし、その手のツールを使う時は、「ツールを使ってXXXをして」など入れる必要があり、モデルによってはうまく使ってくれない。(個人的には使ってくれるかどうかは運かもと思っている。)
 
最近のOpen WebUIは、Agent AIのモードが付いている。
Agent AIのモードで立ち上げると、MCPで作っていたメモリとか時間取得などのツールがいらなくなったり、もっと簡単にツールを使ってくれるようになる。Open WebUIには実は、ビルトインのツールも入っている。
モデルの設定をみると
CapabilityとBuiltin Toolがある。これらを使いこなすことによって複雑なことをやってくれる。
また、この画面には、MCPでTimeとかメモリとかあるが、Builtin Toolにも同等の機能がある。つまり、Capabilityを通して、Builtin Toolを使えば、ここに表示されているほとんどのMCP(自作したもの)は実は不要。
 
何も設定していない状態だとOpen WebUI的には、Defaultモード。通常のLLMチャットを使うには、これでOKだが、何かと連携させるとなるとNativeモードに切り替えなければならない。
連携をするということにおいては、Defaultモードは、レガシーらしい。
OllamaなどのChat UIレベルで使うなら、何も気にしなくていいが、MCPとかと連携をさせるのであれば、Nativeモードのほうが圧倒的にいい。
どこで変えるかというと、チャット画面で以下のFunction CallingをNativeにする。
このFunction Callingは、モデルの設定でも変えられる。
この設定が使えるのは、ロードされているモデル自体がfunctionをサポートしている必要がある。
{
  “result”: “OK”,
  “tool_calls”: [
    {
    “function”: {
      “name”: “get_time”,
      “arguments”: “{\”timezone\”:\”Asia/Tokyo\”}”
      }
    }
  ]
}
 
実際に連携機能を利用する場合のDefaultモードとNativeモードの違いは、以下のプロンプトでわかる
 
 
「今の時間は?」
  • Defaultモード:                     わからない
  • Defaultモード+MCPオン:「mcpのツールを使って調べて?」ー>モデルによっては、MCPに時間取得を利用して答えるかも。
  • Nativeモード:                    「XX時XX分です。」ー>MCPをオンにする必要はなく、Built-in Toolで調べる
自分の作った、timeやらmemoryのMCPモジュールが不要になってしまった。
 
さらに、プロンプト「明日15時に床屋へいく予定をカレンダーに登録しといて」といれると、OpenWebUIのカレンダーにスケジュールが登録される。結構すごいのだが、あくまでもOpen WebUIのカレンダーだけでGoogleカレンダーとかではないのが惜しい。
 

コメントを残す