DeepSeek HarnessとClaude Code、Omnigentの違いと選び方
DeepSeek Harness、Claude Code、Omnigentを比較し、アーキテクチャ、モデル結合、ライセンス、成熟度とVPSで動かすための要件を整理します。
DeepSeek Harness、Claude Code、Omnigent の比較: 必要なものはどれか
DeepSeek Harness、Claude Code、Omnigent はいずれもエージェントハーネスと呼ばれますが、解決する問題はそれぞれ異なります。DeepSeek Harness は、モデルを利用者が指定する Web UI(ユーザーインターフェース)付きのプラグインランタイムです。Claude Code は、Anthropic のモデルを実行する Anthropic 製のターミナルプログラムです。Omnigent は Databricks のオーケストレーターで、独自のエージェントループを実装するのではなく、Claude Code を含む他のハーネスを制御します。いずれも他の製品のドロップイン置換ではありません。選ぶ際に重要なのは、自分に不足している層がどれかです。
実際に違いがある軸は、アーキテクチャ、モデルとの結合度、インターフェース、成熟度、ライセンスです。以下の各バージョンと日付は、2026年8月18日時点で確認済みです。3つのうち2つは非常に速いペースで更新されているため、採用を決める前に再確認してください。
DeepSeek Harnessとは何か。プラグインモデルにはどのような利点があるのか
DeepSeekは2026年8月、github.com/deepseek-ai/deepseek-harnessでDeepSeek Harness、つまりdshを公開しました。リポジトリの説明には、設計全体が4語で示されています。すべてがプラグインです。モデルアダプター、ツールレジストリ、セッションログ、sandbox、さらにエージェントループ自体もすべてプラグインであり、Cordisを基盤とするランタイムが読み込みます。採用は異例の速さで進み、公開から数日以内にリポジトリのスター数は150,000を超えました(2026年8月18日時点で確認)。
DeepSeek Harnessは現在、developer previewです。開発は急速に進んでいます。互換性を損なう変更が発生します。
これはREADME自体の警告であり、この比較で最も重要な文です。現在プラグインAPI(application programming interface)を使って作成するものは、書き直しが必要になると考えてください。
Node.jsをインストールした状態で、npxを使って起動します。
npx @deepseek-ai/dsh webコマンドはURLを表示します。デフォルトでは、Web UIはhttp://127.0.0.1:3080で提供されます。ソースからビルドする場合は、代わりにpnpmを使います。
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh webdsh webはdsh --profile webの短縮形です。プロファイルは$DSH_HOME/profiles/配下のディレクトリで、ランチャーは指定したプロファイルを起動します。ヘッドレスプロファイルもあるため、この点が重要です。dsh --profile headless "job"は永続化されたセッションを1つ実行し、結果を表示して終了します。cronジョブやビルドステップでは、この形式が適しています。--profileや--patchなどのランチャーフラグは、アプリケーション独自の引数より前に指定する必要があります。ランチャーは引き渡し位置で解析を停止するためです。--portのようなフラグはランチャーではなく、起動したプロファイルに属します。そのため、指定位置が重要です。プラグインは、dsh plugin --profile web add <package>のように引数をpnpmへ転送して管理します。
Claude Code とは何か、なぜターミナルプログラムなのか
Claude Code は、Anthropic が提供する CLI(コマンドラインインターフェース)エージェントです。製品自体に Web UI はありません。作業対象のディレクトリでターミナルから実行するため、サーバーセッションに適しています。macOS、Linux、WSL では、次の1コマンドでインストールできます。
curl -fsSL https://claude.ai/install.sh | bash
claude --versionインストールが正常に完了すると、バージョンと製品名が表示されます。例えば 2.1.211 (Claude Code) です。失敗した場合は、claude doctor を実行すると、セッションを開始せずに読み取り専用のインストールおよび設定診断を表示できます。npm パッケージの npm install -g @anthropic-ai/claude-code もあります。v2.1.198 では Node.js 22 以降が必要です。これは同じネイティブバイナリをインストールするため、インストール後の claude は実行時に Node.js を使用しません。Anthropic は Debian、Ubuntu、Fedora、RHEL、Alpine 向けに、署名済みの apt、dnf、apk リポジトリも提供しています。構成管理で運用するサーバーでは、通常の更新手順で更新を適用できるため、こちらが適しています。
Claude Code を使用するには、Pro、Max、Team、Enterprise、または Console アカウントが必要です。無料の Claude.ai プランでは利用できません。Claude のサブスクリプションと API 課金のどちらを選ぶかによって、ツール内の設定よりも支払額が大きく変わります。
Omnigent とは何で、meta-harness は何をオーケストレーションするのか
Databricks は 2026 年 6 月に Omnigent を発表し、Apache 2.0 ライセンスでリリースしました。Omnigent は自らを meta-harness と呼んでいます。エージェントループを実装するものではありません。すでに存在するエージェント、つまり Claude、Codex、Cursor、OpenCode、Hermes、Pi、OpenAI's agents SDK (software development kit) を駆動します。これらの一部は harness の一覧に 2 回登場します。1 つはベンダーの SDK と通信する形式で、もう 1 つはベンダーの実際のターミナルプログラムをラップするネイティブ形式です。
エージェントは YAML ファイルです。YAML はプレーンテキストの設定形式です。
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
docs:
type: mcp
url: https://example.com/mcp
researcher:
type: agent
prompt: Search for relevant information.executor.harness の行が、このプロジェクト全体の要点です。claude-sdk を codex に変更すると、同じプロンプトと同じツールを別のベンダーで実行できます。ツールは Python 関数、MCP (model context protocol) サーバー、または別のエージェントです。最後の形式によって、マルチエージェント処理を表現できます。サブエージェントは単にツールとして扱われます。スキル、MCP サーバー、ルールファイルをどこに配置するかまだ決めていない場合は、エージェントスキル、MCP、ルールファイルの違いを先に読むとよいでしょう。Omnigent は、基盤となる harness がサポートするものをそのまま引き継ぐためです。
同梱されている例を見ると、この仕組みが具体的に分かります。Polly は、自身ではコードを書かないコーディングオーケストレーターです。計画を立て、複数の git worktree に配置したコーディング用サブエージェントへ並列に作業を委任し、その後、各 diff を別のベンダーのモデルで動作するレビュアーへ渡します。
公開されているスクリプトでインストールします。
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh手動でインストールすることもできます。この場合は Python 3.12 以降が必要です。
uv tool install omnigent
omnigent setup
omnigent startpip install "omnigent" も使用でき、追加機能は通常どおり uv tool install "omnigent[databricks,modal]" で選択します。omnigent setup は認証情報とデフォルト値を収集します。omnigent start はサーバーを起動し、マシンをホストとして登録し、http://localhost:6767 で Web UI を提供します。omnigent server status と omnigent stop は、日常的に使用する他の 2 つのコマンドです。単独の omnigent は、サーバーを起動せずに対話セッションを開始します。
依存関係の一覧は、1 行のインストーラーから想像するよりも長くなります。Python 3.12 以降、git、npm と pnpm を含む Node.js 22 LTS (long term support) 以降、ネイティブのターミナルラッパー用の tmux、Linux サンドボックス用の bubblewrap (bwrap) が必要です。これは設計上の直接的な帰結です。Omnigent はベンダーの CLI を自らインストールして監視する必要があります。そのため、Python ソフトウェアでありながら、Node.js ソフトウェアを実行する役割を担います。
モデルを提供するのは誰で、費用を負担するのは誰か
これは実務上の影響が最も大きい軸であり、3つの答えは明確に異なります。
DeepSeek Harness は、利用者がモデルを用意する方式です。インストール済みのプロバイダーカタログには、Anthropic、OpenAI、Bedrock、Vertex、Azure、Codex が含まれます。カスタムプロバイダーのエントリでは、小文字のプロバイダー ID、表示名、ベース URL、API プロトコル、認証情報、少なくとも1つのモデルを指定します。これにより、企業のゲートウェイやセルフホストサーバーを接続できます。キーは $DSH_HOME/.credentials.yaml に書き込まれ、$DSH_HOME/settings.yaml にはキーへの参照だけが保存されます。そのため、設定ファイルは共有しても安全ですが、認証情報ファイルは共有できません。ゲートウェイのエントリでは、代わりに環境変数を指定することもでき、例えば apiKeyEnv: GATEWAY_API_KEY のように記述します。プロジェクト名に DeepSeek が含まれていても、DeepSeek 独自のモデルの利用を強制されることはありません。
Claude Code は設計上、1社のベンダーに結び付いています。有料アカウントでログインするか、ANTHROPIC_API_KEY を設定します。後者では、ブラウザーを開かずに、そのキーを承認するよう Claude Code が1回だけ尋ねます。この方法はヘッドレスサーバーで利用できます。すでに別のサービスで容量を購入している組織は、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry 経由で接続できます。
Omnigent では、基盤のハーネスが必要とするものを omnigent setup で収集します。API キー、既存の CLI サブスクリプション、OpenAI 互換または Anthropic 互換のゲートウェイ、Databricks ワークスペースを利用できます。これがメタハーネスの実際のコストです。1台のマシンに、各ベンダーの認証情報がすべて保存されることになります。そのマシンをパブリックインターネットに接続する前に、AI エージェントの手が届かない場所に Secret を保管する方法を確認してください。
2026 年 8 月時点で、それぞれの成熟度はどの程度ですか?
Claude Code は 2025 年から一般提供されており、2026 年 8 月時点では 2.1.x 系です。バックグラウンドで自動更新され、latest と stable のリリースチャネルを提供しています。また、GPG 署名済みのリリースマニフェストを公開し、一定以上のバージョンを必要とする組織向けに minimumVersion ピンも文書化しています。これは、すでに本番環境で運用されている製品に見られる特徴です。
Omnigent は 2026 年 6 月から公開されており、現在も 0.x 系です。README では alpha と説明されています。対応する harness の一覧と YAML スキーマは、今後も変更されると考えてください。使用できる状態ではありますが、まだ安定版ではありません。
DeepSeek Harness は、成熟度という点では大きく遅れています。2026 年 8 月に公開され、この比較記事の執筆日の数日前に登場したばかりです。README 自身が、互換性を壊す変更を行う予定だと明記しています。非常に多くの star が付いていることから、多くの人が注目していることは分かります。しかし、それだけでは plugin API が固まっているかどうかは判断できません。
それぞれのライセンスは何ですか?
DeepSeek Harness は MIT で、サードパーティーライセンスは THIRD_PARTY_NOTICES.md に記載されています。Omnigent は Apache 2.0 です。Claude Code はオープンソースではありません。Anthropic の商用製品であり、実行には有料アカウントまたは従量課金の API アクセスが必要です。すべてのコードを読んで修正できることが要件なら、機能を比較する前に Claude Code は対象外になります。手をかけなくても来月もツールが動作し続けることが要件なら、選択は逆の方向になります。
VPS でそれぞれを実行するには何が必要ですか?
3 つの中では、Claude Code が最も簡単です。インストールしてログインし、SSH 接続が切れてもセッションが維持されるように tmux 内で実行します。Anthropic は、Ubuntu 20.04 以降、Debian 10 以降、または Alpine 3.19 以降で、4 GB 以上の RAM と x64 または ARM64 プロセッサを必要としています。Alpine では、先に bash、curl、libgcc、libstdc++、ripgrep もインストールしてください。これらがないと、インストールコマンドが not found エラーで失敗します。セッション管理については、VPS 上で tmux 内で Claude Code を実行するで詳しく説明しています。
DeepSeek Harness には Node.js と、Web UI を開くブラウザが必要です。README では Node.js の最低バージョンを指定していないため、周辺エコシステムが対象としている Node 22 LTS を選ぶのが安全です。ポート 3080 は公開しないでください。サーバーでは 127.0.0.1 のままにし、ノートパソコンからポート転送します。
ssh -N -L 3080:127.0.0.1:3080 you@your-vps次に、ローカルで http://127.0.0.1:3080 を開きます。プロファイルの構成とプラグインコマンドについては、VPS への DeepSeek Harness の完全なインストールで説明しています。
Omnigent は、他の開発元の CLI をインストールして管理するため、最も構成が重くなります。同じサーバーに Python 3.12、Node.js 22、npm、pnpm、tmux、bubblewrap が必要です。さらに、有効にした各ベンダーの CLI もダウンロードします。ポートは同じ方法で転送します。
ssh -N -L 6767:127.0.0.1:6767 you@your-vps他のユーザーも利用するサーバーでは、deploy/ にある Docker デプロイメントを使用するのがサポート対象の方法です。これにより、マルチユーザーアカウントがデフォルトで有効になります。手動で起動したサーバーでも OMNIGENT_AUTH_ENABLED=1 を設定すれば同じ動作にできます。OIDC (OpenID Connect) によるログインは、Google、GitHub、Okta、Microsoft に対応しています。エージェントがディスクに書き込むようになるとサンドボックスプロバイダーが重要になるため、Omnigent マルチエージェントハーネスガイドで確認してください。
サーバーのパブリック IP アドレスで Web UI が空白になるのはなぜですか?
どちらの Web ハーネスも、デフォルトでは loopback で待ち受けます。そのため、0.0.0.0 にバインドしてポートを開くのが自然に思えます。しかし、2 つの問題が発生します。1 つ目はセキュリティです。どちらもデフォルトのローカルモードでは認証機能を提供しないため、ポートを開くと VPS 上のシェルを公開することになります。2 つ目は、意外に思われやすいブラウザーのルールです。crypto.randomUUID() は secure context でのみ定義されます。これは HTTPS (hypertext transfer protocol secure)、localhost、または 127.0.0.1 を意味します。http://203.0.113.10:3080 のような通常のアドレスで同じ UI を読み込むと、ブラウザーのコンソールに次のエラーが表示されます。
TypeError: crypto.randomUUID is not a functionその後、セッションの作成が描画前に失敗するため、ページは一部しか表示されないか、まったく表示されません。サーバー側に問題はなく、ログにも通常のリクエストが記録されます。ブラウザーがその origin を信頼しないため、フロントエンドが依存する関数が定義されていないことが原因です。SSH トンネルを使用すれば、127.0.0.1 は secure context として扱われるため、証明書なしでこの問題を解決できます。実際の TLS (transport layer security) 証明書を保持するリバースプロキシでも解決できますが、その場合は自分で認証を追加する必要があります。
自分に合うものはどれですか?
今すぐ使えるコーディングエージェントを求めており、Anthropic に料金を支払うことに抵抗がなく、普段からターミナルで作業しているなら、Claude Code を選んでください。3 つの中で、プレビューではなく完成した商用製品なのは Claude Code だけです。
プラグインモデルを重視するなら、DeepSeek Harness を選んでください。モデルアダプター、sandbox、エージェントループを置き換えたい場合に適しています。ただし、接続先のインターフェースが変わることを受け入れる必要があります。プロバイダー一覧は Anthropic と OpenAI をカバーしているため、DeepSeek Harness を選ぶことは DeepSeek のモデルではなく、ランタイムに賭けることを意味します。
すでに複数のエージェント CLI を運用しており、実際の課題がポリシー、sandbox、別ベンダーのモデルによるレビュー、他の利用者が監視できる共有セッションの調整であるなら、Omnigent を選んでください。Omnigent はスタックにレイヤーを追加します。不要なレイヤーは障害要因になります。調整の課題がそこまで大きくないなら、同じホスト上で 2 つの Claude Code セッションを実行し、オーケストレーターを介さずに 相互にメッセージを送信できます。
候補をまだ絞り込んでいる段階なら、Mimo Code AI coding agent も Claude Code と同じターミナルエージェントのカテゴリに属します。また、どれを選ぶ場合でも、使い捨て VM でコーディングエージェントを実行する方法を読む価値があります。これら 3 つのいずれも、不注意な rm -rf を単独で安全にすることはないためです。3 つのいずれも、エージェントが提案する diff の大きさを決めることはありません。これはプロンプトレベルの問題です。そのため、どの harness を選ぶ場合でも、エージェントが機能する最小限の変更を提案するよう促す skillを重ねて使う価値があります。
FAQ
有料の Anthropic プランは Claude Code の利用に必要ですか?
はい。Claude Code には Pro、Max、Team、Enterprise または Console アカウントが必要で、無料の Claude.ai プランはアクセスに対応していません。ヘッドレス VPS では、初回実行前に ANTHROPIC_API_KEY を設定します。すると Claude Code はブラウザーを開こうとせず、そのキーを承認するよう 1 回だけ求めます。別の環境に容量がある組織は、Amazon Bedrock、Google Cloud's Agent Platform または Microsoft Foundry を指定することもできます。
DeepSeek Harness で Claude または OpenAI のモデルを実行できますか?
はい。インストール済みのプロバイダーカタログは Anthropic、OpenAI、Bedrock、Vertex、Azure、Codex に対応しています。Settings の Models で、プロバイダーごとにキーを追加します。カタログにないものはカスタムプロバイダーとして追加します。カスタムプロバイダーには、小文字のプロバイダー ID、ベース URL、API プロトコル、認証情報、少なくとも 1 つのモデルが必要です。キーは $DSH_HOME/.credentials.yaml に保存され、$DSH_HOME/settings.yaml には参照だけが保存されます。そのため、認証情報ファイルは別途バックアップし、バージョン管理の対象外にしてください。
Omnigent は Claude Code を置き換えますか?
いいえ。Omnigent は Claude Code を実行します。ハーネスの一覧には Claude、Codex、Cursor、OpenCode、Hermes、Pi が含まれ、エージェントは YAML ファイル内の 1 行の harness: でいずれかを選択します。基盤となる CLI のインストールと認証は、引き続き自分で行う必要があります。Omnigent はその上にオーケストレーション、ポリシー、サンドボックス機能を追加します。そのため、複数のエージェントまたは複数のベンダーを実行する場合にだけ、追加の依存関係を導入する価値があります。
サーバーのパブリック IP アドレスで DeepSeek Harness の Web UI が空白になるのはなぜですか?
通常の HTTP オリジンはセキュアコンテキストではなく、そこで crypto.randomUUID() が未定義になり、ブラウザーのコンソールに TypeError: crypto.randomUUID is not a function が表示されるためです。セッションの作成に失敗するため、サーバーのログが正常に見えても、ページは一部だけ、またはまったく表示されません。SSH で ssh -N -L 3080:127.0.0.1:3080 you@your-vps を使ってポートを転送し、http://127.0.0.1:3080 を開いてください。ループバックはセキュアコンテキストとして扱われます。実際の TLS 証明書を使用するリバースプロキシも利用できます。その場合は、認証を自分で追加する必要があります。
これらのハーネスには VPS にどの程度の RAM が必要ですか?
Anthropic は Claude Code に 4 GB 以上を推奨しています。DeepSeek Harness と Omnigent は必要量を公開していないため、推測せずに測定してください。3 つともモデルはリモートで実行されます。そのため、ハーネス自体は推論ではなく、プロセスの監視とファイル操作を担います。必要なマシンのサイズを実際に決めるのは、ビルドやテストスイートなど、エージェントがそのマシン上で実行する処理です。Omnigent は最も多くのリソースを必要とします。Python、Node.js、tmux、および有効にしたすべてのベンダー CLI が同じマシン上で実行されるためです。