ディレクトリに戻る

dsh-remote

キュレーション掲載メンテナンス: 活発

xgone/dsh-remote

リモートアクセス。アカウント/MFA ログイン、署名 Cookie、RBAC、ディレクトリピッカー

GitHub で見る
$ dsh plugin --profile web add @xgone/dsh-remote

59

スター

9

フォーク

JavaScript

言語

MIT

ライセンス

2026-08-16

作成日

2026-09-29

最終プッシュ

DeepSeek Harness のネイティブプラグイン。`dsh web` の前に強固な認証ゲート(アカウント/パスワード+TOTP MFA、署名付きセッション Cookie、ロールベース制御)を置き、リバースプロキシ経由で Harness をリモート/LAN ブラウザへ安全に公開できます。

DSH 統合

ネイティブ実行

作者による申告

安全性監査

未監査

最終検証日

2026-09-01

ライセンス

MIT

01どんなタスクに使えるのか?

  • DeepSeek Harness の `dsh web` インスタンスを、アカウント+MFA 認証の奥でリモート / LAN ブラウザに安全に公開する

    ログインゲートと HMAC-SHA256 で署名された HttpOnly セッション Cookie、ロールベースのアクセス制御により、リバースプロキシ経由の外部ブラウザがホスト側のネイティブウィンドウなしで全機能を利用できる

    DeepSeek Harness を自セルフホストし、リバースプロキシ / トンネル / Tailscale / Frp 経由で安全なリモートアクセスを必要とする運用者

  • リモートブラウザからホスト側のネイティブダイアログに頼らずにワークスペースを選択・作成し、ファイルを閲覧する

    ブラウザ内ディレクトリダイアログ(2ペインビュー+パンくず+新規フォルダ)と、ホストファイルをストリーミング表示するリモートサイドバー

    DSH が loopback 専用としていたネイティブなディレクトリ選択やホストのファイルオープン制限に阻まれたリモートユーザー

  • DeepSeek Harness のリモートログインに TOTP 多要素認証(MFA)を追加する

    RFC 6238 TOTP のバインド(Google Authenticator / 1Password / Authy)、QR コード+手動キー+otpauth URI+10 個の使い捨てバックアップコード、管理者による復旧付き

    DeepSeek Harness をリモート公開し、パスワードゲートの上に第二要素を追加したいすべての利用者

02DeepSeek Harness への導入方法

前提条件

  • 已安装 DeepSeek Harness 并可运行 `dsh web`(默认端口 3080);
  • 已初始化 `web` profile(首次运行 `dsh web` 会自动初始化);
  • 系统 PATH 中有 `pnpm`(`dsh plugin` 命令需要它来管理 profile 的插件)。

インストール手順

  1. 01

    プラグインをインストール:`dsh plugin --profile web add @xgone/dsh-remote`(自身を `dsh.profile.bundles` に自動追加)

    $ dsh plugin --profile web add @xgone/dsh-remote

  2. 02

    `dsh web` を再起動する —— Web 画面は HMR が無効なため、パッチを適用するには再起動が必要

    $ dsh web

  3. 03

    http://127.0.0.1:3080 を開き最初の管理者を作成(本機限定の送信)。ブラウザのないサーバーは `bootstrap` 設定ブロックで事前登録可

導入成功の確認

  • 未登录时访问任意路径 → 登录页;直接调用 `/api` → 403
  • ログイン後 `curl http://127.0.0.1:3080/auth/me` は `{"authEnabled":true,"bootstrap":false,"authenticated":true,...}` を返すはず

ロールバック

  • プラグインを削除:`dsh plugin --profile web remove @xgone/dsh-remote`、その後 `dsh web` を再起動するとゲートが消える
  • プラグインは残し認証だけ無効化:`cordis.patch.yml` で `enabled: false` を設定して再起動

03DSH 統合と能力の範囲

DSH 統合ネイティブ実行

Native DeepSeek Harness plugin — installs via `dsh plugin --profile web add`, wraps DSH's webServer routes + WebSocket as an auth gate (Cordis bundle patch)

  • アカウント+MFA ログインゲート

    ユーザー名 / パスワード(第 2 ステップで TOTP コード)→HMAC-SHA256 で署名された HttpOnly セッション Cookie。MFA ゲート通過後の `/api` と WebSocket へのアクセス

    未登录访问任何路径都得到自包含的登录页;`/api` 与 WebSocket 全部要求有效
  • ブラウザ内ディレクトリダイアログ(ネイティブ選択の置換)

    ワークスペースの選択 / 作成操作→**ブラウザ内のディレクトリダイアログ**(2ペインビュー+パンくず+新規フォルダ)

    DSH の既定のネイティブディレクトリ選択が無効化され、browse バックエンドに置き換わる
  • リモートファイルサイドバー(/auth/file)

    リモート(非 loopback)ブラウザから DSH Web UI でファイルパスをクリック→ホストファイルを右側パネルにストリーミング表示(Markdown / 画像 / PDF / 動画をインライン、マルチパネル対応)

    **右侧边栏面板**中显示(`/auth/file`
  • ロールベースのアクセス制御(admin / user / guest)

    client-request RPC エンベロープ(メソッド単位)→`adminOnly` をオフにした後、認証通過時に効くメソッド単位のアクセス制御

    `adminOnly` をオフにすると 3 層のメソッド単位権限モデルが有効になる

04誰に向いているのか?使うべきでない場面は?

向いている用途

  • DeepSeek Harness を自セルフホストし、リバースプロキシ / トンネル / Tailscale / Frp 経由で安全なリモートアクセスを必要とする運用者
  • DSH が loopback 専用としていたネイティブなディレクトリ選択やホストのファイルオープン制限に阻まれたリモートユーザー
  • DeepSeek Harness をリモート公開し、パスワードゲートの上に第二要素を追加したいすべての利用者

不向きな用途

  • Web 画面は HMR が無効です。設定を変更した後は `dsh web` の再起動(パッチのホットリロードは不可)が必要です。
  • `dsh web` は `--host 0.0.0.0` を拒否します。インターネット公開はリバースプロキシ(TLS 終端+WebSocket 転送)経由とし、`trustProxy: true`(既定で有効)を有効にします。
  • DSH はシングルテナント($DSH_HOME をプロセス単位で共有)であるため、プラグインはユーザーごとの独立したワークスペース/セッションを分離できません。イベントストリーム・検索・タスクなどがグローバルに漏れます。分離にはユーザーごとに profile インスタンスを稼働させ、共有インスタンスではロール体系で制約してください。

05互換性・メンテナンス・セキュリティ上の注意

  • Web 画面は HMR が無効です。設定を変更した後は `dsh web` の再起動(パッチのホットリロードは不可)が必要です。
  • `dsh web` は `--host 0.0.0.0` を拒否します。インターネット公開はリバースプロキシ(TLS 終端+WebSocket 転送)経由とし、`trustProxy: true`(既定で有効)を有効にします。
  • DSH はシングルテナント($DSH_HOME をプロセス単位で共有)であるため、プラグインはユーザーごとの独立したワークスペース/セッションを分離できません。イベントストリーム・検索・タスクなどがグローバルに漏れます。分離にはユーザーごとに profile インスタンスを稼働させ、共有インスタンスではロール体系で制約してください。
  • リモートファイルサイドバーは既定で DSH ホームディレクトリと dsh プロセスの作業ディレクトリ内のファイルしか表示しません。範囲外のパスは `outside-roots` と表示され、管理者が「設定 → 許可ディレクトリ」で追加(即時反映)するまで見えません。
2026-08-162026-08-30作者は未記載

MIT · 最終プッシュ 2026-08-30 · タグ付きリリースなし(latest_release: none)。README は v0.2.6+ までの修正を記載

06よくある質問

DeepSeek Harness に dsh-remote をインストールするには?

`dsh plugin --profile web add @xgone/dsh-remote` を実行し、その後 `dsh web` を再起動します(Web 画面は HMR が無効なため再起動が必要)。プラグインは自身を `dsh.profile.bundles` に自動追加します。http://127.0.0.1:3080 を開き最初の管理者を作成してください。

dsh-remote は公式の `dsh web` を置き換えますか、それとも共存しますか?

DSH 自身の `webServer` ルーティングと WebSocket アップグレードをラップするだけで、`dsh web` を置き換えません。認証通過後にリクエストの Host/Origin を loopback に正規化し、DSH の信頼フェンスが特権メソッド(`host.pickDirectory`、`settings.*`、`credentials.*`)を外部ブラウザに解放します。

DeepSeek Harness を安全にインターネットへ公開するには?

`dsh web` は `--host 0.0.0.0` を拒否するため、リバースプロキシ(nginx / ssh トンネル / Tailscale / Frp)で TLS 終端と WebSocket 転送を行い、`trustProxy: true`(デフォルトで有効)を有効にします。HTTPS 配備では `session.secure` を `true` に設定してください。

複数ユーザーでインスタンスを共有してワークスペースを分離できますか?

できません。DSH はシングルテナント(プロセス単位で共有される `$DSH_HOME`)のため、プラグインはユーザーごとの独立したワークスペース/セッションを分離できません。イベントストリーム・検索・タスクなどがグローバルに漏れます。分離するにはユーザーごとに profile インスタンス(`dsh --profile alice --port 3081`)を稼働させ、共有インスタンスでは admin/user/guest のロール体系で制約してください。

08データと出典

  • 作者による申告github.com0694a6350bb2…

    让 DeepSeek Harness 可以被安全地远程访问**:在 `dsh web` 前增加完整的账号密码认证 + MFA

  • 作者による申告github.com0694a6350bb2…

    就是那个认证层,认证通过后自动放行。

このページは、プロジェクトの公開ドキュメント、リポジトリのメタデータ、および DSH Plugins の構造化解析に基づいて生成されています。最終検証日:2026-09-01。誤りを見つけた場合は、修正を送信してください。

🏆

dsh プラグイン おすすめ

最初に入れたい 12 のプラグイン。全カタログ・全カテゴリから厳選しました。

広告

DSH Plugins は DeepSeek Harness プラグインの独立したコミュニティ ディレクトリです。DeepSeek との提携・公認はありません。サードパーティ製プラグインはセキュリティ監査を受けていません。インストール前にソースコードをご確認ください。

DeepSeek Harnessの新着プラグインを毎週お届け。スパムはありません。