コンテンツにスキップ

設定 — どこで何を決めるか

挙動を決める層は 3 つあり、この 3 つの取り違えが「変えたのに効かない」のよくある原因です。 狭い順に並べると次のとおりです。

層 決める人 どこ 効くタイミング
個人 自分 アカウントメニュー →設定 即座、または次のセッションから
テナント テナント管理者 アカウントメニュー →テナント設定 そのテナントのメンバーに
配備 配備を運用する人 環境変数(起動前) 再起動時

狭い層は広い層を広げられません。個人設定はテナントの上限を超えられず、テナント設定は 配備が許す範囲を超えられません。設定した値が効いている値と違うときは、1 つ外の層を見てください。

タブ 決めるもの
表示 言語・地域の形式・タイムゾーン・テーマ・情報密度
キー操作 ショートカットと再割り当て
エージェント 各エージェントの接続・既定モデル・除外するモデル・挙動。llama.cpp のオン/オフと自分の llama-server 接続先、Muse Code の導入とログイン。セッショングループ — セッション間メッセージ・セッションからのセッション起動と子セッションの同時本数・過去セッションの検索・画像生成
エージェントへの指示 このワークスペースで起こす全エージェントに足される文
スキル 各エージェント(Claude・Codex・OpenCode・Muse)の個人スキル。読み込まれるフォルダ、どれが優先されるか、各ファイルの中身。読み取り専用。手元の Claude Code の設定を持ち込む を参照
エージェントメモリ Agent Fleet 自身の共有メモリ。4 つの表示: メモリ(閲覧・検索・作成・編集・ピン留め・忘れさせる・忘却を取り消す・履歴の消去)、変更(変更一覧と元に戻す・忘れさせる)、取り込み・書き出し(カードのハブ:Claude Code・muse・メモリのバンドルからの取り込み、Claude Code への書き戻し、プロジェクトの移動)、設定(セッション用スイッチと同期の状態、外部からの利用)。member/18 を参照
メモリのスナップショット エージェント自身のメモリ(各エージェント種別が持つメモリ)の版管理。3 つの表示: 履歴(この時点に戻すつき。Agent Fleet のメモリの書き込みは頼まない限り隠す)、対象(対象のルート・codex のメモリ・自動スナップショット)、書き出し・取り込み
アシスタント アシスタントチャットのエージェントとモデル
AI 補助 タイトル・ブランチ名・返信候補・編集提案・計画更新・翻訳の既定エージェントとモデル、機能ごとのオン・オフ/エージェント/モデルの上書き
エージェント使用量 自分のトークン消費(機能別・エージェント別・モデル別)
クラウド費用 配備のクラウド費用のうち自分の分
稼働時間 自分のワークスペースが動いていた時間(24 時間 × 日付のヒートマップ)
Git ホスティング GitHub / Bitbucket の接続
内部リポジトリ 配備自身がホストするリポジトリ
AWS プロファイル/SSM AWS プロファイルとリモートログイン先
Google Cloud af-gcloud-exec がコマンドの実行に使う Google Cloud のプロファイル
課題管理 Jira ほか作業項目の取得元
チャット連携 Discord / Slack のブリッジ
MCP サーバー(セッションで使う) エージェントが使える連携サーバー
MCP トークン・接続アプリ 外部から自分のセッションを動かすためのトークン。エージェントメモリの設定と合わせれば、外部のエージェントから自分の Agent Fleet のメモリを使うためにも使う
通知 何を、どう知らせるか
利用枠ボード 利用上限に対する自分の状況を、このテナントの誰に・どこまで見せるか(既定は非公開)。メンバーが自分に公開している状況
読み上げ 読み上げエンジンと声
マシン 自分のワークスペースが動いているインスタンス(種類・アーキテクチャ・vCPU・メモリ・ディスク)、使用状況、メモリ逼迫(測定のみ)
ツールチェーン JDK ほかワークスペース毎のツールチェーン
データベース DB を使うテスト用の PostgreSQL / MySQL(導入・開始・停止・作成・リセット)
プレビュー用サブドメイン 作っているアプリを外から開く URL(発行する配備のみ)
運用・監視 監視連携
書き出し / 取り込み 設定を別の配備へ持って行く
アカウント 自分のアカウントに紐づくサインイン方式
危険な操作 自分のワークスペースへの破壊的操作
タブ 決めるもの
メンバー 名簿。メンバー毎の資源・セッション・操作
推論エンジンの利用者 配備の自前エンジンを役割(チャット llm・画像生成 image)ごとに、全メンバーに開くか、チェックしたメンバーだけにするか(配備管理者がテナントに許した範囲の中で)
セッション いまテナント内で動いている全部
上限・自動停止 効いている上限(読み取り専用。決めるのは配備管理者)
利用枠ボード テナントのメンバーが利用上限の状況を公開できるかどうか(既定はオン。オンでも各メンバーは自分で選ぶまで非公開)
サインイン方式 自社の IdP や GitHub 組織を入口にする(承認が要る)
サインイン規則 効いている参加方式とドメイン(読み取り専用)
接続元の制限 メンバーがどこから接続してよいか。同じ画面にある MCP OAuth の欄で、外のアプリが OAuth でテナントに接続してよいかも決める(MCP サーバーを全員に配る)
連携アプリの OAuth テナント自身の GitHub / Bitbucket OAuth アプリ
MCP 配布 全メンバーへ渡す連携サーバー
ブランチ命名ルール 新しいブランチの名前と起点の、テナントとしての既定(リポジトリのパターンごと・JSON の一覧)。メンバーのワークスペースは 5 分以内に取り込む。助言のみ——外れた名前は警告になるだけで拒否されない
ウォッチのソース メンバーが自分の MCP サーバーをウォッチのソースにできるか。ブロック(既定)だと設定を断り、テナントのソースをすべて止める(MCP サーバーをウォッチのソースに許可する)
外部からのメモリ利用 メンバーが /mcp(またはメモリ専用の /mcp/memory)経由で Agent Fleet の外のエージェントから自分のメモリを使えるか。許可(既定)ならメンバーが各自で有効にでき、ブロックするとテナント全体からメモリのツールを引き上げる(外部からのメモリの利用を許可する)
メンバーの既定 初回のようこそカードが「エージェントを接続」で名指しするエージェント(Claude・Codex・opencode・Cursor・Copilot・Kiro・Muse・指定しない)。メンバーは Console を読み込むたびに読む。案内のみ——ほかのエージェントで接続しても手順は完了になる(メンバーの既定値を決める)
監査 誰が・いつ・何を変えたか
稼働時間 メンバー毎のワークスペース稼働時間(書き出し可)+テナント全体の時間別ヒートマップ
クラウド費用 テナントのクラウド費用をメンバーごとに。AWS で動く配備だけ(稼働時間とクラウド費用を見る)
推論エンジンのモデル 自前エンジンへモデルを足すモデルカタログを開く(配備管理者がテナントにモデルの取り込みを許した場合だけ。モデルの有効化は配備管理者のまま)

盾アイコンの管理で、見えるのは配備管理者だけです(roles.ja.md)。左のレールは テナント・ 配備全体・横断で見る の 3 グループです。項目によっては、対応する配備にしか出ません: スロットは ecs-ec2 ターゲット、推論エンジンと API トークンは Control Plane がエンジンのパネルを提供している配備、 クラウド費用は AWS です。

項目 決めるもの 詳細
テナント一覧 テナントの作成。各テナントの上限とアイドル自動停止、自前エンジンの利用可否とモデル取り込みの許可、メンバー インストールする
サインイン方法の登録簿 テナントが自分で定義したサインイン方式の承認 テナント独自のサインインを承認する
通信 ワークスペースからの外向き通信: 観測(log-only)か enforce か、許可リスト、メンバーの申請 外向きの通信を制御する
MCP ログイン許可ホスト MCP OAuth サーバーが信頼するクライアントのホスト(配備全体) MCP のサインインを運用する
読み上げ 音声エンジンのモードと、共通の読み仮名辞書 読み上げエンジンを動かす
見た目 この配備の色とラベル。ほかの配備と見分けるため 複数のデプロイを見分ける
開発用ログイン プレビュー用サブドメイン上のアプリ向けの、開発用 OIDC IdP のスイッチ 開発用サインインを使う
推論エンジン 自前エンジンのモード・GPU クラス・モデルカタログ・状態と稼働実績 自前の GPU で推論エンジンを動かす
API トークン モデル取り込み用の Hugging Face と Civitai のトークン、Civitai Red のスイッチ 推論エンジンにモデルを取り込む
スロット ecs-ec2 のスロットプール: スロットの入れ替え、動かなくなったスロットの強制停止 スロットを入れ替える・止める
セッション・稼働時間・クラウド費用・監査・MCP 配布 テナントの各画面を、全テナント横断で見る admin/

Control Plane の起動前に設定します。注釈つきの一覧は deploy/compose/.env.example で、ほとんどの変数を載せていますが全部ではありません。ここには「他の全部の形を決めてしまう」ものだけを挙げます。

変数 決めるもの
AF_RUNTIME 配備形態(deploy-targets.md)。不明な値は起動時に拒否される
AUTH サインインの方式。oauth(CP 内蔵)/ proxy(前段のゲートウェイ)/ dev(サインインなし・単独)。既定値はなく、未設定だと Control Plane は起動を拒否する(native は dev を使う)。Docker やクラウドで dev を使うには AF_ALLOW_INSECURE_DEV_AUTH=1 も必要で、PUBLIC_BASE_URL が https のときは拒否される
DATA_DIR 永続する状態がすべてここにあるため、バックアップすべき対象
AF_MASTER_KEY at-rest 暗号の根。失うと保存済みの資格情報は復元できない
AF_KEY_CUSTODIAN 保存時の鍵を誰が持つか: local(既定。AF_MASTER_KEY から導く)か kms(AWS KMS。AF_KMS_KEY_ID と組で。保存時の鍵を AWS KMS にする)。未知の値や不足は起動時に拒否
AF_WORKSPACE_DEK derived(既定)か random: メンバーのホームごとに KMS で封じた専用の鍵を持たせる。移し替えた資格情報ストアは AF_MASTER_KEY から導いた鍵では開けなくなり、KMS 鍵を無効化すると Control Plane は鍵を開けなくなる(ワークスペースとランタイムにすでに渡した写しでは今も開ける)。random は AF_KEY_CUSTODIAN=kms が前提で、無効にしても元には戻らない(ホームごとに鍵を分ける)
SUPER_ADMIN_EMAILS 誰が配備管理者か
PUBLIC_BASE_URL 利用者が到達する URL。OAuth のコールバックもここから組み立てる
WS_MEMORY ワークスペースの既定メモリ上限
AF_PREVIEW_DOMAIN プレビュー用サブドメイン(<ワークスペース>-<ポート>.<ドメイン>)の親ドメイン。そのためのワイルドカードの DNS 名と証明書が要る。未設定ならプレビュー用サブドメインは無く、Console 自身のプレビューのパスだけになる。AF_COOKIE_SECRET と PUBLIC_BASE_URL も一緒に設定する。どちらかが無いと、プレビューのサインインを信頼できないか戻る先の Console が無いため、Control Plane が起動時に警告する
AF_DEV_IDP 0 にすると、開発用ログイン(プレビュー用サブドメイン上のメンバーのアプリが Google の代わりにサインインに使える、Console のオリジン上の OIDC プロバイダ)を、配備管理者のスイッチにかかわらずオフに固定する。未設定ならそのスイッチに従い、スイッチは既定でオン。提供するのは AF_PREVIEW_DOMAIN と PUBLIC_BASE_URL があるときだけ
AF_MCP_ENABLED true で /mcp エンドポイントとメモリ専用の /mcp/memory(Personal Access Token)を提供する。それ以外(1 を含む)はオフ。テナント単位のメモリのスイッチ(外部からのメモリの利用を許可する)は別の、もっと狭いスイッチ
AF_MCP_OAUTH 1 で、Control Plane が /mcp の OAuth 認可サーバーにもなり、ホスト型のクライアントはメンバーのサインインで接続できる。AF_MCP_ENABLED=true と https の PUBLIC_BASE_URL が要り、どれか欠けると OAuth のパスは 404。各テナントは自分の分をオフにもできる(MCP サーバーを全員に配る)。残りは MCP のサインインを運用する
AF_GITHUB_WEBHOOK_SECRET このデプロイの GitHub App の Webhook シークレット。設定すると、Control Plane は App の配信を /webhooks/github で受け付ける(App の Webhook URL は <PUBLIC_BASE_URL>/webhooks/github)。受けた配信は、実行中の Workspace に「公開リポジトリのプルリクエストを早めに確認して」と知らせるためだけに使う。未設定ならこのエンドポイントは存在せず、ウォッチはポーリングだけで動く。プライベートリポジトリの配信はこの経路では無視する。配信の中身は何も渡さない。
AF_MCP_OAUTH_TRUSTED_HOSTS MCP OAuth が信頼するクライアントのホスト、または https://host/path の URL プレフィックス(カンマ区切り。ホスト名だけなら全パス)。既定は https://claude.ai/api/mcp/auth_callback・claude.com・chatgpt.com、none でループバックのクライアントだけ。管理モーダルの MCP ログイン許可ホスト で保存した一覧がこの変数に優先する(MCP のサインインを運用する)
AF_EFS_BACKUP 手で設定しない。ecs / ecs-ec2 で update.sh と standup.sh が ingress スタックの EfsBackup パラメータ(present・off・missing)から埋め、missing なら管理画面に「日次の EFS バックアップがない」バナーが出る(アップグレードする)
AF_SESSION_IDLE_TIMEOUT・AF_WS_IDLE_TIMEOUT・AF_BACKGROUND_HOLD_MAX・AF_WORKSPACE_START_DEADLINE アイドルのセッションと Workspace を止めるタイミング。既定値は 上限、動きは アイドル停止と強制停止を使う

ECS のスタックは自由形式の環境変数を受け付けません。Control Plane の変数がタスクに届くのは、30-ingress.yaml のパラメータ経由だけです。下のパラメータはどれも既定が空(または off)で、空なら環境変数を足さないので、 Control Plane は自分の既定値のままです。

変数 スタックのパラメータ
AF_SESSION_IDLE_TIMEOUT・AF_INTERACTION_IDLE_TIMEOUT・AF_WS_IDLE_TIMEOUT・AF_PRESENCE_IDLE_TIMEOUT・AF_BACKGROUND_HOLD_MAX・AF_WORKSPACE_START_DEADLINE・AF_USAGE_SAMPLE_INTERVAL SessionIdleTimeout・InteractionIdleTimeout・WsIdleTimeout・PresenceIdleTimeout・BackgroundHoldMax・WorkspaceStartDeadline・UsageSampleInterval(Go の期間表記。0 でそのタイマーを止める)
AF_GITHUB_LOGIN_CLIENT_ID・AF_GITHUB_LABEL_JA・AF_GITHUB_LABEL_EN・AF_GITHUB_MEMBERSHIP_TTL・AF_GITHUB_MEMBERSHIP_GRACE GithubLoginClientId・GithubLabelJa・GithubLabelEn・GithubMembershipTtl・GithubMembershipGrace
AF_LLM_URL・AF_COMFY_URL・AF_REMOTE_ENGINE_URL・AF_REMOTE_ENGINE_KEYS LlmUrl・ComfyUrl・RemoteEngineUrl・RemoteEngineKeys
AF_GITHUB_LOGIN_CLIENT_SECRET・AF_COMFY_API_KEY・AF_REMOTE_ENGINE_TOKEN スイッチ GithubLoginSecret・ComfyApiKey・RemoteEngineToken(on)。値は SSM SecureString の <SsmPrefix>/github-login-client-secret・/comfy-api-key・/remote-engine-token から読むので、先に作っておきます

WS_ENV には ECS 用のパラメータを意図して用意していません。自由形式の KEY=VAL で、秘密の値も平文の環境変数に載るためです。パラメータは 30-ingress.yaml に対する個別の aws cloudformation deploy で設定します(update.sh が上書きするのは ImageTag と、ほかのスタックから読む事実 EfsBackup・WorkspaceSubnets・EgressProxyAddr・EgressTokenSecretArn・EgressArchiveBucket だけです)。 詳しくは deploy/aws/ecs/cfn/PARAMETERS.md。 LAN のエンジンに ECS から届くのは、VPC にそこへの経路(VPN やピアリング)がある場合だけです。