メインコンテンツまでスキップ

ネットワークと運用

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 を使う手順:

  1. mkcert をインストールし mkcert -install を実行
  2. 証明書を発行: mkcert -cert-file .certs/cert.pem -key-file .certs/key.pem <your-ip> localhost 127.0.0.1
  3. 上記の環境変数を .env に設定
  4. ファイアウォールでポートを許可(本番 8000、開発 5173)
  5. 各クライアント端末に 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 は削除されました

0.163.0 までは DEVUI_* 設定でバックエンドが Microsoft Agent Framework の DevUI を 別ポートに起動できました。0.164.0 で削除しました。 DevUI が提供していたデバッグ用 エージェントは、製品が実際に動かすエージェントとは別物でした(MCP ツールなし、 rag_search なしで構築されるため、そこで見えるものはチャットの挙動ではありません)。 その役割は、チャット画面そのもの、OpenAI 互換 API、ワークフロー、ハーネスエージェント、 使用量ダッシュボードが担っています。既存の .envDEVUI_* が残っていても無視される ため起動には影響しません。都合のよいときに削除してください。

プロンプトダンプ(モデルが実際に受け取った内容)

回答がおかしいのに設定は正しく見える、というとき、本当に知りたいのは「モデルに実際 何が送られたか」です。プロンプトダンプを有効にします:

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
- 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 が示されます
allowlistDeclarative Agent エディタのツール選択
mcp overrideMCP ツールマネージャ
skills overrideSkills マネージャ
not connectedMCP サーバが未接続。接続後に Reload してください

MISMATCH の行は、ビルドされたエージェントと設定が説明のつかない形で食い違っている ことを示します(あるはずのツールが無い、または逆)。これは設定の問題ではなく不具合です。 ダンプを保存して報告してください。

WARNING not connected の行は別の意味で重要です。サーバが未接続の間はツール名が不明 なため、ツール単位の許可リストを適用できず、接続された時点でそのサーバの全ツールが 公開されます。

このセクションはシステムプロンプトと異なり毎ターン書かれます。MCP マネージャ、Skills マネージャ、Declarative Agent の切り替えによって、セッション途中でもツール構成が変わり うるためです。digest 行を見れば、どのターンで変化したかが一目で分かります。