repocompass.
← 一覧へ

DeepSeek Harness|プラグイン設計のOSSエージェントハーネス

DeepSeek Harnessは、モデル・ツール・エージェントループまで全てをプラグインとして組み上げるOSSのエージェント基盤です。Ollama等のローカルLLMだけでも動かせます。

エージェント TypeScript ★ 201k ライセンス MIT 記事公開 (注目度1位) 記事更新

ポイント

  • モデル・ツール・エージェントループまで全てがプラグインという設計で、Cordisというフレームワーク上に構築されている
  • 特権を持つコアが存在せず、既存のプラグインと同じ立場でプラグインを追加・入れ替えできる
  • DeepSeek専用ではなく、Ollama等のOpenAI互換ローカルサーバーに接続すれば無料・無キーでも動く

概要・解決する課題

AIエージェントの基盤を自前で組むと、モデル接続・ツール実行・状態管理・権限制御がそれぞれ密結合になりやすく、後から差し替えるのが難しくなりがちです。DeepSeek Harnessは、モデルアダプタやツールレジストリ、セッションログ、さらにエージェントループそのものまで含めて「全部プラグイン」として扱う設計を取っています。特権を持つコアが存在せず、他のプラグインと同じ立場でプラグインを追加・入れ替えることで拡張します。公式も「experimental developer preview」と明記しており、破壊的変更が今後も入る前提のソフトウェアです。

なぜ注目されているか

AIエージェントの活用が広がるにつれ、モデルやツールを差し替えながら自分の要件に合わせてエージェントを組みたいという需要が高まっています。DeepSeek Harnessは、Claude Codeのようなコーディングエージェントに近い体験を、UIやストレージ層まで含めて自分の手で組み替えられる形で公開した点が特徴です。GitHubにはdsh-pluginトピックでのプラグイン公開が案内されており、コミュニティ主導でエコシステムを広げる設計になっています。

主なユースケース

  • 自分専用のエージェント基盤を組みたい開発者: モデル・ツール・承認ポリシーなどをcordis.patch.ymlで個別に上書きし、既存のプラグインを差し替えながら独自構成のエージェントを作れます。
  • 複数のLLMプロバイダを切り替えて検証したいチーム: DeepSeek公式・Anthropic等のカタログプロバイダ・OpenAI互換のカスタムエンドポイントを同じ設定体系で扱えるため、コストや性能を比較しやすい構成です。

動作環境

Node.js環境があればnpxで起動できます。ソースからのビルドにはpnpmが必要です。公式のSAFETY.mdは「セキュリティ監査未実施・本番運用不可」と明記し、モデルが生成したコマンドやコードを実行してファイル・ネットワーク・認証情報にアクセスできる設計であるため、使い捨てのコンテナやVMなど隔離された環境での実行を推奨しています。ネットワーク越しの公開(--host 0.0.0.0)は、リモートコード実行を外部に晒すことになるため、意図的に無効化されています。

始め方(クイックスタート)

動作環境で触れた通り、公式SAFETY.mdは隔離環境での実行を推奨しています。用途に応じて次の3通りのいずれかで試せます。

1. Docker(隔離環境・推奨)

docker run -it --rm --network host node:22-bookworm npx @deepseek-ai/dsh web

--network hostでホストとネットワーク名前空間を共有すると、コンテナ内で127.0.0.1にバインドされるWeb UI(http://127.0.0.1:3080)にホスト側のブラウザからそのままアクセスできます。Docker Desktop for Macなど--network hostが使えない環境では、コンテナ内でsocatを使ってポートを橋渡しします。

docker run -d --name dsh-web -p 127.0.0.1:8080:8080 node:22-bookworm sleep infinity
docker exec -it dsh-web bash -c "apt-get update -qq && apt-get install -y -qq socat"
docker exec -d dsh-web bash -c "npx -y @deepseek-ai/dsh web --no-open"
docker exec -d dsh-web bash -c "socat TCP-LISTEN:8080,fork,reuseaddr,bind=0.0.0.0 TCP:127.0.0.1:3080"

起動できたらブラウザでhttp://127.0.0.1:8080を開きます。

2. Node.jsが直接使える環境

npx @deepseek-ai/dsh web

3. ソースからビルドする場合

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

モデル接続はどの方法でも共通で、Web UIの「Settings → Models」から行います。DeepSeek公式のAPIキーを入力する標準の経路のほか、「Add a custom provider」でbaseURLを指定すれば、Ollamaなどのローカルサーバーも接続できます。

実際に使ってみて

ホストの認証情報やファイルに触れさせないよう、使い捨てのDockerコンテナ内でセットアップし、Web UI経由で触りました。モデルはDeepSeekのAPIキーを使わず、手元のOllama(qwen3:30b-a3bornith-1.5:9bgemma4:26b)をOpenAI互換のカスタムプロバイダとして接続。課金・APIキーなしで一通り動かせたのは収穫でした。

一方で、Web検索のような単純なタスクを試しても狙った通りには動かず、マニュアルを読み込んで設定を詰めれば変わるのかもしれませんが、そこまでして検証を続けるほどの手応えは今回は感じられませんでした。素の第一印象としては、ハーネス自体の設計より裏で動くモデルの性能に結果が引っ張られる印象です。

こんな人におすすめ

  • モデル・ツール・承認ポリシーの中身まで自分で組み替える前提で、エージェント基盤づくり自体を楽しみたい開発者
  • DeepSeek APIの課金前に、ローカルLLMだけで挙動を確かめておきたい人
  • 箱出しの完成度より、自分の手で設定を詰めて育てていくプロセスそのものに価値を感じられる人

本記事は GitHub Trending を元に自動生成しています。最新情報は公式リポジトリをご確認ください。