Choosing a desktop data profile needed `CODENOMAD_PROFILE` or, on a first packaged launch with several restorable profiles, a native question that blocked startup. Settings only named a non-default profile and offered to delete all the other profiles at once. Settings > General > Restore previous state now ends with one folded line, "Data profile: <name>". Unfolded, it lists every profile on the computer, the open one first and the others by last use, each with its size, creation date and last use. A radio chooses the profile the next launch opens (any profile of this configuration; choosing the open one again cancels), "New profile" creates one by name, "Restart in <name>" restarts into the choice, and each other profile has its own delete button with a confirmation. A launch pinned by `CODENOMAD_PROFILE`, its alias or a development run shows the profiles without letting the user choose; deletion still works. Without a remembered choice, a packaged launch no longer asks: it opens the most recently used of the default, `dev` and `dev-v2` profiles (ties go in that order) and remembers it, as it already did with zero or one candidate. A launch that finds the selection lock held opens the detected profile without remembering it instead of waiting. Implementation: the existing host listing gains the open profile, creation (folder birth time, links not followed) and last-use (newest client-state write) dates, the remembered next-launch profile and whether the launch is pinned. Two host operations are added on both hosts, granted to local and Preferences windows only and serialized with list and delete: choosing the next launch's profile (validated with the `CODENOMAD_PROFILE` grammar, written under the selection lock, overwriting this configuration's entry, creating a new profile's scope folder inside the lock and removing it again if the write fails) and restarting through the graceful developer-mode relaunch. Electron's throwaway question storage, relaunch and private hand-offs are removed; it still sweeps leftover question folders and drops the two hand-off variables an older build's relaunch can carry. Tauri keeps only the invalid-profile error dialog. `CODENOMAD_DESKTOP_PROFILE` and the server's `desktopProfile` meta field are removed, since nothing displays them. Only a profile whose name leads back to its own folder can be chosen, so a folder the deprecated alias made under another profile's name (such as default-<hash>) is listed under its stored name but not offered. The listing reports the next launch's profile only when the launch would open it (the launch's own remembered-profile check), and Restart in <name> lists again first and restarts only while that still names the shown profile. Choosing with the keyboard keeps focus on the chosen radio. Validation: UI browser tests for the manager (listing, choose and restart, new profile and name validation, single deletion, macOS note, pinned launches, plain browser), Electron native tests (listing dates, current, next launch, pinned, set-next-launch outcomes, relaunch wiring, preload, automatic choice, lock and sweep) and Tauri tests (the same cases, grants and command wiring). Developer doc and help (10 languages) updated.
11 KiB
デスクトップのウィンドウとデータ
ウィンドウ、タブ、共有サービス
- 新しいインスタンス で、現在のウィンドウに別のプロジェクト/ホームタブを開きます。
- 独立したアプリウィンドウには、ネイティブの ウィンドウ → 新規ウィンドウ(
Ctrl+Shift+NまたはCmd+Shift+N)を使用します。 - 再度起動したとき、新しいウィンドウを開くのではなく最後に使ったウィンドウにフォーカスしたい場合は、設定 → 詳細設定 で 2 回目の起動で既存ウィンドウをフォーカス を有効にします。
プロジェクトタブ、選択中の会話、レイアウトはウィンドウに属します。OpenCode のセッション/メッセージは共有のネイティブ OpenCode サービスに属し、別のウィンドウも同じ会話を見られます。プロジェクトタブを閉じると CodeNomad 内でそのプロジェクトが閉じられますが、セッションは OpenCode で続き、プロジェクトを開き直すと再び確認できます。同じプロジェクト接続を表示している別のウィンドウでもそのタブが閉じられ、通知が表示されます。同じフォルダーを別に開いたタブには影響しません。ウィンドウ全体を閉じる、終了する、再読み込みする場合は、復元のためにプロジェクト接続が保持されます。プロジェクトを参照してください。ウィンドウを閉じたことを、エージェントやスケジュール済みミッションが停止した証拠にしないでください。
ネイティブのアプリケーションメニューは、ウィンドウの読み込み後に CodeNomad のインターフェース言語を使い、それまでは英語で表示されます。ヘルプ → CodeNomad について(macOS ではアプリケーションメニューにもあります)は、バージョン、アップデート、診断情報を含む 設定 → 情報 を開きます。
設定と起動時の復元
- 設定したいウィンドウから設定を開きます。ローカルデスクトップの入口は、開いた元のプロジェクト/Location を伴って、単一のネイティブ設定ウィンドウにフォーカスします。
- 一般 で 前回の状態を復元 をオンまたはオフにします。
- そのウィンドウの保存済みレイアウトを忘れさせるには、保存された起動状態を消去 を使用します。確認なしで直ちに適用されます。
復元では、ワークスペース/SideCar のタブ、アクティブなセッション、未送信テキスト、スクロール位置、パネル、ウィンドウの配置、ズームを開き直せます。ウィンドウ単位のクライアント状態であり、ネイティブ会話データベースのコピーではありません。消去すると保存済みタブ、下書き、レイアウトが削除されますが、CodeNomad 設定や OpenCode 会話は削除されません。重要な未送信下書きは、先に別の場所へ保存してください。
設定ウィンドウは独自の復元状態を持ちません。これらのコントロールは、それを開いたウィンドウを対象とします。そのウィンドウが閉じている場合や、起動時に設定が再表示されて不明な場合は、最後に使用したウィンドウを対象にします。別のウィンドウ向けに用意した変更が適用されることはなく、コントロールはまず新しいウィンドウの値を表示します。特定のウィンドウを設定するには、そのウィンドウから設定を開いてください。プロジェクト範囲の設定も、開いた元の Location を使用し、ない場合は利用できません。起動時に設定が再表示された場合は、そのプロジェクトが開き終わった時点で再接続します。フォルダーがまだ起動中の間や、複数のタブで開かれている場合は、目的のウィンドウから設定を開くまで利用できません。
ブラウザーとリモートの設定は埋め込み表示であり、2 つ目のネイティブ設定の所有元ではありません。ネイティブ設定を開くエラーは報告されます。代わりに隠れた埋め込み設定画面が開いたと想定しないでください。
デスクトップデータプロファイル
- ネイティブの 設定 → 一般 で、前回の状態を復元 の下にある データプロファイル を展開します。このコンピューター上のすべてのプロファイルが、サイズ、作成日、最終使用日とともに、開いているものを先頭にして一覧表示されます。
- 次回の起動で開くプロファイルを選択するか、新しいプロファイル を選び、英小文字、数字、ピリオド、ハイフン、アンダースコアを 1〜64 文字使い、英字か数字で始まる名前を入力します。
- すぐに切り替えるには … で再起動 を選びます。選ばなければ、選択したプロファイルは次回の起動で開きます。開いているプロファイルを再度選択すると、変更は取り消されます。
別の設定のプロファイルも一覧に表示されますが、ここでは選択できません。記憶された選択がない場合、パッケージ版の起動は既定、dev、dev-v2 の各プロファイルに復元可能な作業があるか確認し、そのうち最後に使用したものを開きます。どれにもなければ既定を開きます。プロファイルを選択しても、プロファイルデータの移動、統合、削除は行われません。
実行ファイルの起動前に設定した CODENOMAD_PROFILE は、この選択より優先されます。その場合、データプロファイル はプロファイルを表示しますが、選択はできません。default または stable は既定プロファイルを選び、不正な名前は別のプロファイルを選ばずに起動を阻止します。たとえば PowerShell で、目的のデスクトップ実行ファイルを起動する前に:
$env:CODENOMAD_PROFILE = "review"
独立したサーバー設定には、起動前に CLI_CONFIG も別の設定ファイルへ設定します。既定は ~/.config/codenomad/config.yaml です。プロファイル名だけでは、そのファイルや共有 OpenCode サービスは変更されません。
| デスクトップデータプロファイルで分離するもの | 自動では分離しないもの |
|---|---|
| ウィンドウ/タブの復元状態、未送信下書き、デスクトップの単一起動/バックエンドの範囲 | OpenCode のセッション、メッセージ、プロバイダー認証情報、実行 |
| プラットフォーム制限下で、そのプロファイルに関連するネイティブ Chromium/WebView ストレージ | 設定を共有する場合の CodeNomad 設定、音声キー、SideCar、拡張機能の有効化 |
| ホスト/プロファイル内のネイティブプレビューストレージ | 開いたプロジェクトのファイル、リモートサーバーのデータ |
macOS Tauri の範囲別プロファイルは、システムの WebKit ストレージ、ログイン、キャッシュを共有します。プロファイル名をアカウントのセキュリティ分離に使わないでください。Electron はプロファイル内にウェブデータを保存します。インストール済みバージョンや アップデートチャネル が別のデータプロファイルを選ぶことはありません。パッケージ化されていない開発起動は、明示指定しなければ dev プロファイルを使用します。
保存済みプロファイルを削除する
- 上記のとおり データプロファイル を展開し、必要なら一覧を更新します。
- 削除するプロファイルの削除ボタンを選びます。開いているプロファイルには削除ボタンがありません。
- 必要な下書き/ログインを保存してから確認します。再試行前に、不完全な削除の報告を確認してください。
削除は、一覧にある別設定のプロファイルであっても、そのプロファイルの保存済みタブ、下書き、レイアウト、所有するウェブストレージ/キャッシュ/ログインを取り除きます。開いているプロファイル、OpenCode 会話、プロジェクトファイルは保持します。開いている、または状態不明のプロファイルは削除できません。該当する CodeNomad ウィンドウを閉じ、一覧を更新してから再試行してください。認識できない内容は広く削除せず、保持して報告します。
macOS Tauri の共有 WebKit ストアは、削除すると他プロファイルに影響するため保持します。元に戻せるクリーンアップではありません。ネイティブ会話が残っていても、削除した未送信下書きは戻りません。現在のウィンドウだけをリセットしたい場合は、より小さい操作の 保存された起動状態を消去 を使います。
ズームとパネルの配置
- ネイティブの 表示 → 拡大、縮小、実際のサイズ を使用します。キーボード/ホイール入力もホストの対応に従います。
- 固定された外側のヘッダー隅にある 左パネル と 右パネル でパネルを切り替えます。レイアウトが対応する場合はドロワーを固定/解除します。
- コントロールが収まらなければ、ズームを下げるかウィンドウを広げます。狭いレイアウトでは操作はメニューへ、パネルはオーバーレイへ移ります。
ローカルとリモートのメインデスクトップウィンドウは、アプリのズーム倍率で拡大した最低 390 × 600 CSS ピクセルを確保し、モニターの作業領域を上限とします。ズームインは小さすぎるウィンドウを広げる場合がありますが、ズームアウトで既に大きいウィンドウを縮めません。設定とブラウザープレビューの子ウィンドウには別のサイズ規則があります。
パネルは最低限の会話幅を残し、それより狭い場合にフローティング表示になります。会話幅が 420 CSS ピクセル未満なら、タイムラインを隠し、ヘッダー操作をオーバーフローメニューにまとめます。保存したタイムライン設定は保持されます。これらの配置変更で、プロンプト下書きやネイティブセッションは変わりません。設定とレイアウト、ブラウザープレビューと SideCarを参照してください。