Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

設定リファレンス

このページでは PRX の config.toml のすべての設定セクションとフィールドを文書化しています。デフォルト値が示されているフィールドは省略可能です -- PRX はデフォルト値を使用します。

トップレベル(デフォルト設定)

これらのフィールドは config.toml のルートレベル、セクションヘッダーの外側に記述します。

フィールドデフォルト説明
default_providerstring"openrouter"プロバイダー ID またはエイリアス(例: "anthropic", "openai", "ollama"
default_modelstring"anthropic/claude-sonnet-4.6"選択したプロバイダーを通じてルーティングされるモデル識別子
default_temperaturefloat0.7サンプリング温度(0.0--2.0)。低いほど決定的
api_keystring?null選択したプロバイダーの API キー。プロバイダー固有の環境変数でオーバーライドされる
api_urlstring?nullプロバイダー API のベース URL オーバーライド(例: リモート Ollama エンドポイント)
toml
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"
default_temperature = 0.7
api_key = "sk-ant-..."

[gateway]

Webhook エンドポイント、ペアリング、Web API 用の HTTP ゲートウェイサーバー。

フィールドデフォルト説明
hoststring"127.0.0.1"バインドアドレス。公開アクセスには "0.0.0.0" を使用
portu1616830リッスンポート
require_pairingbooltrueAPI リクエスト受け入れ前にデバイスペアリングを要求
allow_public_bindboolfalseトンネルなしで非 localhost へのバインドを許可
pair_rate_limit_per_minuteu325クライアントあたりの最大ペアリングリクエスト数/分
webhook_rate_limit_per_minuteu3260クライアントあたりの最大 Webhook リクエスト数/分
api_rate_limit_per_minuteu32120認証済みトークンあたりの最大 API リクエスト数/分
trust_forwarded_headersboolfalseX-Forwarded-For / X-Real-IP ヘッダーを信頼(リバースプロキシ背後でのみ有効化)
request_timeout_secsu64300HTTP ハンドラーのタイムアウト(秒)
idempotency_ttl_secsu64300Webhook 冪等性キーの TTL
toml
[gateway]
host = "127.0.0.1"
port = 16830
require_pairing = true
api_rate_limit_per_minute = 120

WARNING

host または port の変更には完全な再起動が必要です。これらの値はサーバー起動時にバインドされ、ホットリロードできません。

[channels_config]

トップレベルのチャネル設定。個別のチャネルはネストされたサブセクションです。

フィールドデフォルト説明
clibooltrue対話型 CLI チャネルを有効化
message_timeout_secsu64300メッセージごとの処理タイムアウト(LLM + ツール)

[channels_config.telegram]

フィールドデフォルト説明
bot_tokenstring(必須)@BotFather からの Telegram Bot API トークン
allowed_usersstring[][]許可する Telegram ユーザー ID またはユーザー名。空 = すべて拒否
mention_onlyboolfalseグループでは、ボットを @メンションしたメッセージにのみ応答
stream_mode"off" | "partial""off"ストリーミングモード: off は完全なレスポンスを送信、partial はドラフトを段階的に編集
draft_update_interval_msu641000ドラフト編集の最小間隔(レート制限保護)
interrupt_on_new_messageboolfalse同じユーザーが新しいメッセージを送信した際に処理中のレスポンスをキャンセル
toml
[channels_config.telegram]
bot_token = "123456:ABC-DEF..."
allowed_users = ["alice", "bob"]
mention_only = true
stream_mode = "partial"

[channels_config.discord]

フィールドデフォルト説明
bot_tokenstring(必須)Developer Portal からの Discord ボットトークン
guild_idstring?null単一のギルド(サーバー)に制限
allowed_usersstring[][]許可する Discord ユーザー ID。空 = すべて拒否
listen_to_botsboolfalse他のボットからのメッセージを処理(自身のメッセージは常に無視)
mention_onlyboolfalse@メンションにのみ応答
toml
[channels_config.discord]
bot_token = "MTIz..."
guild_id = "987654321"
allowed_users = ["111222333"]
mention_only = true

[channels_config.slack]

フィールドデフォルト説明
bot_tokenstring(必須)Slack ボット OAuth トークン(xoxb-...
app_tokenstring?nullSocket Mode 用のアプリレベルトークン(xapp-...
channel_idstring?null単一チャネルに制限
allowed_usersstring[][]許可する Slack ユーザー ID。空 = すべて拒否
mention_onlyboolfalseグループでは @メンションにのみ応答

[channels_config.lark]

フィールドデフォルト説明
app_idstring(必須)Lark/飛書 アプリ ID
app_secretstring(必須)Lark/飛書 アプリシークレット
encrypt_keystring?nullイベント暗号化キー
verification_tokenstring?nullイベント検証トークン
allowed_usersstring[][]許可するユーザー ID。空 = すべて拒否
use_feishuboolfalseLark(国際版)の代わりに飛書(中国版)の API エンドポイントを使用
receive_mode"websocket" | "webhook""websocket"メッセージ受信モード
portu16?nullWebhook リッスンポート(webhook モードのみ)
mention_onlyboolfalse@メンションにのみ応答

PRX はさらに以下のチャネルもサポートしています([channels_config.*] で設定):

  • Matrix -- homeserveraccess_token、ルームの許可リスト
  • Signal -- signal-cli REST API 経由
  • WhatsApp -- Cloud API または Web モード
  • iMessage -- macOS のみ、連絡先の許可リスト
  • DingTalk -- client_id / client_secret によるストリームモード
  • QQ -- app_id / app_secret による公式 Bot SDK
  • Email -- IMAP/SMTP
  • IRC -- サーバー、チャネル、ニック
  • Mattermost -- URL + ボットトークン
  • Nextcloud Talk -- ベース URL + アプリトークン
  • Webhook -- 汎用受信 Webhook

[memory]

会話履歴、知識、エンベディング用のメモリバックエンド。

フィールドデフォルト説明
backendstring"sqlite"バックエンドタイプ: "sqlite", "lucid", "postgres", "markdown", "none"
auto_savebooltrueユーザーの会話入力を自動的にメモリに保存
acl_enabledboolfalseメモリアクセス制御リストを有効化
hygiene_enabledbooltrue定期的なアーカイブと保持クリーンアップを実行
archive_after_daysu327これより古い日次/セッションファイルをアーカイブ
purge_after_daysu3230これより古いアーカイブファイルをパージ
conversation_retention_daysu323SQLite: これより古い会話行を削除
daily_retention_daysu327SQLite: これより古い日次行を削除
embedding_providerstring"none"エンベディングプロバイダー: "none", "openai", "custom:<URL>"
embedding_modelstring"text-embedding-3-small"エンベディングモデル名
embedding_dimensionsusize1536エンベディングベクトルの次元数
vector_weightf640.7ハイブリッド検索でのベクトル類似度の重み(0.0--1.0)
keyword_weightf640.3BM25 キーワード検索の重み(0.0--1.0)
min_relevance_scoref640.4コンテキストにメモリを含めるための最小ハイブリッドスコア
embedding_cache_sizeusize10000LRU エビクション前の最大エンベディングキャッシュエントリ数
snapshot_enabledboolfalseコアメモリを MEMORY_SNAPSHOT.md にエクスポート
snapshot_on_hygieneboolfalseハイジーンパス中にスナップショットを実行
auto_hydratebooltruebrain.db がない場合にスナップショットから自動読み込み
toml
[memory]
backend = "sqlite"
auto_save = true
embedding_provider = "openai"
embedding_model = "text-embedding-3-small"
embedding_dimensions = 1536
vector_weight = 0.7
keyword_weight = 0.3

[router]

マルチモデルデプロイメント用のヒューリスティック LLM ルーター。能力、Elo レーティング、コスト、レイテンシを組み合わせた加重式で候補モデルをスコアリングします。

フィールドデフォルト説明
enabledboolfalseヒューリスティックルーティングを有効化
alphaf320.0類似度スコアの重み
betaf320.5能力スコアの重み
gammaf320.3Elo スコアの重み
deltaf320.1コストペナルティ係数
epsilonf320.1レイテンシペナルティ係数
knn_enabledboolfalse履歴からの KNN セマンティックルーティングを有効化
knn_min_recordsusize10KNN がルーティングに影響する前の最小履歴レコード数
knn_kusize7投票用の最近傍数

[router.automix]

適応的エスカレーションポリシー: 安価なモデルで開始し、信頼度が低下した場合にプレミアムモデルにエスカレーション。

フィールドデフォルト説明
enabledboolfalseAutomix エスカレーションを有効化
confidence_thresholdf320.7信頼度がこの値を下回るとエスカレーション(0.0--1.0)
cheap_model_tiersstring[][]「安価優先」と見なすモデルティア
premium_model_idstring""エスカレーション用のモデル
toml
[router]
enabled = true
beta = 0.5
gamma = 0.3
knn_enabled = true

[router.automix]
enabled = true
confidence_threshold = 0.7
premium_model_id = "anthropic/claude-sonnet-4-6"

[security]

OS レベルのセキュリティ: サンドボックス、リソース制限、監査ログ。

[security.sandbox]

フィールドデフォルト説明
enabledbool?null(自動検出)サンドボックス分離を有効化
backendstring"auto"バックエンド: "auto", "landlock", "firejail", "bubblewrap", "docker", "none"
firejail_argsstring[][]カスタム Firejail 引数

[security.resources]

フィールドデフォルト説明
max_memory_mbu32512コマンドあたりの最大メモリ(MB)
max_cpu_time_secondsu6460コマンドあたりの最大 CPU 時間
max_subprocessesu3210最大サブプロセス数
memory_monitoringbooltrueメモリ使用量モニタリングを有効化

[security.audit]

フィールドデフォルト説明
enabledbooltrue監査ログを有効化
log_pathstring"audit.log"監査ログファイルのパス(設定ディレクトリからの相対パス)
max_size_mbu32100ローテーション前の最大ログサイズ
sign_eventsboolfalse改ざん検出のためにイベントを HMAC で署名
toml
[security.sandbox]
backend = "landlock"

[security.resources]
max_memory_mb = 1024
max_cpu_time_seconds = 120

[security.audit]
enabled = true
sign_events = true

[observability]

メトリクスと分散トレーシングバックエンド。

フィールドデフォルト説明
backendstring"none"バックエンド: "none", "log", "prometheus", "otel"
otel_endpointstring?nullOTLP エンドポイント URL(例: "http://localhost:4318"
otel_service_namestring?nullOTel コレクター用のサービス名(デフォルトは "prx"
toml
[observability]
backend = "otel"
otel_endpoint = "http://localhost:4318"
otel_service_name = "prx-production"

[mcp]

Model Context Protocol サーバー統合。PRX は MCP クライアントとして動作し、追加ツール用の外部 MCP サーバーに接続します。

フィールドデフォルト説明
enabledboolfalseMCP クライアント統合を有効化

[mcp.servers.<name>]

各名前付きサーバーは [mcp.servers] の下のサブセクションです。

フィールドデフォルト説明
enabledbooltrueサーバーごとの有効化スイッチ
transport"stdio" | "http""stdio"トランスポートタイプ
commandstring?nullstdio モード用のコマンド
argsstring[][]stdio モード用のコマンド引数
urlstring?nullHTTP トランスポート用の URL
envmap<string, string>{}stdio モード用の環境変数
startup_timeout_msu6410000起動タイムアウト
request_timeout_msu6430000リクエストごとのタイムアウト
tool_name_prefixstring"mcp"公開されるツール名のプレフィックス
allow_toolsstring[][]ツールの許可リスト(空 = すべて)
deny_toolsstring[][]ツールの拒否リスト
toml
[mcp]
enabled = true

[mcp.servers.filesystem]
transport = "stdio"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]

[mcp.servers.remote-api]
transport = "http"
url = "http://localhost:8090/mcp"
request_timeout_ms = 60000

[browser]

ブラウザ自動化ツール設定。

フィールドデフォルト説明
enabledboolfalsebrowser_open ツールを有効化
allowed_domainsstring[][]許可するドメイン(完全一致またはサブドメイン一致)
session_namestring?null自動化用の名前付きブラウザセッション
toml
[browser]
enabled = true
allowed_domains = ["docs.rs", "github.com", "*.example.com"]

Web 検索と URL フェッチツールの設定。

フィールドデフォルト説明
enabledboolfalseweb_search ツールを有効化
providerstring"duckduckgo"検索プロバイダー: "duckduckgo"(無料)または "brave"(API キー必要)
brave_api_keystring?nullBrave Search API キー
max_resultsusize5検索ごとの最大結果数(1--10)
timeout_secsu6415リクエストタイムアウト
fetch_enabledbooltrueweb_fetch ツールを有効化
fetch_max_charsusize10000web_fetch が返す最大文字数
toml
[web_search]
enabled = true
provider = "brave"
brave_api_key = "BSA..."
max_results = 5
fetch_enabled = true

[xin]

Xin(心/マインド)自律タスクエンジン -- 進化、フィットネスチェック、ハイジーン操作を含むバックグラウンドタスクをスケジュール・実行します。

フィールドデフォルト説明
enabledboolfalseXin タスクエンジンを有効化
interval_minutesu325ティック間隔(分、最小 1)
max_concurrentusize4ティックあたりの最大同時タスク実行数
max_tasksusize128ストア内の最大タスク数
stale_timeout_minutesu3260実行中のタスクが古いとマークされるまでの分数
builtin_tasksbooltrue組み込みシステムタスクを自動登録
evolution_integrationboolfalseXin に進化/フィットネスのスケジューリングを管理させる
toml
[xin]
enabled = true
interval_minutes = 10
max_concurrent = 4
builtin_tasks = true
evolution_integration = true

[cost]

コスト追跡のための支出制限とモデルごとの料金。

フィールドデフォルト説明
enabledboolfalseコスト追跡を有効化
daily_limit_usdf6410.0日次支出制限(USD)
monthly_limit_usdf64100.0月次支出制限(USD)
warn_at_percentu880支出がこのパーセンテージに達したら警告
allow_overrideboolfalse--override フラグでの予算超過リクエストを許可
toml
[cost]
enabled = true
daily_limit_usd = 25.0
monthly_limit_usd = 500.0
warn_at_percent = 80

[reliability]

レジリエントなプロバイダーアクセスのためのリトライとフォールバックチェーン設定。

フィールドデフォルト説明
max_retriesu323一時的な障害に対する最大リトライ回数
fallback_providersstring[][]フォールバックプロバイダー名の順序付きリスト
toml
[reliability]
max_retries = 3
fallback_providers = ["openai", "gemini"]

[secrets]

ChaCha20-Poly1305 を使用した暗号化クレデンシャルストア。

フィールドデフォルト説明
encryptbooltrue設定内の API キーとトークンの暗号化を有効化

[auth]

外部クレデンシャルインポート設定。

フィールドデフォルト説明
codex_auth_json_auto_importbooltrueCodex CLI の auth.json から OAuth クレデンシャルを自動インポート
codex_auth_json_pathstring"~/.codex/auth.json"Codex CLI 認証ファイルのパス

[proxy]

送信 HTTP/HTTPS/SOCKS5 プロキシ設定。

フィールドデフォルト説明
enabledboolfalseプロキシを有効化
http_proxystring?nullHTTP プロキシ URL
https_proxystring?nullHTTPS プロキシ URL
all_proxystring?nullすべてのスキーム用のフォールバックプロキシ
no_proxystring[][]バイパスリスト(NO_PROXY と同じ形式)
scopestring"zeroclaw"スコープ: "environment", "zeroclaw", "services"
servicesstring[][]スコープが "services" の場合のサービスセレクター
toml
[proxy]
enabled = true
https_proxy = "socks5://127.0.0.1:1080"
no_proxy = ["localhost", "127.0.0.1", "*.internal"]
scope = "zeroclaw"

Released under the Apache-2.0 License.