ネットワークと運用
HTTPS / LAN アクセス
同じネットワークの他デバイス(スマホ、タブレット、PC)からアクセスできます。HTTPS は、 非ローカルホストのオリジンで音声入力やクリップボードに必要なブラウザの Secure Context を有効にします。
APP_HOST=0.0.0.0
APP_SSL_CERTFILE=.certs/cert.pem
APP_SSL_KEYFILE=.certs/key.pem
mkcert を使う手順:
- mkcert をインストールし
mkcert -installを実行 - 証明書を発行:
mkcert -cert-file .certs/cert.pem -key-file .certs/key.pem <your-ip> localhost 127.0.0.1 - 上記の環境変数を
.envに設定 - ファイアウォールでポートを許可(本番 8000、開発 5173)
- 各クライアント端末に CA 証明書(
rootCA.pem)をインストール
LAN か らは https://<your-ip>:8000 でアクセス。SSL 未設定なら従来どおり HTTP モードで
動作します(破壊的変更なし)。
社内ネットワーク(TLS 傍受プロキシ)
社内プロキシ(Zscaler, Netskope, オンプレ機器)配下では、Python 同梱の certifi が
社内ルート CA を知らないため、最初の外向き HTTPS 通信が失敗することがあります:
httpx.ConnectError: [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: self-signed certificate in certificate chain
推奨対処は、TLS 検証を OS の証明書ストア経由にする任意の corp extras です:
pip install "chatwalaau[corp]"
ソース変更も環境変数変更も不要で、非社内環境への影響もありません。あるいは明示的な CA バンドルを指定します:
export SSL_CERT_FILE=/path/to/corp-root-ca.pem
export REQUESTS_CA_BUNDLE=/path/to/corp-root-ca.pem
DevUI
デバッグ用に Microsoft Agent Framework の DevUI を有効化します:
DEVUI_ENABLED=true
DEVUI_PORT=8080
# DEVUI_DISABLE_MCP=true # 既定で除外(クロスループ安全性)
# DEVUI_DISABLE_RAG=true # 既定で除外
http://localhost:8080 でアクセス。DevUI はメインエージェント
の関数ツール・Skills・モデルクライアントを再利用する専用 Agent インスタンスを受け取り
ますが、既定で MCP ツールと rag_search を除外し、DevUI デーモンスレッドとメインの
FastAPI イベントループ間のクロスループ呼び出しを回避します。
プロンプトダンプ(モデルが実際に受け取った内容)
回答がおかしいのに設定は正しく見える、というとき、本当に知りたいのは「モデルに実際 何が送られたか」です。プロンプトダンプを有効にします:
PROMPT_DUMP_ENABLED=true
# PROMPT_DUMP_DIR=.prompts # 既定値
run ごとにタイムスタンプ付き Markdown ファイルが書かれ、組み立て済みシステムプロンプト (初回ターンのみ。セッション中は凍結されるため)、流れる会話、そして ツールサーフェス が記録されます。プロンプト内容はファイルにのみ出力され、ログにはメタデータのみが残ります。
システムプロンプト内では、各ツールの使い方ガイダンスがツールごとに
<tool-guide name="weather">、<tool-guide name="rag"> … のラベル付きブロックに
まとめられるため、どの指示がどのツールに属するか一目で分かります。
用が済んだら無効化してください。ファイルは蓄積し、会話内容を含みます。
ツールサーフェス
ツールサーフェスのセクションは、組み込み関数・MCP サーバとツール・Skills を、 そこに無いものも理由付きですべて列挙します:
### Built-in functions (4 active / 13 excluded)
- file_write ACTIVE approval: always_require
- bash_execute EXCLUDED allowlist
- rag_search EXCLUDED settings (CHROMA_DIR unset or no embeddings offering)
- manage_cron EXCLUDED settings (CRON_ENABLED=false)
### MCP (1 active server / 1 excluded / 1 warning)
- github ACTIVE 2/14 tools
- create_issue ACTIVE
- delete_repo EXCLUDED mcp override
- filesystem EXCLUDED allowlist (server not selected)
- slack WARNING not connected; allow-list not applied
理由は、そのゲートを所有している画面を指しています:
| 理由 | どこで直すか |
|---|---|
settings | .env。行に変数名または不足しているモデル offering が示されます |
allowlist | Declarative Agent エディタのツール選択 |
mcp override | MCP ツールマネージャ |
skills override | Skills マネージャ |
not connected | MCP サーバが未接続。接続後に Reload してください |
MISMATCH の行は、ビルドされたエージェントと設定が説明のつかない形で食い違っている
ことを示します(あるはずのツールが無い、または逆)。これは設定の問題ではなく不具合です。
ダンプを保存して報告してください。
WARNING not connected の行は別の意味で重要です。サーバが未接続の間はツール名が不明
なため、ツール単位の許可リストを適用できず、接続された時点でそのサーバの全ツールが
公開されます。
このセクションはシステムプロンプトと異なり毎ターン書かれます。MCP マネージャ、Skills
マネージャ、Declarative Agent の切り替えによって、セッション途中でもツール構成が変わり
うるためです。digest 行を見れば、どのターンで変化したかが一目で分かります。