Skip to main content
DeepSeek Harness のデスクトップアプリを終了してから、npx -y cc-safety-net@latest install --deepseek-harness を実行します。CC Safety Net が、プラグインバンドルとして web プロファイルと desktop プロファイルに追加されます。このバンドルは拒否専用のツールガードを登録します。ツール呼び出しをブロックすることはあっても、承認することはないチェックです。バンドルの読み込みに失敗しても警告が出るだけで、そのプロファイルは保護されないまま動きます。インストール後は、npx cc-safety-net doctor を実行してバンドルが有効か確認してください。

DeepSeek Harness に CC Safety Net をインストールする

1

デスクトップアプリを一度起動してから終了する

DeepSeek Harness のデスクトップアプリを一度起動し、終了します。
2

pnpm が PATH にあるか確認する

pnpm が PATH 上にあることを確認します。
3

インストーラーを実行する

4

バンドルが有効か確認する

インストールが desktop プロファイルを対象にするのは、そのプロファイルがすでに存在する場合だけです。そのため、先にデスクトップアプリを一度起動しておきます。終了しておくのは、デスクトップアプリのプラグインはアプリを閉じている間しか変更できないためです。DeepSeek Harness がバンドルを追加するには、PATH 上に pnpm が必要です。 インストールが成功すると、Added cc-safety-net to the DeepSeek Harness Desktop and web profiles. と報告されます。web プロファイルだけを処理した場合は、the Desktop and web profiles の部分が the web profile になります。

DeepSeek Harness のインストールで変わること

DeepSeek Harness は CC Safety Net をフックのプロセスではなく、プロファイルのプラグインバンドルとして読み込みます。そのため、DeepSeek Harness 用の hook フラグはありません。インストールでは、実行したインストーラーと同じバージョンの cc-safety-net を各プロファイルに追加します。各プロファイルの package.json には cc-safety-net の依存関係が記載され、そのバンドルが有効になります。

DeepSeek Harness でインストールの対象になるプロファイル

1 回のインストールで、次の 2 つのプロファイルが対象になります。
  • npx @deepseek-ai/dsh web とグローバルインストールが共有する web プロファイル
  • デスクトップアプリが使う desktop プロファイル(すでに存在する場合)
acp、headless、sdk、sdk-minimal の各プロファイルと、後から作成したプロファイルでは、CC Safety Net は動きません。それぞれに自分でプラグインを追加してください。
desktop プロファイルに対しては、デスクトップアプリに同梱の dsh を実行します。このバイナリは次の場所から探します。

DeepSeek Harness のツールガードがチェックする内容

DeepSeek Harness はこのガードを、承認や Auto review を含むほかのすべての tools/pre-execute リスナーの後に実行します。
  • bash の呼び出しは POSIX アナライザーに渡します。
  • pwsh の呼び出しは PowerShell アナライザーに渡します。
  • ファイル系と検索系のツール呼び出しは、パスとシークレットの保護でチェックします。

DeepSeek Harness でチェックが失敗したときの動作

CC Safety Net のガードでエラーが起きた場合、DeepSeek Harness はその呼び出しをブロックします。プラグインバンドルの読み込みに失敗した場合は、DeepSeek Harness は警告を表示するだけで、そのプロファイルはチェックなしで動きます。

DeepSeek Harness での保護範囲の制限

  • ほかのプロファイル。 バンドルが入るのは web と desktop のプロファイルだけです。DeepSeek Harness でインストールの対象になるプロファイルを参照してください。
  • 読み込みに失敗したバンドル。 DeepSeek Harness は、任意プラグインの import や apply() の失敗を警告として扱い、そのまま動作を続けます。そのため、そのプロファイルは保護されないまま動きます。doctor は実行中のホストではなくディスク上のマニフェストを読むため、それでもそのプロファイルを設定済みと報告します。
  • デスクトップアプリのクラッシュ復旧。 デスクトップアプリのクラッシュ復旧操作は、サードパーティのバンドルを無効にします。Plugins ページで再び有効にするまで、無効のままです。
  • PTC モードの run_code。 PTC モードは既定でオフです。このモードでは、run_code がモデルの書いた TypeScript を実行し、そのコードは Node.js の API を直接呼び出せます。ガードに届くのはそのコードが行うツール呼び出しだけなので、node:fs 経由の書き込みは判定されません。
  • terminal_send。 オプトインのターミナルツールは、terminal_send のテキストを解析せずに永続シェルへ書き込みます。永続的な bash や pwsh のシェルではディレクトリの移動が呼び出しをまたいで保持されますが、CC Safety Net は各呼び出しをセッションのワークスペースを基準にチェックします。そのため、両者がずれることがあります。
  • Windows のデスクトップアプリ。 Windows 上のデスクトップアプリ関連のパスは未検証です。対象は上記の dsh.cmd のパスと、デスクトップアプリが起動中かどうかをインストールが判断するための %APPDATA%\@deepseek-ai\dsh-desktop\lockfile です。web プロファイルには影響しません。

DeepSeek Harness から CC Safety Net をアンインストールする

アンインストールは、web と desktop の各プロファイルのマニフェストにバンドルが記載されていれば、そこから削除します。それ以外のプロファイルに自分で追加したコピーはそのまま残ります。インストールと同様、デスクトップアプリの起動中は中止します。 この 2 つのどちらのプロファイルにもバンドルがない場合は、次のメッセージで中止します。

DeepSeek Harness の CC Safety Net を更新する

update はプロファイルごとにインストールを再実行するため、デスクトップアプリが開いていると失敗します。先にデスクトップアプリを終了してください。

DeepSeek Harness のプロファイルの保存場所

DeepSeek Harness は、DSH_HOME が設定されていれば $DSH_HOME/profiles に、未設定なら <home>/.dsh/profiles にプロファイルを保存します。DSH_HOME の先頭の ~ はホームディレクトリに展開されます。

DeepSeek Harness のトラブルシューティング

  • Quit DeepSeek Harness Desktop, then run this command again: Desktop plugins can only change while it is closed. デスクトップアプリが起動しています。終了するまで、インストールもアンインストールも中止します。
  • DeepSeek Harness Desktop is not in its default location, so add cc-safety-net from its Plugins page. desktop プロファイルはあるものの、デスクトップアプリが上の表のパスにありません。web プロファイルへのインストールは行われます。デスクトップアプリの Plugins ページから自分でプラグインを追加してください。
  • DeepSeek Harness installed cc-safety-net in the web profile but did not enable it. Enable it from the Plugins page. DeepSeek Harness がバンドルを追加したものの有効にしていないため、何も保護されていません。Plugins ページから有効にしてください。メッセージには、インストールの対象になったプロファイルが表示されます。
  • doctor が cc-safety-net is installed in the <name> profile but its bundle is disabled を報告する。 プロファイルの package.json に cc-safety-net の依存関係は記載されていますが、dsh.profile.bundles には含まれていません。Plugins ページからバンドルを有効にしてください。

デスクトップアプリが既定の場所にないときのアンインストール

desktop プロファイルにバンドルがあるのに、デスクトップアプリが既定の場所にない場合、アンインストールは web 側のコピーを先に削除してから終了コード 1 で終了します。
デスクトップアプリの Plugins ページからバンドルを削除してください。バンドルがあるのが desktop プロファイルだけの場合、アンインストールは何も削除せず、同じ案内だけを表示します。
最終更新日 2026年10月22日