# dsh-local-font-picker [English](README.md) | 日本語 DeepSeek Harness(DSH)Web UI 用のコミュニティプラグインです。PCにインストール済みのフォントを選び、UIフォントとコードフォントを変更します。 > DeepSeek Harness 本体に同梱される公式プラグインではなく、コミュニティ管理の外部プラグインです。 ## 機能 - `window.queryLocalFonts()`(Local Font Access API)でローカルフォントを列挙 - 選んだフォントを DSH 本体のフォント設定(`ctx.theme.setFontFamily`)へ書き込み、適用・保存・復元は本体側が管理 - 設定は自前で保持しない(`localStorage` も Theme トークン上書きも使わず、本体設定と常に同じ値を共有) - Local Font Access API 非対応ブラウザではフォント名の直接入力に対応 - DSH 本体の改変なし、プラグイン側のビルド不要 Host 側の `index.js` は意図的に no-op で、機能は Web クライアント側だけで動作する。 ## 互換性 **0.3.0** 以降、フォント状態は DSH 本体(`ctx.theme.setFontFamily`)へ委譲し、プラグイン側では一切保持しない。それ以前のプラグインリリースは `localStorage` と Theme トークン上書きに独自の写しを持っていた。表は各行時点の実機検証記録で、0.2.1-alpha.1 までの行は 0.3.0 以前の機構での記録である。 記録上の最新の実機動作確認は **DSH 0.2.1-alpha.3**(2026-10-15 に実機アプリで確認)。 | DSH バージョン | 確認内容 | | --- | --- | | 0.1.6-alpha.2 | Slot / Theme 契約、unload/reload 時の解放、保存設定の再適用 | | 0.1.7-alpha.2 | 読み込み、一覧表示、フォント反映 | | 0.1.7-rc.1 | 読み込み、一覧表示、フォント反映 | | 0.1.7-rc.2 | 読み込み、一覧表示、フォント反映 | | 0.2.0-rc.1 | 読み込み、一覧表示、フォント反映 | | 0.2.0-rc.2 | 読み込み、一覧表示、フォント反映 | | 0.2.1-alpha.1 | 読み込み、一覧表示、フォント反映。current main 566a1b7 で 2026-10-07 に E2E 再確認済み。plugin load 失敗なし、設定行表示、console error 0件、PCフォントの許可後に107件取得、UI/コードフォント双方の反映とリロード後の復元、既定復帰を確認 | | 0.2.1-alpha.2 | `engines.dsh` は本体のフォント指定機能が追加されたこの版以降を要求するが、この版での委譲動作の実機確認は **未実施** | | 0.2.1-alpha.3 | 0.3.0 の本体委譲動作を確認済み(読み込み、設定行表示、本体フォント設定への反映、リロード後の復元、既定復帰) | DSH **0.2.1-alpha.2** で本体にフォント指定機能が追加された。0.3.0 以降はこの本体設定そのものを書き込むため、プラグイン側の競合する状態は残らない。それ以前のプラグインリリース(0.1.x–0.2.x)は独自の写しを並行して保持し、本体設定との併用は一度も検証していない。その他の後続版も確認するまで互換性を前提にしない。 ## 導入 このリポジトリのローカル checkout を対象 DSH profile に追加する。 ```sh dsh plugin --profile web add <このリポジトリへの絶対パス> ``` 追加後に DSH Web を再起動する。 ## 使い方 **Settings → General → フォント** を開く。 - **PCフォントを読み込む**: ブラウザにローカルフォント一覧へのアクセスを要求 - **UIフォント / コードフォント**: 一覧から選択、またはフォント名を直接入力。値は DSH 本体のフォント設定に書き込まれ、本体側のフォント行と常に同じ値を共有する - **既定に戻す**: 両ロールを本体の既定フォントリストに戻す 表示言語はブラウザの優先言語から決まり、DSH 本体の Language 設定変更には追随しない。 ## プライバシーと権限 **PCフォントを読み込む** を実行すると Local Font Access API を呼び出し、ブラウザが許可確認を表示する場合があります。許可後は、このページからインストール済みフォントのメタデータを参照できる。 このプラグインは次の動作を行わない。 - フォントファイルの読み込み・複製 - フォント情報のアップロード - ネットワーク通信 保存するフォントファミリー名は本体側の設定が保持し、プラグイン側は `localStorage` を含め settings と呼べるものを一切保持しない。 表示言語はブラウザの優先言語から決まり、DSH 本体の Language 設定変更には追随しない。 ## 制約 - Local Font Access API は主に Chromium 系デスクトップブラウザ向けで、非対応ブラウザでも直接入力は利用できる。 - フォント設定は DSH 本体の設定が保持し、本体側のフォント行と共有する。プラグイン独自の保存先は無い。 - 本体委譲が前提とする DSH **0.2.1-alpha.2** 以降での利用が必要(本体のフォント指定機能がこの版で追加されたため)。 - 表示言語はモジュール読み込み時に一度だけ決まる。ブラウザの優先言語を変えた後はページを再度読み込むまで反映されない。 - DSH は開発中のため、プレリリース間でクライアント拡張契約が変わる可能性がある。 ## 確認 ```sh npm run check ``` ## コントリビューション バグ報告や範囲を絞った Pull Request を受け付ける。互換性問題では DSH バージョン、ブラウザ、OS、再現手順、期待結果と実際の結果を記載する。 ## ライセンス MIT。詳細は [LICENSE](LICENSE) を参照。