ドキュメント
ランタイム構成
実際に各ランタイムを制御するプロセス、データ ディレクトリ、資格情報の種類、および統合設定を選択します。
英語から自動翻訳されています。 英語の原文を見る
構成所有者
サイドカーは環境設定を読み取ります。 AppConfigService で apps/sidecar/src/config.ts。レイヤーは構築時にこれらの値を読み取り、AppConfig 値を必要とするサービスに渡します。親シェル変数を変更しても、すでに実行中のサービスは変更されません。
Tauri は、子の起動時に独自の起動トークンとアプリケーション データ/移行パスを提供します。ブラウザ プレビューは Vite 側の接続変数を使用します。モバイルは、ペアになったデスクトップ接続とデバイスの資格情報を保存します。ドキュメント サイトには、別個の Worker バインディングと独立したローカル Studio プロセスがあります。これらはユニバーサル構成ファイルを共有しません。
変更する動作の所有者を構成します。たとえば、CLI 移行 URL を設定してもネイティブ デスクトップ データベースはリダイレクトされず、ドキュメント アシスタントを構成してもデスクトップ AI プロバイダーの資格情報は提供されません。
独立したサイドカーを開始する
CADCAMFUN_TOKEN=local-development-token \
CADCAMFUN_DATA_DIR=/tmp/cadcamfun-config-example \
CADCAMFUN_MIGRATIONS_DIR="$PWD/packages/db/drizzle" \
CADCAMFUN_AI_HOST=direct \
CADCAMFUN_AI_OFFLINE=1 \
bun --no-env-file apps/sidecar/src/main.ts これは、使い捨てディレクトリとサンプル開発トークンを使用します。独自のプロセスに適切なトークンを選択してください。サーバーは、割り当てられたポートでループバックをバインドします。そのポートをreadyイベントから読み取ります。標準入力を閉じるとシャットダウンが通知されるため、標準入力は開いたままにしてください。このコマンドは意図的に設定を明示的に渡し、Bun の環境ファイルの自動ロードを無効にします。
通常のネイティブ ループの場合は、次を使用します。 bun run desktop:dev。 Tauri を起動する前に、サイドカー バイナリと移行を準備します。Tauri は、結果として生じるプロセス接続を所有します。 2 番目の手動サイドカーを開始して、ネイティブ Web ビューがそれにアタッチされると想定しないでください。
必要な接続とストレージの設定
| 設定 | デフォルト | 行動 |
|---|---|---|
CADCAMFUN_TOKEN | 必須 | 保護されたローカル API ルートのアプリケーション ベアラー資格情報を編集しました。 |
CADCAMFUN_DATA_DIR | 必須 | サイドカーで管理されるローカル状態のルート。データベースは cadcamfun.db その下にあります。 |
CADCAMFUN_MIGRATIONS_DIR | 不在 | データベース層に渡される移行ディレクトリ。これがないと、データベースを開いてもアプリケーション テーブルの作成やアップグレードが行われません。 |
CADCAMFUN_APP_URL | 構成に存在しません | アカウントリンク統合に提供されるベース URL。関連するサービスがフォールバックを決定します。 |
CADCAMFUN_DEBUG_LINKS | 間違い | アカウント リンクをサポートするハンドラーで、アカウント リンクの開発応答フィールドを有効にします。 |
データ ディレクトリはストレージ ルートであり、HTTP バインド アドレスではありません。メインサーバーのリスナーは次のように固定されています。 127.0.0.1 一時的なポートを使用します。コンパニオン ネットワーキングは、明示的に有効になっている独自の HTTPS ゲートウェイを使用します。 URL 設定を変更しても、ループバック リスナーは公開されません。
構成された移行ディレクトリをバイナリと一致させてください。移行を計画、バックアップ、または適用できない場合、準備が整う前に起動に失敗する可能性があります。データベース リファレンスでは、トランザクションとバックアップの動作について説明しています。マイグレーションを省略した後にテーブルが欠落している場合は、プロジェクトが削除されたという証拠ではなく、構成の問題です。
アプリケーション トークンは編集された値として読み取られ、構成ログには表示されません。このページのすべての設定は 1 回読み取られます。 apps/sidecar/src/config.ts;変更された値は、サイドカーが再起動された後にのみ有効になります。
AI ホストと接続
| 設定 | デフォルト | 行動 |
|---|---|---|
CADCAMFUN_AI_HOST | nikcli | 選択 nikcli または direct。直接ホストは、組み込みの永続ツール ループと専門スケジューラを追加しません。 |
CADCAMFUN_AI_OFFLINE | 間違い | ネットワーク プロバイダー カタログの読み込みとライブ Web 検索ハンドラーを無効にします。これはローカル モデルの実装ではありません。 |
CADCAMFUN_AI_MINIMAX_BASE_URL | 不在 | 組み込み MiniMax 構成用のオプションのトリミングされたエンドポイント オーバーライド。 |
プロバイダー キーは認証情報 API によって管理され、AI サービスによって永続化されます。 <dataDir>/ai/credentials.json。これらは、すべてのプロバイダーに対して文書化されていない環境変数を作成することによって提供されるものではありません。プロバイダー/モデルのステータス エンドポイントを使用して、構成内容と AIガイド サポートされているダイレクトモデルルーティング用。
オフライン モードでは、クラウド プロバイダーへの通話がオフライン応答に変わりません。構成された直接モデルまたは埋め込みモデルでも、推論のためにプロバイダー接続が必要な場合があります。ローカルファースト製品は、モデル接続なしでローカル プロジェクトを保持します。このストレージ プロパティは、オフライン AI 推論とは異なります。
オペレータ ポリシーは次からロードされます <dataDir>/ai/policy.json。組み込みホストは、アプリケーションの AI ストレージの下に独自の作業/構成ディレクトリを分離します。ポリシー、資格情報、セッション コンテキスト、およびプロバイダー カタログ キャッシュにはさまざまな目的があります。 1 つのファイルをコピーしても、会話のランタイム全体が再構築されるわけではありません。
アカウントと請求の統合
| 設定 | 使用 | 欠席時 |
|---|---|---|
STRIPE_SECRET_KEY | アウトバウンドストライプ API 認証。 | 有料チェックアウトと請求ポータルの統合は利用できません。 |
STRIPE_WEBHOOK_SECRET | 署名された Stripe Webhook ペイロードを検証します。 | Webhook ハンドラーは、検証構成がないと取り込みを拒否します。 |
STRIPE_PRICE_BASIC, STRIPE_PRICE_PRO, STRIPE_PRICE_ENTERPRISE | 有料プランの価格 ID。空白の値は無視されます。 | マッピングが欠落していると、そのプランに設定されたチェックアウト価格を識別できません。 |
CRON_SECRET | cron メンテナンス用の追加の共有認証情報。 | そのガードには追加の cron シークレットは必要ありません。申請書の持参者の入場は引き続き適用されます。 |
ADMIN_EMAIL | アカウント/サービス ポリシーで使用される管理者 ID。 | ローカル インストールのプロファイルは、そのサービスによって実装されるローカル管理動作を保持します。 |
これらの設定により統合が構成されます。リモート アカウント、価格、サブスクリプション、または Webhook 配信が存在することは確立されません。操作の実際の失敗と実行中のサービスのステータスを確認してください。テーブルの存在が、関連するホスト機能が完全に構成されていることを意味すると推測しないでください。
AppConfig インターフェイスには、置換モデル ファクトリや Stripe API ベースなどのテスト挿入フックも含まれています。これらは、この実稼働構成レイヤーによって読み取られる環境変数ではありません。実行中のホストがテスト フックを明示的に公開しない限り、デプロイメント手順にテスト フックを含めないでください。
請求トライアル ルートは 14 日から始まります PRO トライアル (TRIAL_DAYS で apps/sidecar/src/repos/billing-repo.ts、によって使用されます http/billing.ts)。利用可能なプランは、 FREE, BASIC, PRO、 そして ENTERPRISE; 3 つの有料プランのみがかかります STRIPE_PRICE_* 設定。
ログとテレメトリ
OTEL_EXPORTER_OTLP_ENDPOINT サイドカーの OTLP/HTTP トレース、メトリック、およびログ エクスポーターを有効にします。空白でないエンドポイントがないと、このオプションのテレメトリ レイヤーは無効になります。エクスポータ コードは信号固有のエンドポイントを構築します。これらの信号をサポートするコレクターを構成します。
通常のサイドカーのログはテレメトリのエクスポートとは別のものです。標準出力は、シェルによって消費される JSON 準備/エラー プロトコルを伝送しますが、ログは標準エラー出力に送信されます。起動を診断するときは、アプリケーション ウィンドウに初期化の詳細がすべて含まれることを期待するのではなく、最初の関連エラーとその操作コンテキストを保持してください。
診断バンドルには、起動トークン、プロバイダー キー、セッション トークン、または完全な認証情報ファイルを含めないでください。通常、ソース パス、メソッド/ステータス、エンドポイント ID、非機密プロジェクト ID、および失敗したデータベース操作は、より安全で有用な開始点となります。
クライアント構成
ブラウザーのみのデスクトップ プレビューは、次の場合に偽のメモリ内 API を使用します。 VITE_SIDECAR_URL は不在です。手動で開始したサイドカーに接続するには、その URL を設定し、 VITE_SIDECAR_TOKEN viteを始める前に。パッケージ化された Tauri パスは、代わりにシェルから接続を取得します。
VITE_SIDECAR_URL=http://127.0.0.1:READY_PORT \
VITE_SIDECAR_TOKEN=local-development-token \
bun run --filter @cadcamfun/desktop dev ポートのプレースホルダーを置き換えます。 Vite settings belong to the frontend development process; changing them does not restart or reconfigure the sidecar.ブラウザ アクセスは、サイドカーのループバック/Tauri CORS ポリシーと通常のベアラー アドミッションの対象となります。
モバイル ペアリングは、モバイル アプリケーションを通じてデスクトップ アドレス、証明書フィンガープリント、デバイス トークンを保存します。デスクトップの起動トークンを変更することは、電話をペアリングする通常の方法ではありません。を使用します。 ペアリング手順 必要に応じて個々のデバイスを取り消します。
データベースパスの選択
| プロセス | 選択ルール |
|---|---|
| ネイティブデスクトップサイドカー | Tauri が提供するアプリケーション データ ディレクトリ、その後 cadcamfun.db. |
| 手動サイドカー | CADCAMFUN_DATA_DIR/cadcamfun.db. |
| データベース移行 CLI | DATABASE_URL、イニシャルを削除 file:;それ以外の場合はプロセス相対 ./data/cadcamfun.db. |
根 db:migrate ラッパー | DB パッケージ スクリプトを実行するため、デフォルトは次の範囲内で解決されます。 packages/db. |
| ドキュメンテーションスタジオ | CADCAMFUN_DB、 それから DATABASE_URL、次にリポジトリのルート data/cadcamfun.db。ファイルは存在する必要があります。 |
したがって、空のプロジェクト リストは、別の有効なデータベースを開いた可能性があります。移行を変更したりデータをコピーしたりする前に、プロセスと選択した絶対パスを記録します。アカウント セッションでは、ファイルを変更せずに、表示されるリソースを変更することもできます。
変更を適用して確認する
- 所有者プロセスと現在のストレージ パスを特定します。ストレージの変更や移行の前に、必要なデータを保存します。
- そのプロセスを完全に停止し、明示的な起動構成またはネイティブ設定を更新します。
- 再度起動し、実際の準備完了の結果を待ちます。古いポートを再利用する代わりに、新しい接続を解決します。
- 公衆衛生上の呼び出しと許可された保護された呼び出しを確認します。
- 特定の動作を確認します。目的のプロジェクトが表示されるか、プロバイダーのステータスが変化するか、ゲートウェイに到達可能になるか、構成されたテレメトリ コレクターが予期した信号を受信します。
構成された値が存在することは、外部統合が機能していることと同じではありません。変更を加えた後にサービス結果を読み取ります。デフォルトの構成値は、受信サービスがフォールバックを決定するオプションの値とは区別する必要があります。
構成診断
準備が整う前に初期化が失敗した場合は、必要な設定、移行の可用性、ディレクトリ アクセス、および最初のレイヤー構築エラーを調べてください。正常性は成功したが、保護された呼び出しが失敗した場合は、トークンの種類と現在のプロセスを確認してください。プロジェクトの動作中にプロバイダーに障害が発生した場合は、データベースをリセットするのではなく、AI 構成を検査します。
Studio がホストされているサイトで利用できない場合、本番 API は意図的に 503 を返します。選択した既存のファイルに対してローカルの Bun プロセスを開始します。ドキュメント アシスタントが利用できない場合は、ワーカー バインディングまたはその構成された nikcli バックエンドを調べてください。どちらの診断でも、デスクトップ認証情報を置き換える必要はありません。
出典証拠: apps/sidecar/src/config.ts, layers.ts, main.ts, observability.ts, services/ai.ts, packages/db/src/migrate.ts、 そして packages/web/script/studio-server.ts.
1 つのテーブルですべてのサイドカー設定を行う
AppConfigService サイドカー内で環境を読み取る唯一の場所です。この表には、読み取られるすべての変数が、読み取られる順序でリストされています。空または空白のオプションの値は、記載されている場合には存在しないものとして扱われます。
| 変数 | タイプ | デフォルト | 使用者 |
|---|---|---|---|
CADCAMFUN_TOKEN | 編集された文字列 | 必須 | 保護されたすべてのルートのベアラーミドルウェア |
CADCAMFUN_DATA_DIR | 弦 | 必須 | データベース、AI ストレージ、プラグイン、コンパニオン、アップロード |
CADCAMFUN_MIGRATIONS_DIR | 弦 | 不在 | データベース層。存在しない場合は、スキーマが作成されないことを意味します |
CADCAMFUN_APP_URL | 弦 | 不在 | アカウントの電子メール内のリンク (従来の NEXTAUTH_URL) |
CADCAMFUN_DEBUG_LINKS | ブール値 | false | 応答内のエコー リセットとマジック リンク (開発のみ) |
CADCAMFUN_AI_OFFLINE | ブール値 | false | プロバイダーのカタログのダウンロードやライブ Web 検索はありません |
CADCAMFUN_AI_HOST | nikcli | direct | nikcli | アシスタントホスト。それ以外の値を指定すると起動に失敗します |
CADCAMFUN_AI_MINIMAX_BASE_URL | ストリング、トリミング済み | 不在 | 組み込みホストの MiniMax エンドポイント |
STRIPE_WEBHOOK_SECRET | 弦 | 不在 | これがないと、Stripe Webhook は拒否されます |
STRIPE_SECRET_KEY | 編集された文字列 | 不在 | これがないと、有料チェックアウトと請求ポータルは利用できません |
STRIPE_PRICE_BASIC, _PRO, _ENTERPRISE | ストリング、トリミング済み | 不在 | 有料プランごとの価格 ID。空白の値は無視されます |
CRON_SECRET | 弦 | 不在 | の共有シークレット /api/cron/*;それがなければ、ルートはローカルアプリに対して開かれます |
ADMIN_EMAIL | 弦 | 不在 | 管理者の電子メール。デフォルトでは、ローカル プロファイルが独自のインストールを管理します。 |
OTEL_EXPORTER_OTLP_ENDPOINT | ストリング、トリミング済み | 不在 | OTLP/HTTP コレクターのベース URL。それがないとテレメトリはオフになります |
報告されたアプリケーション version コードで修正されています (6.0.0)、環境からは読み取られません。
無効な値は起動を停止します
必要な変数が欠落しているか、解析されない値 (たとえば、 CADCAMFUN_AI_HOST=local)、構成レイヤーに失敗します。その後、サイドカーは準備完了行の代わりにエラーを出力し、デスクトップは起動の失敗を報告します。
サイドカー構成の外部で読み取られる変数
| 変数 | リーダー | 目的 |
|---|---|---|
DATABASE_URL | packages/db スクリプトとdrizzle-kitを移行する | 対象者 db:migrate / db:generate;主導的な file: 剥ぎ取られます。デフォルト ./data/cadcamfun.db に対して packages/db. |
CADCAMFUN_DB、 それから DATABASE_URL | Web Studio サーバー (packages/web/script/studio-server.ts) | ローカル Studio が開くデータベース。デフォルト data/cadcamfun.db リポジトリのルートにあります。 |
NIKCLI_LOCALE, NIKCLI_LANGUAGE, NIKCLI_REGION | 組み込みアシスタントホスト | アシスタントの言語と地域をオーバーライドします。 |
LC_ALL, LC_MESSAGES, LANG, LANGUAGE, TZ | 組み込みアシスタントホスト | オーバーライドが設定されていない場合のシステム ロケールとタイム ゾーンの検出。 |
デスクトップ シェルは、起動するサイドカーに 3 つの変数を正確に渡します。 CADCAMFUN_TOKEN (起動ごとに新しいランダムトークン)、 CADCAMFUN_DATA_DIR (アプリケーション データ ディレクトリ) および CADCAMFUN_MIGRATIONS_DIR (バンドルされた移行)。それ以外のものは、デスクトップ アプリ自体が起動された環境に存在する必要があります。
データディレクトリに存在するもの
cadcamfun.db SQLite database (+ -wal / -shm while running)
backups/ pre-migration snapshots, newest five kept
auth-secret signing secret for account session tokens (0600)
auth-revoked.json revoked session tokens
ai/
credentials.json provider API keys (owner-readable only)
policy.json operator policy for the assistant
skills/ user skills
session-owners/ which account owns which assistant session
nikcli/ isolated working and config dirs of the embedded host
plugins/ assistant plugins loaded at startup
plugins-registry/ installed marketplace plugin files
companion/ gateway TLS cert.pem and key.pem (0600)
storage/ file storage for library import/export, entity I/O and plugins
uploads/profiles/ profile pictures
downloads/ files served by /api/download
waitlist.json local waitlist entries ディレクトリは最初の使用時に作成されるため、新規インストールにはその機能が影響したもののみが含まれます。アプリケーションを停止した状態でディレクトリ全体をバックアップします。データベース、資格情報、認証シークレット、およびコンパニオン キーが一緒に属します。ペアリングされたコンパニオン デバイスは、データベースではなく、データベースのキーと値のテーブルに保存されます。 companion/.
ディレクトリをシークレットとして扱う
ai/credentials.json, auth-secret コンパニオンの秘密キーは資格情報です。開発データ ディレクトリをコミットしたり、バグ レポートに添付したりしないでください。
構成例
export CADCAMFUN_TOKEN=dev-$(openssl rand -hex 16)
export CADCAMFUN_DATA_DIR="$(mktemp -d)"
export CADCAMFUN_MIGRATIONS_DIR="$PWD/packages/db/drizzle"
export CADCAMFUN_AI_HOST=direct
export CADCAMFUN_AI_OFFLINE=true
bun --no-env-file apps/sidecar/src/main.ts export CADCAMFUN_APP_URL=http://localhost:4321
export CADCAMFUN_DEBUG_LINKS=true # reset/magic links appear in responses export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318 export STRIPE_SECRET_KEY=sk_test_...
export STRIPE_WEBHOOK_SECRET=whsec_...
export STRIPE_PRICE_PRO=price_... 決して設定しないでください CADCAMFUN_DEBUG_LINKS 開発外: HTTP 応答にアカウント リンクが含まれます。