本ページの調整値は .env ではなく、アプリ内の App Settings 画面(サイドバー下部の
スライダーアイコン)で設定し、app_settings.jsonc に保存されます。.env に残った値は
無視され、起動ログにキー名が 1 度だけ列挙されます。既存の設定を引き継ぐには
chatwalaau settings migrate --write を実行してください。機能の有効化ゲートと
シークレットは .env のままです。
詳細は 設定 -> アプリケーション設定。
チャットと UI
ChatWalaʻau は AG-UI プロトコル(SSE ストリーミング)で AI エージェントと対話し、 洗練されたモダンなチャット画面に応答を描画します。
リッチなメッセージ描画
- Markdown、コードブ ロック、数式(KaTeX)、Mermaid 図 --- 数式は
$...$/$$...$$と LaTeX 形式の\(...\)/\[...\]の両方のデリミタに対応します。$$...$$と\[...\]は中央寄せのディスプレイ数式として、$...$と\(...\)はインライン数式として描画されます - LLM の推論可視化 -- 推論モデル向けの折りたたみ可能な「思考」ブロック
- インライン引用付き Web 検索 -- OpenAI 系モデルは OpenAI のホスト型 Web 検索、 Claude は Anthropic のホスト型 Web 検索 (不要な引用マーカーは取り除かれます)
- 画像は保護して配信 -- 添付画像や生成画像は認証付きリクエスト(セッション
Cookie)で読み込まれるため、画像 URL はサインイン済みのユーザーだけが開け、それ以外
には認証エラーになります。Web ログイン(
AUTH_USERNAME)有効時はlocalhostや 開発/リバースプロキシ経由でもこの保護が効きます。Web ログイン未設定なら、ローカル (loopback)利用は設定不要で開放されます - マルチモーダル画像解析 -- ファイル選択・ドラッグ&ドロップ・貼り付け・URL で画像を添付。
スクリーンショット(または「画像をコピー」でコピーした画像)をメッセージ入力欄にそのまま貼り付けると、
pasted-YYYYMMDD-HHmmss-1.pngという名前の添付としてアップロードされます。テキストも一緒にコピーされる 場合(Excel のセル、Word の段落など)は、これまでどおりテキストとして貼り付けられます - 添付できないフ ァイルを案内 -- 添付できないファイルが黙って捨てられることはありません。添付の上に短い 案内が出て、ファイル名と理由(非対応の形式、サイズ上限の超過、アップロードの失敗)を示します。対応形式は JPEG・PNG・GIF・WebP の画像(20 MB まで)と PDF(50 MB まで)です。同じ操作の他のファイルは通常どおり添付されます
- アップロードは互いに上書きしない -- 同じチャットに同じ名前のファイル(
scan.pdfが 2 つ、貼り付けた 画像が 2 枚など)を送っても両方とも残ります。後のファイルはscan-1.pdf、scan-2.pdf... として保存されます - PDF を添付して解析 -- 添付した PDF は、画像と同じように LLM のコンテキストとして
渡されます。Azure OpenAI / OpenAI / Foundry では ネイティブ添付され(モデルが
本文・表・スキャン画像まで読み取れます)、PDF を受け付けられないコネクタのプロバイダ
(例: Anthropic)では テキストを抽出して含めます。挙動は
PDF_ATTACH_MODE(auto/native/text)で制御し、テキスト経路はPDF_INLINE_MAX_CHARS(既定 20000)で上限が設定され、スキャン画像のみの PDF は RAG パイプラインを案内します
ペイントで描く
メッセージ欄の「+」メニューから Paint を開くと、チャット内で画像をその場で 作成し、通常の画像と同じように添付できま す。
- 全画面キャンバス -- フリーハンド線・直線・矢印・矩形・楕円・テキストを描画。各 オブジェクトをハンドルで選択・移動・拡大縮小・回転
- ワークスペース上の「ページ」 -- 描画には固定サイズ(アートボード)があり、 グレーの背景の上に浮かびます。その外側に描いたものは減光されるため、書き出される画像に 何が入るかが常に一目で分かります
- キャンバスサイズを選ぶ -- 16:9 / 4:3 / 1:1 のプリセット(4K まで)、 縦横入れ替え、Fit to window、比率ロック付きの Custom。新規の絵は 1280x720 で始まるため、同じ絵はどの PC でも同じサイズで書き出されます。上限は 1 辺 4096px・合計 12 メガピクセルで、超える値は入力した時点で拒否されます(添付 しようとして初めて分かる、ということがありません)
- パンとズーム -- Hand ツール(
H)、Space 押しながらドラッグ、中ボタン ドラッグ、ホイール(Shift+ホイールで水平)。Ctrl+ホイールはカーソル位置を基準に ズームします。ズーム範囲は 5%〜800%、Fit(Ctrl+0)/ 1:1(Ctrl+1)/ 選択範囲にズーム も利用できます。開いた直後はアートボードにフィットした状態で始まり、 描画領域のサイズが変わるたび再フィットします。自分でズーム/パンするとその表示が維持され、 Fit で再び自動 フィットに戻ります - 図形にくっ付く矢印と直線 -- 2 つの箱の間に矢印を引くと、箱を動かしても矢印が 付いてきて、向かい合う辺へ自動的に付け替わります。形(straight / elbow / curved)と 両端の矢尻(none / arrow / triangle / diamond / circle / bar)を選択可能。端点を図形に 近づけるとスナップし、Alt を押しながらなら自由に配置できます。矢印は端点 2 つを ドラッグして編集します(斜めの矢印ではこちらが自然です)。図形を削除しても矢印は消えず、 その場に残ります
- レイヤー -- オブジェクトの前後並べ替え、表示/ロックの切り替え
- 複製とコピー&ペースト -- キャンバス上のオブジェクト、またはレイヤーパネルの行を
右クリックすると、Duplicate / Cut / Copy / Paste、前後の並べ替え、ロック、非表示、
削除が使えます。
Ctrl+D/Ctrl+X/Ctrl+C/Ctrl+Vも利用でき、キャンバスの メニューから貼り付けると右クリックした位置に配置されます - 他アプリから取り込み -- 画像をドラッグ&ドロップまたは貼り付けてキャンバスに 配置。SVG コードを貼り付けると自動判定され、編集可能なベクター図形として追加。 他アプリからの貼り付けは内部のオブジェクトクリップボードより常に優先されるため、 従来どおりの動作です
- ローカル端末またはコードワークスペースから画像を読み込み -- Import ボタンが
From this device と、コードワークスペース有効時は From workspace(ワークスペース
内の画像を辿るピッカー)を提供。ローカルアップロードが制限された現場で便利です。画像
ファイル(
png/jpg/jpeg/gif/webp/bmp/svg)のみを対象とし、キャンバスに載るまで読み込み インディケーターを表示します - 作業中の undo/redo
- ダウンロードまたは添付 -- 描いた絵を PNG として保存、またはそのままメッセージに 添付。書き出される画像はアートボードそのもので、現在のズーム率やスクロール位置に 左右されません
- 後から再編集 -- 添付した絵は編集用データを保持。送信前はサムネイルから、送信後は メッセージから(新しい編集可能な添付として)再度開いて続きを編集できます。本リリース 以前に保存した絵は、保存時のサイズで開きます
長い会話を読む
-
会話ナビゲータ -- 長いチャットで自分の質問を右端の浮動レールに表示し、クリック で任意の自分のメッセージへジャンプ(ウィンドウが十分広いフルページチャットで表示)
-
2 行構成の入力ボックス(v0.167.0 以降)-- 1 行目はテキスト入力欄が全幅を占有し、 コントロールはすべて 2 行目に並びます(添付、エージェント アイコン、音声入力、Live 会話(v0.169.0 以降)、送信)。 各アイコンはホバーで自分の名前を示し 、それはスクリーンリーダーが読み上げる名前と同じ です。テキスト入力欄は従来より約 15% 広くなり、長いメッセージの折り返しが減ります
-
入力ボックスからエージェントを選ぶ -- コントロール行のアイコンは種類を示します (エージェント = ロボット、ワークフロー = グラフ、ハーネス エージェント = ハンマー)。 ホバーするとどれかが読め、クリックするとエージェント選択画面が開きます。v0.167.0 以降はスマートフォンだけでなくデスクトップでも同じ選択画面が開き、現在のエージェントが 強調表示されます。エージェントの作成・編集・削除は、選択画面の下部にある 「Manage agents...」、またはサイドバー下部の Declarative Agents アイコンから 行います
-
メッセージ単位で前後移動 -- 一番下へスクロールするボタンの両隣にある前へ/次へ ボタンで、自分とアシスタントの各メッセージを 1 件ずつ辿れます。会話がスクロール可能な ときだけ表示され、先頭・末尾では該当しない側の矢印が隠れます
-
コンテキストウィンドウの警告 -- v0.167.0 以降、ウィンドウが埋まってきたことを 入力ボックス自体が知らせ、それ以外のときは何も言いません。80% 未満では何も表示されず、 まだ 1 度も応答していないチャットでも同じです。80% で入力ボックスの枠線が 橙、 95% で 赤になり、送信ボタンの隣に警告アイコンが出ます。入力ボックスにマウスを 重ねる(またはスクリーンリーダーで読ませる)と割合が 文章で示されるため、警告が色だけに 依存することはありません。計測自体は変わりません -- 次のメッセージがコンテキストとして 背負う量(キャッシュから読み出されるプロンプトトークンを含む)であり、宣言的 ワークフロー のターンの後は推定値です(ワークフローの応答は次のチャットターンの履歴に なるため)。
v0.167.0 より前は、入力上部のプログレスバーが常時
62% (124K / 200K)を表示して いました。数値は下のターン別ダイアログに移りました -- 直前の回答のin / outの 数値をクリックしてください。バーは常設の要素でありながら、意味を持つのは表示時間の 1/5 程度で、新規チャットでは0% (0 / 200K)を延々と表示していました -
ターンごとのトークン使用量 -- 各アシスタントメッセージに入出力トークン数。 数値をクリックすると、そのターン全体の内訳(モデル呼び出し回数、未キャッシュ入力、 キャッシュ読み出し/書き込み、出力とそのうちの推論トークン)を表示します。ツールを 使うターンは複数回モデルを呼ぶため、合計はラベルの数値よりはるかに大きくなります。 宣言的ワークフロー の応答(v0.154.0 以降)は実行全体の合計を表示し、内訳には 実行されたすべてのノードと、モデルのウィンドウ上限に最も近づいたノードのコンテキスト 占有率が表示されます。 v0.145.0 以降、同じ数値は永続的な台帳にも記録され、 使用量統計 API から読み出せます。チャットを 削除しても消費記録は失われません v0.157.0 以降は、アプリ内のトークン使用量ダッシュボードでも確認できます。 v0.197.0 以降、ラベルは常にそのターンの最後のモデル呼び出しを表示します。Claude モデルでは モデル呼び出しを 1 回ずつ数え (以前のバージョンは 1 回を 2 回と数えていました)、コンテキストの 基準値を推定ではなく計測値で示します。そのため同じ作業でも、Claude のターンのモデル呼び出し 回数は以前より少なく表示されます
-
長いメッセージの折りたたみ -- 自分が送った長いメッセージは約 5 行に省略表示され、 Show more / Show less トグルで開閉できるので、会話履歴を見やすく保てます
-
長い回答を見出しで折りたたむ(v0.174.0 以降) -- トップレベルの見出し (H1・H2・H3)が 2 個以上ある回答では、各見出しの左に小さなシェブロンが付き、次の 同レベル以上の見出しまでの内容を折りたたみ / 展開できます。見出しを折りたたむと配下の 小見出しも一緒に隠れ、それぞれの状態は保持されます。シェブロンは見出しにホバーすると 表示され(タッチ画面では常時、折りたたみ中も常時表示)、Tab と Enter でも操作できます。 回答のアクション行の すべて折りたたむ / すべて展開 は全レベルを一度に折りたたむので、 回答を段階的に開けるアウトラインとして読めます。表示時はすべて展開状態で、折りたたみは 保存されません(チャットを開き直すと全文が表示されます)。コピー・読み上げ・編集・ エクスポートは常に回答全文を使います。Chrome・Edge・Desktop アプリでは、Ctrl+F で 折りたたまれたセクション内の語も検索でき、ヒットするとそのセクションが開きます
-
大規模セッションでも快適 -- 長い会話を開いても応答性を維持。再描画はストリー ミング中のメッセージのみで、メッセージ数が増えてもスクロールや入力が重くならない
メッセージ操作
任意のメッセージにホバーすると、コピー・編集・再生成・分岐・削除が表示されます。 タッチ画面では常に表示されます。見出しで折りたためる回答には、コピーの隣に すべて折りたたむ / すべて展開 も表示されます( 長い回答を見出しで折りたたむ を参照)。
- 編集は全画面エディタ(ウィンドウの約 80% を覆うモーダル)で開くので、長い メッセージの修正も快適です。質問を編集するとその時点から会話を再実行し、回答を 編集するとその場で更新します。Cmd/Ctrl+Enter で保存、Esc で取消。
- 分岐は、そのメッセージまでの会話を持つ新しいチャットを作ります。新しいチャットは 元のチャットのタイトルとフォルダを引き継ぎ、サイドバーにすぐ表示されます。 画像も独自にコピーされるため、後で元のチャットを削除しても影響を受けません。 元のチャットがピン留めされていても、分岐したチャットはピン留めされません。 分岐したチャットを参照してください。
回答が完了すると、次のメッセージを受け付ける前に保存されます。サーバがすぐに保存でき ない場合、チャットはロックされ、再試行(1 秒・2 秒・4 秒後)の間、画面中央に Saving the reply... のインジケーターが表示されます。それでも保存できない場合は、 画面を更新するとその返信が失われる旨のエラーが表示されます。履歴を読み込めないチャット は、空のチャットではなく This chat could not be loaded と Retry ボタンで表示 されます(v0.157.1 以降)。
時間のかかる静かなターン(遅いツール、Web 検索、何分も考えるモデル)でも 接続は保たれます。 何も送るものがない間、チャットのストリームは 15 秒ごとに小さなキープアライブを送るため、 無通信の接続を閉じるホスティングのフロントエンド(Azure App Service など)に途中で切られる ことはなくなりました。
それでも返信の途中で接続が切れた場合(ノート PC のスリープ、ネットワークの切り替えなど)、 受け取り済みのテキストは画面に残り、接続が切れたこと、サーバ側の実行が停止したこと、 この返信は保存されていないことを知らせる通知が表示されます。通知の Retry は、送った ときと同じ方法(質問、編集した質問、再生成)でターンを送り直します。このような返信には再生成 は表示されず、自動での再送もしません(v0.197.1 以降)。
モデルによっては独自の安全機構を持ち、返信を途中で止めて、I'm sorry, but I cannot assist with that request. のような決まった拒否文を代わりに送ることがあります。これはモデルの提供元によるもので、 ChatWalaʻau のエラーではなく、エラーとしてもログに出ません。
止まる前にモデルが書いたテキストは画面に残り、拒否はその下の別の通知に表示されます: The model's safety system stopped this reply, and this reply was not saved. に続けてモデルの文言が出ます。 拒否文が回答に加わることはなく、このターンは保存されないため、途中で切れた回答も拒否文も、 次のメッセージでモデルに送り返されることはありません。通知の Retry は、接続が切れた場合と同じく、 送ったときと同じ方法でターンを送り直します。再送はターンのツール呼び出しも繰り返すため、自動では行いません。 同じ依頼が再び拒否される場合は、言い方を変えてください。v0.202.1 より前は、拒否文が回答の一部として 表示・保存されていました。
v0.217.0 以降は、モデルが拒否専用の合図なしに、拒否文を普通の回答として書いた場合も同じように扱います。返信の
最後のメッセージがその文だけなら、回答から外して通知に The model declined to answer, and this reply was not saved.
と表示します(サーバーは source: "text" 付きの model_refusal イベントを送ります)。長い回答の中に同じ文が
引用されている場合はそのままです。よくある原因は、長いツール作業の途中で、読み込んだスキルの指示が見えなくなることでした。
現在は圧縮でもスキルの指示を残します(会話の圧縮 を参照)。
レイアウトと言語
- 多言語チャット -- ブラウザの自動翻訳を抑制し、多言語コンテンツを正しく描画
スマホで使う
チャット画面とチャット一覧は、スマホサイズの画面(幅 768px 未満)に合わせて表示されます。
- チャット一覧はドロワーとして開きます。 メニューボタンで開き、チャットを選ぶ・外側を タップする・Esc を押すと閉じます。
- ヘッダーは1行にまとまり、メニュー・プライバシースクリーン・Temporary Chat が最初の メッセージに重なりません。画面キーボードを開いても入力欄は隠れません。
- 会話に必要な操作はそろっています。 エージェント名(モデルと推論努力度もここで 選びます)、入力ボックス自体に出るコンテキスト警告、トークン使用量、画像・PDF の添付、音声入力、 ワークフローの進行表示、すべてのメッセージ操作が使えます。
エージェントを切り替える
v0.167.0 以降、スマートフォンとデスクトップで同じ操作になりました。それ以前は、 スマートフォンではこの選択画面、デスクトップでは Declarative Agents & Workflows の フル モーダルが開いており、最も頻度の高い操作に重い画面を当てていました。
入力ボックスのコントロール行にあるアイコンは run-target の種類を示し、ホバーすると 現在どれかが読めます。タップ(クリック)すると、応答できるもの(ビルトインエージェント、 あなたのエージェント、ワークフロー、Harness エージェント)の一覧が開きます。件数が多い ときは検索欄で絞り込めます。タップすると切り替わり、現在のエージェントは強調表示 されます。
デスクトップでは、一覧の下部に 「Manage agents...」 があり、そこからエージェントの 作成・編集・削除を行う画面へ移動できます。
同じシートにビルトインエージェントのモデルと推論努力度も並んでいるため、デスクトップ なしで思考の深さを変更できます。Structured Output はデスクトップで設定します。
-
ワークフローと Harness エージェントは、その場で切り替わります。影響はこの端末だけです。
-
エージェント(ビルトインを含む)は、アプリ全体に適用されます。スマホだけでなく、 すべてのブラウザ、すべてのチャットが切り替わります。この切り替えでは確認を求められ、 エージェントの再構築のあいだ少し時間がかかります。
-
実行できない項目は、理由とともに淡色で表示されます。作成と編集はデスクトップで行ってください。
-
ワークフローや Harness エージェントから戻るときは、ビルトインエージェント(または任意の エージェント)を選びます。
-
管理画面はデスクトップ専用です。 管理画面・エディタ(Declarative Agents、Pipeline jobs、Webhooks、Cron、File Explorer、エージェントメモリ、Ontology、App Settings、ペイント、 画像編集画面、プロンプトテンプレート、ワークフロー図)と、MCP ツール・Skills の操作は 表示されません。表示しないだけで機能は 止まりません。デスクトップで選んだ設定はそのまま有効で、エージェントは入力欄から 切り替えられます(上記)。
-
スマホサイズの画面では Enter で改行します。送信は送信ボタンで行います。それより広い画面 (タッチ対応ノート PC やタブレットを含む)では、これまでどおり Enter で送信します。
-
タッチ画面では、ホバーで出る操作が常に表示されます。
-
ページはブラウザが実際に表示している高さに合わせるので、iPad や iPhone でも入力欄が Safari のタブバーやツールバーの下に隠れません。キーボードを開いても画面は動かず、端末を 回転させると表示が合わせ直されます。
-
フォルダはスマホではドラッグで並べ替えできません。チャットのメニューの フォルダへ移動を使います。回答内のファイルリンクはダウンロードできます。
スマホから ChatWalaʻau に接続するには、サーバーをネットワークで待ち受け、サインインを有効に
する必要があります。認証 を参照してください。LAN アドレス
で音声入力を使うには HTTPS が必 要です(localhost は常に利用できます)。
不要な引用マーカー
Web 検索をしたモデルが、求められた出典リンクの代わりに、内部用の引用マークを書くことが
あります。citeturn0search0 のような文字列が空の四角で囲まれた形で、読み手には何の意味も
ありません。
このマークは、回答が届く前に取り除かれます。画面に出ず、会話にも保存されず、チャット検索にも
出てきません。取り除いたターンでは、メッセージの操作ボタンの横に小さな灰色の注記が出ます
(例: Citation markers removed: turn0search0 (1))。どの回答が該当したかが分かり、
マウスを重ねると実行 ID が表示されます。サーバーのログにも同じ ID が記録されます。
この注記はそのときのターンにだけ表示されます。チャットを再読み込みすると、きれいな回答だけが 表示されます。v0.159.0 より前に作成された回答は、保存された内容のままです。
Temporary Chat
Temporary Chat はチャット画面右上から始める「シークレット風」の使い捨て会話です。
- 履歴や検索に現れず、再開できません(閉じる・離れる・再読込で破棄)。
- 非パーソナライズで動作します。エージェン トはベースの Identity のみを使い、 保存済みの設定を読み書きしません。その他の ツールは引き続き利用できます。
- 起動中は入力欄が暗くなります。
- 安全のため、サーバ側に短期間だけ保持され(
TEMPORARY_CHAT_RETENTION_DAYS、既定 30 日)、その後自動削除されます。「履歴に残らない」であって「一切保存しない」では ありません。
API でもオプトインの temporary フラグ(既定オフ)で利用できます。v0.218.0 から、API の temporary の会話は
previous_response_id で続けられ、キーの設定ですべてのリクエストを temporary にもできます
(文書の相談窓口)。
プライバシースクリーン
実際にお使いのインスタンスで発表しますか。プライバシースクリーンは画面の非公開 部分を文字化けさせ、そのまま画面共有できるようにします。チャット画面右上、Temporary Chat のすぐ左にある目に斜線のアイコンで切り替えます。
有効な間の挙動:
- チャット履歴・自分のメッセージ・フォルダ名・添付ファイル名が文字化けして表示 されます。改行と文字幅は保たれるので、切り替えてもページ上の要素は動きません。
- 過去メ ッセージの画像や PDF はプレースホルダになり、有効な間はそもそもダウン ロードされません。
- 検索は使えますが、結果は文字化けし、一致箇所のハイライトは表示されません。
- 自分のメッセージをコピーすると文字化けしたテキストがコピーされます。元の文章が 誤ってクリップボードに入ることはありません。
- メッセージの編集とチャット名の変更は利用できません。どちらも元の文章を編集可能 な入力欄に戻す必要があるためです。
設定はリロードしても維持されるため、発表中に更新しても文字化けが解除されること はありません。有効な間は琥珀色の Privacy ピルが常に表示されるので、一目で状態が 分かります。
対象外の項目
プライバシースクリーンが隠すのは会話のうち利用者側であり、アプリ全体ではありません。 以下は隠されません。
- エージェントの返答。返答が利用者のメッセージを引用した場合、その内容は見えます。
- ツール呼び出しの引数、保存済みメモリ、 プロンプトテンプレート、ワークスペースのファイル、 スケジュール済みジョブ、アカウント名。
- 入力中の内容。メッセージ入力欄と検索欄は利用者が制御するものです。
これらが一切現れてはならないデモでは、発表用に用意したチャットから提示してください。