CodeNomad/docs/help/ja/settings.md
Pascal André c82dd8fbf6
Some checks are pending
Publish help / build (push) Waiting to run
Publish help / deploy (push) Blocked by required conditions
fix(notifications): show Windows system notifications and keep their permission (#1109)
## Summary

System notifications on Windows: everything about them in one PR.

1. **Windows data profiles never showed system notifications**
(`fix(windows): show system notifications from every data profile`).
Tauri runs each data profile, such as **dev**, under its own
AppUserModelID (`…client.scope.s<hash>`), and its notifications carry
that ID; Windows shows a desktop app's notifications only under an ID it
knows, and the installer's Start menu shortcut carries the stable ID
alone. Windows recorded every notification (100 on the affected machine)
and displayed none. Every launch now registers the running ID under
`HKCU\Software\Classes\AppUserModelId\<identifier>` (`DisplayName`
CodeNomad, `IconUri` the bundled web app icon
`resources\server\public\pwa-192x192.png`, which the packaged-resource
smoke check requires; `windows_notification_identity.rs`). Electron
always uses the stable ID.
2. **The permission was lost at every restart on Windows.** The
notification plugin's page script reports *denied* there until the page
requests permission, though Windows never asks, so Settings asked again
after each restart. The check now asks the native plugin command, which
answers granted on desktop: granted once, kept.
3. **Notifications were held back whenever the window was visible**
(`fix(notifications): hold system notifications back only while
focused`). With **Notify when the app is focused** off (the default), an
open window stays visible behind other applications or on another
screen, so nothing was sent unless CodeNomad was minimized. Delivery is
now skipped only while the window is visible and focused
(`document.hasFocus()`). The setting's subtitle and the Settings help
say *focused* in all ten languages; `dev-docs/SETTINGS.md` records the
rule.

Out of scope by decision: several CodeNomad windows open on the same
project may each send the event's notification (as they already do when
the setting is on), and focus inside a browser preview counts as leaving
the page.

## Validation

- Affected machine: no profile notification showed before; after
registering its ID as above, a notification sent under it showed in the
notification centre under CodeNomad.
- `cargo test --bins -- windows_notification_identity` (writes the key,
reads back both values).
- `tests/browser/system-notification-focus.test.ts`: real routed
notification from a visible page; nothing while focused, one once focus
is lost, one while focused with the setting on; red on the previous
visibility check.
- `npm run typecheck --workspace @codenomad/ui`, `npm run test:help`.
2026-10-23 04:03:26 +02:00

13 KiB
Raw Permalink Blame History

設定とレイアウト

設定を開き、範囲を確認する

  1. タブバー(macOS のデスクトップアプリではタイトルバー)またはホームページの 設定を開く の歯車で 設定 を開きます。モデルセレクターの プロバイダーを管理、ミッションパネルの歯車、通知履歴の 設定 の歯車などのショートカットは、該当するセクションを直接開きます。
  2. セクションを選びます。ローカルの Electron/Tauri ウィンドウは、単一のネイティブ設定ウィンドウを開くかフォーカスします。ブラウザー/リモート表示は埋め込み設定画面を使います。
  3. 離れる前に、設定の範囲と 保存 操作の有無を確認します。

ほとんどの選択は直ちに適用されます。ミッション設定も、変更するたびにその変更を保存します。音声、パレットのカスタム色、設定ファイルには、明示的な 保存 があります。保存失敗は変更が反映された確認ではありません。再試行前に該当セクションを開き直すか更新してください。説明は設定のタイトル横の i にあります。カーソルを合わせるかフォーカスするか、タッチ画面ではタップしてください。

状態 制御するもの
CodeNomad 設定 その設定を使用するクライアントの UI 設定、音声、SideCar、サーバー設定。バッジのない設定も端末ごとには保存されません。サーバー設定 は、音声、SideCar、リモートコントロール、環境変数などのサーバー側の設定を示します。
ウィンドウ/プロジェクトタブのレイアウト 開いているパネル、選択タブ、リーダー状態、復元可能な下書き/レイアウト。OpenCode 設定ではありません。
グローバル/プロジェクトの OpenCode 設定 表示範囲のネイティブなプラグイン/設定変更。プロジェクト操作にはアクティブなプロジェクト/Location が必要です。
デスクトップデータプロファイル 設定ファイルや共有 OpenCode サービスとは独立した、ネイティブウィンドウ、復元状態、ブラウザーストレージ。デスクトップのウィンドウとデータを参照してください。

統計 は、開いたフォルダーだけでなく、接続先の OpenCode サービス全体(すべてのプロジェクト、独立したクローン、サブセッション)を対象とし、過去 7、30、90、365 日を集計します。開いているプロジェクトが必要で、表示するのは OpenCode が記録したトークンとコストであり、プロバイダーの請求書やサブスクリプションの利用枠ではありません。更新中は、以前に保存した合計が表示される場合があります。プランの割り当て量は、ステータスの 使用量 セクションで確認します。

表示設定を変更しても、OpenCode の再起動やプロンプトの再実行は行いません。ネイティブ設定、サービス保守、認証情報の影響は別です。OpenCode のセットアップ、プロバイダー、連携を参照してください。

言語と外観

  1. 一般 の 言語 で、英語、スペイン語、フランス語、ロシア語、日本語、簡体字中国語、ヘブライ語、ドイツ語、ネパール語、トルコ語を選びます。
  2. カラースキーム で、モード に 自動、ダーク、ライト を選びます。自動は OS に従います。
  3. 表示中の外観のパレットを選びます。ライトとダークの選択は独立して保存され、自動では対応するものを使います。
  4. 色をカスタマイズするには、色見本と 保存 を使います。リセット は組み込みパレットの色を復元します。別のパレットに名前を付けるには 新規、自分で作成したパレットを削除するには 削除 を使用します。

UI は会話を再起動せずに更新されます。ヘブライ語では右から左のレイアウトを使い、コードや技術値はそれぞれの方向で読みやすく保ちます。言語選択はインターフェースのテキストを変えますが、既存メッセージやエージェント指示の言語は変えません。デスクトップのネイティブメニューは、CodeNomad のウィンドウが読み込まれるとインターフェースの言語に切り替わります。

色が読みにくくなったら、組み込みパレットを選ぶか編集したものをリセットします。パレットを切り替えると未保存の色編集を破棄するか確認する場合がありますが、会話の下書きは破棄しません。

パネルとステータスのセクション

  1. 外側のヘッダー隅の 左パネル と 右パネル、または 表示 メニュー内の項目で、それぞれを表示/非表示にします。
  2. 右パネルの 右パネルをカスタマイズ を開きます。チェックボックスで組み込みタブとステータスのセクションを選びます。ステータスの最低 1 セクションは表示されます。
  3. 右パネルのタブをドラッグして並べ替えます。リセット で組み込みレイアウトの選択を復元します。

ステータスには、トークン情報、Yolo モード、プロバイダーの使用量、バックグラウンドシェル、MCP、プラグインがあります。セクションを隠しても、サービスの無効化や権限の取り消しはしません。狭いレイアウトでは、会話を圧迫せずパネルが上に浮かび、一方のフローティングパネルを開くと他方は閉じます。

組み込みレイアウトはウィンドウのレイアウトであり、プロジェクトの変更操作ではありません。拡張機能のチェックボックスは異なり、その設定を使う全プロジェクトでコードを有効化します。リセット は拡張機能の同意を変更しません。パネル拡張機能を参照してください。

会話表示の詳細と入力欄のサイズ

  1. チャット を開いて会話表示の詳細の既定値を選びます。プリセットは なし、最小、バランス、すべて です。個別変更では カスタム になります。
  2. 思考、診断、ツール入力、トークン、システムメッセージ、各ツールの種類について、行ごとの 既定の状態(非表示、折りたたみ、展開)を設定するか、これらの選択を共有する会話の メッセージの内容 ポップアップを使います。
  3. 一般 で、必要に応じて メッセージのタイムラインを表示、ツール呼び出しの差分を分割表示、送信したプロンプトをキューに入れる(セッションの作業中に送信したプロンプトを、割り込ませずにキューに入れる)をオンにします。
  4. サイズ変更コントロールで入力欄を調整します。長い下書きはフィールド内でスクロールします。

タイムラインには、会話に表示される返答・推論・ツール・コンパクト化・システムコンテキストごとに 1 つのマーカーが同じ順序で並びます。マーカーは メッセージの内容 に従います。そこでツールの種類、推論、システムメッセージを非表示にするとそのマーカーも非表示になり(保留中の権限があるツールを除く)、なし ではすべてのツールマーカーが非表示になります。表示と展開の設定は、見せ方だけを変えます。保存済みのツール/推論の削除や、モデルコンテキストのコンパクト化はしません。破壊的な操作は、履歴とクリーンアップを参照してください。

入力欄の高さは、ソフトウェアキーボードを含む可視の会話領域に従います。最小 8%(下限 44 px)、最大 60% です。手動の高さは比率として記憶され、狭い幅や長いテキストでも上限は上がりません。権限/質問を展開すると、保存した高さや下書きを変えずに入力欄を一時的に最小化します。リクエストを折りたたむか処理すると、サイズ変更を再開できます。

通知とバッジ

  1. 通知 を開きます。通知の種類ごとに、表示先をチェックします。画面(一時的なバブル)、履歴(タブバー、macOS のデスクトップアプリではタイトルバーにあるベルの通知履歴に保持)、システム(OS の通知)です。
  2. システム のチェックボックスをオンにすると、必要に応じて許可を求めます。許可がない間は、システム通知 の リクエスト で再度求められます。
  3. このウィンドウにフォーカスがある間もシステム通知を受け取るには、アプリにフォーカスがあるときも通知 を有効にします。無効のときは、ウィンドウが画面に開いたままでも、フォーカスがなければ通知が表示されます。

既定では、セッションが応答を待っています と セッションが終了しました はシステムにのみ送られるため、一時的なセッション状態が履歴にたまりません。これらはサブエージェントではなくメインセッションが対象で、自分で停止したセッションは通知されません。エラーは表の設定にかかわらず常に画面と履歴に表示され、短い進捗メッセージは画面にだけ表示されます。

ブラウザー/OS の権限は端末とアプリのオリジンに属し、保存した設定で拒否を上書きすることはできません。ブロックされている場合はブラウザーまたは OS の設定で通知を許可し、ここに戻ってください。未対応環境ではシステムの列は無効のままです。

ベル/履歴の未読件数(履歴に送られた通知だけを数えます)が、ブラウザーのファビコンの点とネイティブアプリのバッジに反映されます。ネイティブバッジは稼働中のメインウィンドウを集計します。実行中セッションの件数でも、OS 通知が配信された証拠でもありません。この機能は PWA ランチャーのバッジを提供しません。

詳細オプション

  1. 詳細設定 を開きます。
  2. 必要なオプションだけをオンまたはオフにします。各変更は CodeNomad 設定に保存されます。セッション実行環境を変える場合は、末尾の折りたたまれた 環境変数 グループを展開します。
  3. 推測で共有サービスを再起動せず、表示結果や次の送信を確認します。
オプション 効果と注意
空のセッションを自動クリーンアップ 新しいセッションの作成時に空のセッションを整理します。残したい場合はオフにします。
サブエージェントの idle マーカーを保持 未確認の待機マーカーを 5 秒で隠さず、確認するまで保持します。
2 回目の起動で既存ウィンドウをフォーカス ネイティブデスクトップのみ。アプリが起動中に再度起動したときのウィンドウ動作を変え、タブ作成は変えません。
プロバイダーのクレジット残高 使用量に補足残高を表示します。クレジット購入やアカウント切り替えはしません。
空白のみの変更を非表示 空白/改行のみの未ステージファイルを変更一覧と一括操作から除外します。ステージ済みファイルは表示します。ファイルを参照してください。
長いアシスタント応答を保持 ストリーミング返信が表示領域を超えると、自動追従を止めます。
環境変数 各プロンプトやセッションコマンドの前にサーバー側で適用します。読み取りだけで実行中の処理を更新しません。OpenCode のセットアップを参照してください。

キーボード設定はキーボードショートカット、音声操作は音声入力と再生を参照してください。起動時復元と保存済みデスクトッププロファイルの削除は、デスクトップのウィンドウとデータで説明しています。