-
Notifications
You must be signed in to change notification settings - Fork 1.5k
ja deploy settings
langbot-wiki-sync[bot] edited this page Aug 3, 2026
·
3 revisions
LangBot の実行設定は data/config.yaml にあります。初回起動時に既定テンプレートから生成されます。以下の例は src/langbot/templates/config.yaml と同期しています。
Note
通常のセルフホストで変更が必要なのは主に公開 URL、DB/ベクトルストア、オブジェクトストレージ、Box Runtime です。用途を理解していない容量・Cloud 安全上限は既定値を維持してください。
# HTTP API と WebUI の設定です。
api:
port: 5300
webhook_prefix: 'http://127.0.0.1:5300'
extra_webhook_prefix: ''
# WebUI と API を別オリジンで配置する場合のブラウザー側 URL です。OAuth はこの値と webhook_prefix のみを信頼します。
webui_url: ''
# グローバル API キーです。空の場合は無効です。本番環境では環境変数から注入し、秘密として管理してください。
global_api_key: ''
# Workspace 関連の設定です。
workspace:
# メンバー招待リンクと任意のメール送信設定です。
invitations:
# 招待リンクに使う WebUI の公開 URL です。空の場合は api.webui_url、api.webhook_prefix の順にフォールバックします。
public_web_url: ''
# provider が空の場合はリンクだけを生成します。resend または smtp を選べます。
email:
provider: ''
from: ''
timeout_seconds: 10
resend:
api_url: 'https://api.resend.com/emails'
api_key: ''
smtp:
host: ''
port: 587
username: ''
password: ''
starttls: true
ssl: false
# コマンド機能、プレフィックス、権限マッピングです。
command:
enable: true
prefix:
- '!'
- !
privilege: {}
# パイプライン、セッション、待機中クエリの同時実行上限です。
concurrency:
pipeline: 20
session: 1
pending_queries: 1000
pending_queries_per_workspace: 100
# Webhook 数とインスタンス全体の同時送信数を制限し、無制限な待機を防ぎます。
webhooks:
max_per_workspace: 16
max_inflight_requests: 16
# Cloud の単一論理インスタンスに対する運用上の安全上限であり、プラン権限ではありません。
cloud:
# 上限を超える正式なディレクトリ更新は、切り捨てず全体を拒否します。
directory:
max_active_workspaces: 1000
max_snapshot_workspaces: 1000
max_snapshot_memberships: 20000
max_response_bytes: 33554432
# 外向き HTTP/HTTPS プロキシです。
proxy:
http: ''
https: ''
# インスタンス識別子、全体リソース制限、ランタイム保持方針です。
system:
instance_id: ''
edition: community
recovery_key: ''
allow_modify_login_info: true
disabled_adapters: []
# すべての asyncio.to_thread 処理で共有する上限付きスレッドプールです。
blocking_executor:
max_workers: 8
max_pending: 128
max_inflight_per_scope: 4
# 外向き IP アドレスです。一部のボット基盤では信頼済み IP への登録が必要です。
outbound_ips: []
# インスタンス単位の件数制限です。-1 は無制限を示します。
limitation:
max_bots: -1
max_pipelines: -1
max_extensions: -1
max_knowledge_bases: -1
# SaaS でサンドボックス範囲を強制する設定です。通常のセルフホストでは空のままにします。
force_box_session_id_template: ''
# 非同期タスク記録、ログ、ユーザー起動タスクの同時実行上限です。
task_retention:
completed_limit: 200
max_log_chars: 200000
max_active_user_tasks: 256
max_active_user_tasks_per_workspace: 8
# プロセス内セッションキャッシュの上限です。永続的な会話履歴ではありません。
session_retention:
max_entries: 2000
max_entries_per_workspace: 200
idle_ttl_seconds: 86400
max_conversations_per_session: 20
max_messages_per_conversation: 100
# ブラウザー接続、Workspace プロキシキャッシュ、送信キューの上限です。
websocket_retention:
max_connections: 1024
max_connections_per_workspace: 32
max_workspace_proxies: 1024
max_conversations_per_workspace: 200
max_messages_per_conversation: 100
conversation_idle_ttl_seconds: 86400
send_queue_size: 100
# 上流レスポンスの文字数とストリーミングチャンク数の上限です。
response_limits:
max_generated_chars: 1048576
max_stream_chunks: 100000
# JWT の有効期間と署名鍵です。本番環境ではランダムな秘密鍵を設定してください。
jwt:
expire: 604800
secret: ''
# 業務データベースです。sqlite または postgresql を選択できます。
database:
use: sqlite
sqlite:
path: 'data/langbot.db'
# PostgreSQL の接続プールとタイムアウト設定です。
postgresql:
# 空でない場合は個別フィールドより優先され、TLS とクエリオプションを保持します。
url: ''
host: '127.0.0.1'
port: 5432
user: 'postgres'
password: 'postgres'
database: 'postgres'
pool_size: 10
max_overflow: 10
pool_timeout_seconds: 30
pool_recycle_seconds: 1800
statement_timeout_ms: 60000
lock_timeout_ms: 5000
idle_in_transaction_session_timeout_ms: 60000
# Cloud リリース移行用の運用者接続設定です。
cloud_migration:
# 環境変数名だけを指定します。運用者ロールは実行時ロールと分離してください。
operator_dsn_env: 'LANGBOT_CLOUD_MIGRATION_DSN'
# ベクトルデータベースです。use で選択したバックエンドだけを設定します。
vdb:
use: chroma
# プロセス内のコレクションまたはインデックスハンドル数を制限します。
runtime_cache_limit: 1024
# Qdrant の接続設定です。
qdrant:
url: ''
host: localhost
port: 6333
api_key: ''
# SeekDB の組み込みまたはサーバーモード設定です。
seekdb:
mode: embedded
path: './data/seekdb'
database: 'langbot'
host: 'localhost'
port: 2881
user: 'root'
password: ''
tenant: ''
# Milvus の接続設定です。
milvus:
uri: 'http://127.0.0.1:19530'
token: ''
db_name: ''
# pgvector は業務用 PostgreSQL を再利用するか、独立 DB に接続できます。
pgvector:
use_business_database: false
# リリース移行では、ここに指定した次元だけに ANN インデックスを作成します。
allowed_dimensions: [384, 512, 768, 1024, 1536]
host: '127.0.0.1'
port: 5433
database: 'langbot'
user: 'postgres'
password: 'postgres'
# Search モジュールを有効にした Valkey が必要です。
valkey_search:
host: 'localhost'
port: 6379
db: 0
password: ''
username: ''
tls: false
index_algorithm: 'HNSW'
distance_metric: 'COSINE'
request_timeout: 5000
# オブジェクトストレージ、読み込み上限、定期クリーンアップです。
storage:
use: local
# Core メモリへ一度に読み込むオブジェクトの上限です。組み込み実装の絶対上限は 64 MiB です。
max_object_read_bytes: 10485760
# ローカルまたは S3 のアップロードファイルと古いログを定期削除します。
cleanup:
enabled: true
check_interval_hours: 1
uploaded_file_retention_days: 7
log_retention_days: 3
max_files_per_run: 1000
# S3 接続と同期処理の同時実行上限です。
s3:
endpoint_url: ''
access_key_id: ''
secret_access_key: ''
region: 'us-east-1'
bucket: 'langbot-storage'
max_concurrency: 16
# プラグイン Worker のインスタンス全体のハード上限と受け入れ予算です。
plugin:
enable: true
runtime_ws_url: 'ws://langbot_plugin_runtime:5400/control/ws'
enable_marketplace: true
display_plugin_debug_url: 'ws://localhost:5401/plugin/debug/ws'
# プラグインマニフェストからこれらの上限を引き上げることはできません。
worker:
max_cpus: 1.0
max_memory_mb: 512
max_pids: 128
max_open_files: 256
max_file_size_mb: 512
max_workers: 16
max_total_cpus: 8.0
max_total_memory_mb: 8192
max_installations: 10000
max_concurrent_restarts: 1
restart_failure_threshold: 8
restart_failure_window_seconds: 30.0
restart_circuit_open_seconds: 60.0
require_hard_limits: false
# プラグインのバイナリストレージにおける単一値のサイズ上限です。
binary_storage:
max_value_bytes: 10485760
# MCP ライフサイクルの同時実行数とローカル stdio トランスポートの設定です。
mcp:
# インスタンス全体の MCP 起動・停止同時実行数です。絶対上限は 128 です。
lifecycle_concurrency: 16
# 無効にしてもローカル stdio MCP だけが停止し、HTTP/SSE MCP には影響しません。
stdio:
enabled: true
# 監視クエリの作業量と履歴データの削除方針です。
monitoring:
# ページング、エクスポート、詳細、時系列バケット、高 offset クエリを制限します。
query_limits:
page_rows: 1000
export_rows: 10000
detail_rows: 2000
timeseries_buckets: 1000
max_offset: 1000000
# 期限切れ監視レコードをバッチ単位で自動削除します。
auto_cleanup:
enabled: true
retention_days: 30
check_interval_hours: 1
delete_batch_size: 1000
max_batches_per_table_per_run: 4
# Box サンドボックス Runtime 全体の設定です。
box:
# 無効にすると Box に接続・起動せず、サンドボックス依存ツールと stdio MCP も無効になります。
enabled: true
# local、docker、nsjail、e2b から選択します。
backend: 'local'
# 外部 WebSocket Runtime の URL です。空の場合はローカル Runtime を自動管理します。
runtime:
endpoint: ''
# セッション、プロセス、Workspace 走査、受け入れ記録、RPC ファイルの上限です。
limits:
max_sessions: 64
max_managed_processes: 64
max_completed_processes: 256
max_workspace_entries: 100000
max_admission_records: 100000
max_rpc_file_bytes: 20971520
# Cloud v2 の強制受け入れとハードクォータです。通常の OSS では既定で無効です。
admission:
required: false
logical_session_id: 'global'
required_backend: 'nsjail'
max_sessions: 1
max_managed_processes: 0
max_grant_ttl_sec: 300
max_timeout_sec: 120
cpus: 1.0
memory_mb: 512
pids_limit: 128
read_only_rootfs: true
workspace_quota_mb: 0
readiness_cache_sec: 15
# ローカル作業領域、Skill ディレクトリ、マウントルート、任意のディスククォータです。
local:
profile: 'default'
image: ''
# Docker 配置では、コンテナからマウントできるホストの絶対パスに変更します。
host_root: './data/box'
default_workspace: ''
skills_root: 'skills'
allowed_mount_roots:
- './data/box'
- '/tmp'
workspace_quota_mb: null
# 各 MCP stdio プロセスに対する nsjail cgroup の既定メモリ上限(MiB)です。
default_memory_mb: 1536
# Docker サンドボックスの追加設定です。
docker:
cpu_limit_enabled: true
# E2B またはセルフホスト互換サービスの設定です。
e2b:
api_key: ''
api_url: ''
template: ''
# LangBot Space の OAuth、モデルゲートウェイ、テレメトリ設定です。
space:
url: 'https://space.langbot.app'
models_gateway_api_url: 'https://api.langbot.cloud/v1'
oauth_authorize_url: 'https://space.langbot.app/auth/authorize'
disable_models_service: false
disable_telemetry: false-
api.portは HTTP API と WebUI のポートです。api.webhook_prefixはプラットフォームのコールバック URL を生成する公開ベース URL で、本番環境では通常 HTTPS リバースプロキシのオリジンを指定します。 - WebUI と API のオリジンが異なる場合は
api.webui_urlを設定します。OAuth リダイレクトはこのサーバー側設定とwebhook_prefixのみを信頼し、リクエストのHost/Originヘッダーは信頼しません。 -
api.global_api_keyはX-API-KeyまたはAuthorization: Bearerで HTTP Service API と組み込み MCP サーバーを認証します。ログインセッションや DB 保存のlbk_キーは不要で、空文字列は無効を意味します。 -
workspace.invitations.public_web_urlは招待リンクの公開 URL です。空の場合はapi.webui_url、次にapi.webhook_prefixへフォールバックします。メール配信はresendまたはsmtpを選び、providerが空ならリンクのみを生成します。
Warning
グローバル API キー、JWT シークレット、DB/S3 認証情報、メールプロバイダーのシークレット、E2B キーは機密情報です。本番では環境変数を優先し、実値を Git にコミットせず、認証対象のエンドポイントは HTTPS で公開してください。
-
concurrencyは実行中・待機中のパイプライン処理をインスタンス全体および Workspace 単位で制限します。 -
webhooksは Workspace ごとの有効な宛先数とインスタンス全体の送信中リクエスト数を制限します。 -
cloud.directoryは 1 つの Cloud 論理インスタンスに対する運用上の安全上限であり、サブスクリプション権限ではありません。上限超過の権威ディレクトリ更新は切り捨てず、全体を拒否します。通常のセルフホストでは既定値を維持してください。 -
system.blocking_executor、各*_retention、response_limitsはスレッド、キャッシュ、ソケット、上流レスポンスのメモリ使用を有界にします。 -
system.limitationの-1は無制限です。force_box_session_id_templateは SaaS のサンドボックス制約用で、通常のセルフホストでは空のままにします。
-
database.useで SQLite または PostgreSQL を選択します。database.postgresql.urlが空でなければ分割された接続項目より優先され、TLS/クエリオプションも保持できます。 - PostgreSQL のプールとタイムアウトは共有ランタイム資源を制限します。
database.cloud_migration.operator_dsn_envは運用者専用のマイグレーション DSN を格納する環境変数名で、ランタイムロールとは分離してください。 -
vdb.useで利用するベクトルバックエンドを選びます。実際に選択したバックエンドだけを設定します。 -
vdb.pgvector.use_business_databaseはdatabase.postgresqlを再利用します。allowed_dimensionsはリリースマイグレーションが作成する ANN インデックスの次元を制御します。 - Valkey Search には Search モジュール入りの Valkey(例:
valkey/valkey-bundle:9.1.0)が必要です。
-
storage.max_object_read_bytesは Core のメモリへ読み込む 1 オブジェクトの上限です。クリーンアップ項目は 1 回のファイル走査量を、s3.max_concurrencyはワーカースレッドへ委譲する boto3 操作数を制限します。 -
plugin.workerは各インストールとインスタンス全体のハード上限です。プラグイン manifest から緩和できません。再起動関連項目は Runtime の再起動ストームを抑制します。 -
mcp.lifecycle_concurrencyは MCP の起動・停止バーストを制限します。mcp.stdio.enabledは HTTP/SSE MCP を維持したままローカル stdio MCP だけを無効化できます。 -
monitoring.query_limitsとauto_cleanupは大きなページ、CSV、offset、古いレコードがメモリや PostgreSQL を独占しないようにします。
-
box.enabledは総合スイッチです。無効にするとネイティブサンドボックスツール、Skill の追加/編集、stdio MCP も無効になりますが、読み取り専用 Skill 一覧と HTTP/SSE MCP は利用できます。 -
box.backendはlocal、docker、nsjail、e2bから選び、runtime.endpointは外部 WebSocket Runtime への接続に使います。 -
box.limitsはセッション、プロセス、Workspace 走査、保持する受付フェンス、RPC ファイルサイズを制限します。 -
box.admissionは Cloud v2 の強制受付ポリシーです。OSS の既定値はrequired: falseで、パイプラインや Workspace 権限、ツール呼び出しから Runtime 所有の上限を緩和できません。 - Docker では
box.local.host_rootに Box コンテナからマウント可能な絶対ホストパスを指定します。 -
box.default_memory_mbは各 stdio MCP プロセスの nsjail cgroup メモリ既定値です。Node.js MCP は Python MCP より多く必要になりやすく、低すぎる場合は終了コード137がよく発生します。
space.url、models_gateway_api_url、oauth_authorize_url は Space OAuth/API と MaaS の接続先です。2 つの disable_* でモデルサービスとテレメトリーを個別に無効化できます。
ネストしたキーを大文字にし、階層を二重アンダースコアで連結します。
-
API__PORT→api.port -
WORKSPACE__INVITATIONS__PUBLIC_WEB_URL→workspace.invitations.public_web_url -
CONCURRENCY__PENDING_QUERIES_PER_WORKSPACE→concurrency.pending_queries_per_workspace -
DATABASE__POSTGRESQL__POOL_SIZE→database.postgresql.pool_size -
STORAGE__CLEANUP__MAX_FILES_PER_RUN→storage.cleanup.max_files_per_run -
PLUGIN__WORKER__MAX_TOTAL_MEMORY_MB→plugin.worker.max_total_memory_mb -
MCP__STDIO__ENABLED→mcp.stdio.enabled -
BOX__DEFAULT_MEMORY_MB→box.default_memory_mb
起動時に LangBot が環境変数を適用し、結果を data/config.yaml に書き込みます。
Note
Docker では統一された BOX__* 環境変数を langbot サービスに設定してください。LangBot は INIT RPC で Box 設定を langbot_box へ渡すため、langbot_box に直接設定した変数は読み取られません。
Automatically synchronized from langbot-app/langbot-wiki.
简体中文
指南
开发者
- 插件开发
- 插件 SDK API
- 核心开发
API 参考
- Service API
English
Guides
Developers
-
Plugin Development
- Plugin Development Tutorial
- Completing Plugin Configuration Information
- Plugin Directory Structure
- Component Development
- Code Style Guide
- Migration Guide
- Publish Plugin
- Plugin SDK API
- Core Development
API Reference
- Service API