ローカル運用
Asterel は一人、または小さな信頼済みチームが、自分たちの管理するマシンで運用する前提です。ローカルデーモンが配置の中心です。ゲートウェイ、チャネル、スケジューラー、heartbeat、コンパニオン・ターンのランタイムをまとめて動かします。
cargo run -- daemon --host 127.0.0.1 --port 3000短い直接会話ループには agent を使います。プロダクト形、つまり Discord テキスト、ゲートウェイルート、バックグラウンドタスク、運用者画面が同じランタイムを囲む形を確認するなら daemon を使います。
初回セットアップ中なら、このページの前に 始め方 を読んでください。Discord をつなぐ段階なら、ヘルスチェックのあとに Discord を動かす へ進みます。
onboarding 後、設定問題とランタイム問題を分ける最短のコマンドは次です。
cargo run -- config validatecargo run -- doctorcargo run -- statuscargo run -- channel listdoctor --repair は安全なローカル修復のためだけに使います。問題が外部サービス、認証情報、データベースにある場合は、ランタイムを疑う前に依存先を直します。
durable な cron / scheduler state を使う運用では、ASTEREL_POSTGRES_URL または memory.postgres_url による PostgreSQL 設定が必要です。その状態がない場合、read-only の cron status は scheduled jobs が動いているふりをせず、unavailable / degraded として報告します。
ローカルゲートウェイモデル
Section titled “ローカルゲートウェイモデル”ゲートウェイは既定で 127.0.0.1:3000 に bind します。これは意図的です。管理ルートは公開ルートではなく、/admin/v1/* にはペアリングとテナントスコープが必要です。
Authorization: Bearer <token>X-Asterel-Tenant: <tenant-id>ペアリングはクライアントがデーモンと話す許可です。テナントスコープは、管理ルートがどの運用者ワークスペース文脈に作用するかを示します。これは SaaS テナント境界ではなく、ローカル運用者スコープです。
Discord 運用
Section titled “Discord 運用”Discord テキストは主なプロダクト表面です。運用経路は次です。
Discord event -> チャネルアダプター -> 拾い上げ / 入力方針 -> 共有コンパニオン・ターン -> 返信配信 -> ターン後の記憶・関係更新Discord メッセージが返信を生まない場合は、この順で判断点を見ます。
- Discord bot token と guild / application 制限が正しい。
- チャネルが有効で、運用者状態により無効化されていない。
- メッセージが拾い上げ方針を通る。
allowed_usersを設定している場合、ユーザーが許可されている。- プロバイダーがターンを完了できる。
- 送信前検証器が応答を許可している。
見える活動を得るためだけに拾い上げや許可リストを緩めないでください。公開部屋で前のめりに話すコンパニオンは、プロダクト上の約束を壊します。
デスクトップ運用
Section titled “デスクトップ運用”デスクトップアプリは二次的な運用者コンソールです。デーモンに対して起動します。
cargo run -- daemon --host 127.0.0.1 --port 3000pnpm --dir desktop tauri devデスクトップはガバナンス、診断、セッションレビュー、記憶の確認・訂正・忘却、露出診断、チャネル状態、コンパニオン管理ワークフローに使います。主なユーザー向けコンパニオン表面ではなく、ランタイム状態の所有者になってはいけません。運用者コンソールとしての考え方は デスクトップコンソール を見てください。
記憶レビューの流れ
Section titled “記憶レビューの流れ”振る舞いがずれて見えるとき、すぐプロンプト編集へ飛ばないでください。まず、間違った内容を覚えているのか、正しい内容を間違った文脈で想起したのか、公開してはいけない表面に出したのかを分けます。
compact memory を見る -> provenance を確認する -> correct / forget / approve -> 次のターンで更新後の projection が使われるか確認する公開可能な考え方は 記憶レビュー にまとめています。
便利なローカルゲート
Section titled “便利なローカルゲート”コード変更にはローカル Rust ゲートを使います。
cargo fmt -- --checkcargo clippy -- -D warningscargo check-allcargo testドキュメント変更には次を使います。
pnpm --dir docs buildデスクトップ変更には次を使います。
pnpm --dir desktop exec oxfmtpnpm --dir desktop exec oxlint --react-plugin srcpnpm --dir desktop buildまず変更に合った小さめの焦点ゲートを使います。リリース品質として扱う前には full gate を通します。
健全な運用の形
Section titled “健全な運用の形”健全なローカル配置は次の性質を持ちます。
- デーモンが予期しない設定へフォールバックせず起動する。
- プロバイダー、メモリバックエンド、ゲートウェイ、主チャネルがすべて明示されている。
- Discord メッセージは拾い上げ方針が受け入れたときだけターンになる。
- 受理されたターンは補強、送信前検証、ターン後更新を通る。
- 記憶整理と hygiene が live turn path を止めずに動ける。
- 管理アクセスにはペアリングとテナントスコープが必要。
- デスクトップはランタイム / 管理状態を読む。第二のランタイム正本を作らない。