うたカモ技術ブログ

OpenWrt 個人開発 oasis

OpenWrt専用AIアシスタントツール Oasisの導入と使い方   

post:     update: 

この記事は作成中です。

今回は私が開発したOpenWrt専用AIアシスタントツール Oasisの導入と使い方について紹介します。

Oasisはユーザーの依頼に従ってAIがOpenWrtの設定を変更することを可能にするアプリケーションです。 Oasisをインストールすると、ユーザーはOpenWrtデバイスを介してAIと会話できるようになります。

これにより、ユーザーは日本語や英語などの自然言語でAIにネットワークやWI-Fiなどの設定変更を依頼 することが可能になります。

AIはOpenWrtの仕様に基づいた詳細な設定変更をユーザーに代わって実施します。AIによって提案された 設定変更はユーザーに通知され、承認することで適用されます。

今回は、そんなOasisの導入と使い方について紹介します。

目次

  1. Oasisとは?
  2. インストール方法
  3. Oasisの使い方
  4. おまけ:AIの回答を調整する方法
  5. おわりに

Oasisとは?

この記事の冒頭でも説明したようにOasisはOpenWrtデバイスとAIサービスを連携させる機能を持ったアプリケーションです。

ここでは、Oasisが出来る事を簡単に説明します。

AIとの会話

OasisをインストールしたOpenWrtデバイスは、コンソール(CUI)とWebUIの両方からAIと会話することが可能になります。

[WebUIを利用したAIとの会話]
luci-app-oasisパッケージをインストールするとOpenWrtのLuCIにOasis用のページが追加されます。 このページの「Chat with AI」タブのチャットインタフェースからAIと会話することができます。

以下はWebUI上でOasisを使用した様子を動画にしたものです。※この動画ではOllamaを使用しています。

[コンソール(CUI)を利用したAIとの会話]
oasisパッケージをインストールするとコンソールからAIと会話できるようになります。 このパッケージはluci-app-oasisの依存パッケージにもなっており、AIとの会話制御はこのソフトウェアが担当しています。 つまり、このソフトウェアがOasisのコアソフトウェアです。

現在、コンソール上からAIと会話してもAIから提供されたOpenWrtの設定変更の提案をOasisは認識しません。 そのため、AIと会話のみができる状況です。

以下はコンソール上でOasisを使用した様子を動画にしたものです。※この動画ではOllamaを使用しています。

このように、OasisはLuCIのWebUIから利用することができます。

AIによる設定変更の提案

Oasisを介してAIと会話すると、AIはユーザーに対してOpenWrtの設定変更について案内したり、回答をします。 (これは予めOpenWrtについての質問に答える役割をAIに伝え、調整を掛けているからです。)

会話の中でOpenWrtの設定変更に関する情報(提案)がユーザーに送られるとOasisはその内容を分析します。

分析の結果、AIから提供された提案内容にOpenWrtが認識できる設定変更コマンド(UCIコマンド)が存在することが分かると、 Oasisはユーザーに対してAIの提案を基に設定変更を実施するか否かをポップアップで通知します。

ユーザーはAIからの設定変更の提案を確認し、承認する場合はApplyボタンを押します。これで設定変更が適用されます。 もし、ここで提案内容を取り消したり、何故そのような設定になるのかAIに確認を取ったり、微調整を追加でお願いしたい場合 などはCancelボタンを押した上でAIに質問することができます。

Applyボタンを押して設定変更を適用すると、OpenWrtはAIの提案内容に基づいた設定変更を実施してネットワーク・Wi-Fi の再起動を実施します。設定を適用すると以下のようにプログレスバーが表示されます。

これでAIの提案内容を基にOpenWrtの設定が変更されました。 後は次節で説明する「設定変更を最終確定するか取り消す(ロールバックする)か」を決めることで一連の操作が完了します。

重要:ロールバック機能について

注意

次の説明の操作は設定が適用されてから5分(変更可能)以内に実施してください。

もし、5分を超える場合は自動でロールバック処理が実行され、AIによる設定変更は取り消されます。 これはAIによる設定変更によってOpenWrtデバイスが文鎮化(Brick)するのを防ぐ措置です。

※文鎮化(Brick)とは
端末へのアクセス手段が全て絶たれた結果、もう文鎮(置物)としての役割しかない状態のことです。 つまり、端末が大破して本来の用途に利用できなくなったのと変わりのないことを言います。

上記までの操作で設定変更を適用すると、通信断が発生します。

このとき、適用した設定変更がネットワークに影響を与えないものであった場合はOasisによるページ更新機能 またはユーザーによるWebページの更新ボタン押下などで再びLuCI内のAIチャットページに戻ることができます。

ネットワークに影響を与える設定を適用した結果、OpenWrtデバイスのIPアドレスが変更になった場合は 新しいIPアドレスを特定してください。この間に電源断を実施し、システムを再起動しても構いません。

OasisのAIチャットページが表示されると以下のポップアップで設定変更を最終確定するか聞かれます。

ユーザーはポップアップに表示されるFinalizeボタンを押すことでAIによる設定変更を最終確定します。 逆にRollbackボタンを押した場合は以前の設定に戻ります。

Oasisを利用してAIによる設定変更を適用した場合は、必ず上記の操作を実施する必要があります。 上記の操作を実施しない場合は設定適用から5分後に自動でロールバックが実行されます。

インストール方法

その1:配布パッケージをインストールする

その2:OpenWrtのBuildrootでパッケージを作成してインストールする

インストール時の困りごと(QA)

Oasisの使い方(基本)

機器接続パターン

Ollamaを使用する方法

OpenAIを使用する方法

Oasisの使い方(その他)

チャットのタイトルを変更する

チャットデータをダウンロードする

RAWデータをダウンロードする(JSON)

AIとの会話のみを抽出したテキストデータをダウンロードする(TEXT)

おまけ:AIの回答を調整する方法

システムメッセージの編集

カスタムシステムメッセージの追加(実装中)

外部サーバー内システムメッセージの利用(実装中)

おわりに