# @cyber-moshen/dsh-plugin-market [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) Web GUI 向けの**プラグイン工房**——厳選されたプラグインカタログ。カタログ本体はこのリポジトリの中にあります。 [English](README.md) · [中文](README.zh.md) ## これは何 **設定 → プラグイン工房**ページを提供します: - **カードグリッド**のコミュニティプラグイン一覧——各カードに**タグ**(クリックでそのタグを検索)、**GitHub スター**、**最終コミットの鮮度**(色付きメンテナンス表示)、**インストール済みバージョン/更新状態**を表示; - **名前・作者・タグ横断の検索**に加え、常設の**フィルターバー**(インストール状態、スター/コミット並び替え、メンテナンス状態); - **ワンクリックでインストール/更新**(実際の `dsh plugin` CLI をバックグラウンドで実行); - 各カード右上の **GitHub アイコンボタン**でリポジトリへジャンプ; - **設定モーダル**:**GitHub Token** 入力(API レート制限を回避)、**起動時自動更新**のトグル; - **工房全体がアプリ自体の言語設定に追従**(設定 → 一般 → 言語:中文 / English — クライアントはこの2言語のみ); - 起動時自動更新の完了後、任意のページ上部に **「プラグインを自動更新しました。再起動してください」** のトーストを表示; - **インストールは安全機構つき**——インストール前の依存監査、インストール後の起動構成チェック、失敗時は自動ロールバック。壊れたプラグインで DSH が起動不能になることはありません(詳細は `README.zh.md` の「安全机制(兜底)」を参照)。 **カタログはこのリポジトリの `data/plugins.json`**——誰でも Pull Request を出すだけでプラグインを追加できます([PR の出し方](#pull-request-でプラグインを追加する)を参照)。実行時に**リアルタイム**取得し、**オフラインキャッシュ・スナップショットはありません**。 ## インストール npm に公開後、任意の場所からワンコマンド: ```sh dsh plugin --profile web add @cyber-moshen/dsh-plugin-market ``` ローカルチェックアウトから: ```sh dsh plugin --profile web add ./dsh-plugin-market -w ``` Web サーバーを再起動し、**設定 → プラグイン工房** を開きます。 ## 使い方 ### 工房ページ 1. **設定 → プラグイン工房**を開きます。 2. **検索**——プラグイン名・作者**・タグ**を横断検索します。カード上の `#タグ` をクリックするとそのタグで検索します。 3. **フィルターバー**(検索ボックスの下に常設): - インストール状態:すべて / インストール済み / 未インストール - 並び順:スター昇順 / スター降順 / コミット昇順 / コミット降順 - メンテナンス:すべて / 活発 / やや古い / 放置の可能性 / 不明 4. **カード操作**: - ⭐ スターと 🕓 最終コミットは GitHub API から**リアルタイム**取得。メンテナンス色:緑=3ヶ月以内に更新、黄=1年以内、赤=それ以上前またはアーカイブ。 - **未インストール** → `インストール` ボタン(npm パッケージ経由でインストール)。 - **インストール済みで新バージョンあり** → `インストール済み vX` + `更新 → vY`。 - **インストール済みで最新** → `インストール済み vX` の表示のみ。 - インストール済みプラグインには「更新」の右に **アンインストール** ボタンもあります。 - 右上の GitHub アイコンでリポジトリページを開きます。 ### 設定モーダル(検索ボックスの右の「設定」ボタン) - **GitHub Token(任意)**——トークンを貼り付けると API レート制限が毎時 60 回から 5000 回に上がります。[トークンの取得方法](#github-token-の取得方法)を参照。環境変数 `GITHUB_TOKEN` / `GH_TOKEN` が優先されます。空のまま保存しても保存済みトークンは消えません。削除は「クリア」ボタンで。 - **起動時にインストール済みプラグインを自動更新**——有効にすると、Web サーバー起動後にインストール済みプラグインを確認し、新バージョンがあれば自動更新します。完了後、ホームページのトーストで再起動を促します。 ## GitHub Token の取得方法 1. を開きます(Settings → Developer settings → Personal access tokens)。 2. **Generate new token (classic)** をクリック。 3. 名前(例:`dsh-plugin-market`)と有効期限を設定。 4. **`repo`** スコープにチェック(このプラグインに必要なのはこれだけです)。 5. **Generate token** をクリックし、**その場でコピー**(一度しか表示されません)。 6. 工房の**設定**モーダルに貼り付けて**保存**。保存されると `✓ Token saved (···xxxx)` が表示されます。 > トークンはリポジトリへの書き込み権限です。厳重に保管してください。 ## Pull Request でプラグインを追加する カタログは単一の JSON ファイル:[`data/plugins.json`](data/plugins.json)。 1. このリポジトリの GitHub ページで `data/plugins.json` を開く。 2. 鉛筆(**Edit**)ボタンをクリック。 3. 既存エントリをコピーして自分のプラグインに書き換え、`"plugins": [...]` に挿入。 4. **Commit changes… → Propose changes → Create pull request**。 PR ごとに検証ワークフローが走り、JSON の形式エラーや必須フィールド欠落は赤くなります(ローカルでは `node scripts/validate.mjs data/plugins.json` で確認可)。 エントリの形(シンプルに——他の項目は URL から自動導出): ```jsonc { "url": "https://github.com/you/your-plugin", // リポジトリ URL(必須・一意) "tags": ["記憶強化", "UI美化"], // 0-5 個の検索可能タグ(任意) "npm": "your-npm-package" // 必須——インストール/更新は npm 経由のみ } ``` カードの表示名・作者・スター/最終コミットはすべて `url` から自動導出されます。**`npm` は必須**です——インストールと更新は npm パッケージ経由で行われます(GitHub インストールは使用しません)。 詳細は [CONTRIBUTING.md](CONTRIBUTING.md) を参照。