Memories / ドキュメント

このページの内容

デスクトップ設定(Windows、Linux、macOS)

Memories は、秘密情報を含まないローカル設定を UTF-8 の TOML ファイルから読み込みます。CLI、デーモン、Windows トレイ、macOS メニューバーアプリ、WebUI は同じ設定ローダーを使用します。リリースアーカイブには memories.example.toml が含まれ、ソースのテンプレートは crates/cli/assets/memories.example.toml にあります。

作成と確認

memories config path
memories config init
memories config show

config init は通常の設定場所にコメント付きのサンプルを作成します。既存のファイルを上書きすることはありません。config path は選択された正確な場所を表示し、config show は暗号化ストアを開いたり作成したりせずに有効な値を表示します。開発用に別の設定を保持するには、次のようにします。

memories config init --output ./development.toml
memories --config ./development.toml config show
memories --config ./development.toml daemon
memories --config ./development.toml tray

設定ファイルの選択順序は --config、MEMORIES_CONFIG、OS のデフォルトです。カレントディレクトリのファイルが暗黙的に検出されることはありません。明示的に選択したファイルが存在しない場合、config init で作成するときを除きエラーになります。

プラットフォーム デフォルトの設定ファイル
Windows %APPDATA%\memories\memories\config\config.toml
Linux $XDG_CONFIG_HOME/memories/config.toml、または ~/.config/memories/config.toml
macOS ~/Library/Application Support/app.memories.memories/config.toml

現在のアカウントの正確なパスは memories config path で確認してください。リリースをインストールまたは起動しただけでは、個人設定は作成されません。

設定項目

# Windows example: storage_dir = "D:/MemoriesData"
storage_dir = "~/MemoriesData"
relay_url = "wss://relay.example.com"

[desktop]
port = 0
open_browser = true
キー 意味 環境変数による上書き コマンドラインによる上書き
storage_dir 暗号化ストアとローカル状態を格納するディレクトリ MEMORIES_HOME --home PATH
relay_url sync send と sync receive のデフォルトのリレーベース URL MEMORIES_RELAY_URL --relay URL
desktop.port ループバックダッシュボードのポート。0 は空きポートを選択 MEMORIES_WEBUI_PORT tray/webui --port PORT
desktop.open_browser トレイ/WebUI の起動時にブラウザーを開く MEMORIES_OPEN_BROWSER(true/false または 1/0) --open または --no-open

各設定では、コマンドラインオプション、環境変数、TOML の値、組み込みのデフォルトの順に優先されます。storage_dir がない場合、既存の OS データディレクトリは変わりません。組み込みの公開リレーはありません。ブラウザーを開く設定のデフォルトは true、ダッシュボードポートのデフォルトはゼロです。

相対 storage_dir パスは、シェルの作業ディレクトリではなく設定ファイルのある場所を基準に解決されます。先頭の ~/ は現在のユーザーのホームに展開されます。Windows のパスにはスラッシュまたは TOML のリテラル文字列を使用してください。この設定を変更すると別のストアが選択されますが、既存データの移行やコピーは行われません。ストレージやデスクトップ設定を変更した後は、デーモンとトレイを一緒に再起動してください。トレイは選択した設定と解決済みのストアを、子プロセスのプローブやデーモン起動に引き渡します。

言語は引き続き既存の --lang、MEMORIES_LANG、memories language 設定で制御されます。保存された言語は設定済みのストアディレクトリから読み込まれます。WebUI にも独自のブラウザー言語セレクターがあります。

リレーの例

memories --config ./development.toml sync receive --room ROOM
memories --config ./development.toml sync send VAULT_ID RECIPIENT_DEVICE_PUBLIC_KEY --room ROOM
memories sync receive --relay wss://another-relay.example.com --room ROOM

リモートリレーには wss:// のみ使用できます。ループバックでの開発(localhost、127.0.0.1、::1)では ws:// が許可されます。URL にユーザー名/パスワードを含めることはできません。既存のリレープロトコルがルームとスロットからチャネルパスを決定します。リレーを設定しても、自動リレー同期が有効になったりリレーサーバーが起動したりすることはありません。明示的な送受信操作のデフォルトアドレスを指定するものです。

このファイルは暗号化されません。パスワード、秘密鍵、OAuth トークン、MCP グラントは既存の保護された仕組みに保存し、このファイルには決して保存しないでください。不明なキー、不正な値、形式の壊れた TOML は、別のストアへ黙って切り替わるのではなく、安全側に倒して失敗します。設定エラーメッセージに TOML ソースの値は表示されません。

検索とモデルの設定

同じファイルで [rag]、[rag.http]、および任意の [rag.embedding]、[rag.generation]、[rag.rerank] セクションを使用できます。これらはプロセス内の EmbeddingGemma モデルディレクトリ/CPU スレッド、利用者が選択した API URL とモデル名、API キーの環境変数名、プロキシ、タイムアウト、再試行を設定します。生成にはデフォルトのエンドポイントがなく、埋め込みはデフォルトでローカルモデルを使用します。すべての設定については検索と RAGおよび同梱のサンプルを参照してください。これらの設定を変更した後はデーモンを再起動してください。トレイはデーモン起動時に設定パスを引き渡します。モデルのキーはその環境で利用可能である必要があります。

リモートデーモンの待ち受け(TOML 外)

HTTP/リレー RPC の待ち受けトークンを設定ファイルに入れてはいけません。フラグまたは環境変数のみを使用してください。

用途 フラグ 環境変数
デーモンの HTTP/WS 待ち受け daemon --listen http(s)://HOST:PORT —
任意の TLS daemon --tls-cert PATH --tls-key PATH —
デーモンの待ち受けトークン daemon --listen-token MEMORIES_LISTEN_TOKEN
非ループバックのバインド daemon --allow-non-loopback —
デーモンのリレーホスト daemon --relay-host URL --room ROOM —
CLI の直接接続 --daemon URL(http(s)://、ホストとポートを指定) MEMORIES_DAEMON
CLI のリレー接続 --daemon-relay URL --daemon-room ROOM MEMORIES_DAEMON_RELAY / MEMORIES_DAEMON_ROOM
CLI の接続トークン --daemon-token MEMORIES_DAEMON_TOKEN

HTTP/WebSocket の待ち受けの詳細についてはリモートデーモンを参照してください。

認可 Center

このセクションはデスクトップのデーモンと CLI を設定します。スマートフォンの Standalone、Center、SaaS の選択は別のアプリ設定です。モバイルのモード選択を参照してください。

任意の [[centers]] エントリー(id、url、public_key、任意の mode)を指定すると、エンドポイントは Center 管理になり、初期化/復元とローカル MCP グラントが拒否されます。デフォルトは mode = "ticket" です。署名付きチケットで memories center enroll / import-grant を使用してください。代わりに mode = "saas" エントリーをちょうど 1 つ指定すると、MEMORIES_CENTER_TOKEN を使用してデーモンのコンテンツをホスト型 Center に接続できます。並行するローカル登録/コンテンツ経路は作成されません。Center への直接 CLI 呼び出しには MEMORIES_CENTER_URL / MEMORIES_CENTER_TOKEN を、管理操作には MEMORIES_CENTER_ADMIN_TOKEN を使用します。署名用の秘密情報とベアラートークンは環境変数に保持し、TOML には決して保存しないでください。Centerを参照してください。

省略されたグラントスコープは、Center チケットと静的なホスト型グラント仕様を含め、現在はデフォルトで read になります。ローカルの Admin/Owner によるグラント発行とチケットインポートには、アンロックされたボールトが必要ですが、ターミナルの権限昇格は必要ありません。発行はボールトのロール、および親グラントのスコープと有効期限によって制限されます。allow_all を明示的に選択できるのは Owner のみです。ベアラートークンは TOML の外に保持します。メンバーシップの変更により影響を受ける委任グラントが失効し、ロックによりすべてのローカルグラントが消去されます。RPC 名、権限リクエスト、アクセス一覧、監査の互換性、動作変更については認可を参照してください。

ホスト型モードでは、memories-center --data DIR(環境変数 MEMORIES_CENTER_DATA)は永続的なリクエストメタデータを DIR/requests.json に、追記専用の SHA-256 監査チェーンを DIR/audit.jsonl にも保存します。両方の Unix モードは 0600、DIR のモードは 0700 です。既存の DIR/members.json には引き続き平文の永続ベアラー認証情報が含まれます。3 つのファイルすべてとそのバックアップを保護し、決してコミットしないでください。新しいパスワード、トークン、監査設定を TOML に入れるべきではありません。監査/リクエスト/メンバーの保存失敗はサーバーをロックし、restart_required を設定します。リモートからのアンロックではこの状態を回避できません。オペレーターが保持するパスワードで修復し、再起動してください。

ホスト型メンバーの HTTP 本文は任意の role=reader|editor|admin|owner を受け付けます。ロールを省略すると既存のスコープからロールへのマッピングが維持されます。POST /v1/grants のデフォルトは scope=read、duration_minutes=30(別名 minutes)で、Admin/Owner が必要です。POST /v1/requests は duration_minutes(別名 duration)と任意の approvers を使用し、GET /v1/requests は保留中の作業を一覧表示します。GET /v1/access/{vault} と GET /v1/grants はトークンを含まないアクセスメタデータを公開します。GET /v1/audit?vault=NAME は検証済みエントリーを絞り込み、GET /v1/audit?format=jsonl はオペレーターが閲覧できる完全なログをエクスポートします。これらの認可ルートは既存のホスト型/管理ベアラートークンを使用し、新しい環境変数は使用しません。メンバー削除/スコープ変更は、固定された発行世代を通じて過去に発行されたすべてのグラントを無効化します。静的/永続的な認証情報は移行時に再確立されます。正確なルート、レスポンスフィールド、監査チェーンの制限についてはCenterを参照してください。

モバイルのモード選択

初回起動時にモードを選択し、その後はメインツールバーのモードを切り替えを使用します。この選択を変更しても、アプリは MEMORIES_CENTER_URL / MEMORIES_CENTER_TOKEN を読み込んだり [[centers]] を編集したりしません。

アプリのモード エンドポイント 保存されるコンテンツ
Standalone FFI 経由のローカル Rust サービス スマートフォン上の既存の暗号化ライブラリー
Center ユーザーが入力したホスト型 Center のオリジン そのサーバーのホスト型ストア
SaaS 固定の https://memories.ivjn.us SaaS のホスト型ストア

Center URL はループバック以外では HTTPS を使用する必要があり、ユーザー名、パスワード、ルート以外のパス、クエリー、フラグメントを含めることはできません。/v1/rpc ではなくサーバーのオリジンを入力してください。スマートフォンのループバックアドレスは、開発用コンピューターではなくスマートフォン自体を指します。

秘密情報を含まない設定 memories.app-mode.v1 は standalone、center、saas のいずれかを保存します。値がない場合や不明な値の場合はモード選択画面を表示します。接続プロファイルは flutter_secure_storage により memories.hosted.center.connection.v2 と memories.hosted.saas.connection.v2 の下に保存される JSON オブジェクトで、それぞれ url とその bearer を結び付けます。新しい接続に成功した場合、リクエスト一覧を読み込めた後にのみこの組を保存します。切断すると URL を保持したままベアラートークンを削除します。モード切り替えでは後で使用できるように両方のプロファイルを保持します。

アップグレード時、従来の memories.hosted.url.v1 / memories.hosted.bearer.v1 の組は、そのモードに新しいプロファイルがない場合にのみインポートされます。末尾のスラッシュが任意で付いた、完全に一致する https://memories.ivjn.us URL は SaaS に属し、それ以外の URL は Center に属します。移行後に従来の組は削除されます。SaaS は、URL が別の場所を指す保存済みトークンでは再接続しません。

ホスト型モードを開くと、保存済み接続があれば復元します。バックグラウンドに移行した後は、現在のページで保存済みセッションに再接続するか、新たにログインする必要があります。切り替えでライブラリーのコンテンツが移行されたり、サーバーのメンバーシップが変更されたり、サーバー発行トークンが失効したりすることはありません。機能の比較と接続のトラブルシューティングについてはモバイルの使用方法を参照してください。

クライアント CLI のデフォルト

config.toml とは別に、CLI は任意の秘密情報を含まないコマンドのデフォルトを defaults.json に保存します。このファイルは Memories ホーム(storage_dir / MEMORIES_HOME / --home)配下にあります。

memories default set KEY VALUE
memories default get [KEY]
memories default delete KEY

キー: persona、vault、type、category、daemon、daemon_relay、daemon_room。 これらはボールトの秘密情報ではありません。パスワードや MCP グラントトークンをここに入れないでください。