Claude Codeを使い込むほど、ある欲が出てきます。「このツール実行・スキル・メモリ・権限という仕組みそのものを、好きなモデルで、中身を全部見ながら動かせたら」。Claude Codeは強力ですが、モデルはAnthropic製に、中身はブラックボックスに、それぞれ縛られています。OpenHarness(オープンハーネス)は、その願いに正面から応えた——Claude Codeの中核をまるごとオープンソースで再実装した、軽量Pythonのエージェント基盤(ハーネス)です。開発は香港大学データサイエンス系のHKUDS、ライセンスはMIT。GitHubで14.5kスター(2026年7月時点)を集めています。READMEの一文が思想を言い切っています——「モデルは知能を、ハーネスは手・目・記憶・安全を提供する」。

この記事を読むと、①OpenHarnessで結局何ができるのか(Claude Code相当のハーネスを自分で動かし、好きなLLMに差し替え、ohmoでチャット常駐エージェントにできる)、②どんな課題を解決するのか(Claude Codeのモデル固定・ブラックボックス・拡張のしにくさ)、③何を代替できるのか(Claude Codeの仕組み、独自エージェントループの自作)が分かります。そもそも「ハーネス」とは何か、Claude Codeの全体像を先に押さえたい方は、Claude Code完全ガイド2026を合わせて読むと、OpenHarnessが何を再現しているのかが立体的に掴めます。

OpenHarness:Claude Codeの中核(ツール実行・スキル・メモリ・権限・マルチエージェント)をオープンソースで再実装し、好きなLLMに差し替えられる軽量Pythonエージェント基盤
OpenHarnessは、Claude Codeの「ハーネス」部分をOSS化し、モデルを自由に差し替えられるようにしたエージェント基盤。
この記事のポイント
  • ・OpenHarnessは、Claude Codeの中核をOSS再実装した軽量Pythonエージェント基盤(MIT・14.5k★)。
  • ・43以上のツール、anthropics/skills互換スキル、CLAUDE.md/MEMORY.md、Default/Auto/Plan権限を備える。
  • ・Claude・Kimi・GLM・OpenAI・Ollama等、好きなLLMプロバイダに差し替え可能。
  • ・個人AI「ohmo」で、Slack等に常駐し自律的にPRまで出せる。
  • ・claude-codeプラグイン互換(12公式プラグインでテスト済み)。既存資産を持ち込める。

1. OpenHarnessとは:Claude Codeの仕組みをまるごとOSS化したエージェント基盤

OpenHarnessのランディング。ツール実行・スキル・メモリ・安全性を備えた軽量なエージェントハーネスであることを示す
OpenHarnessは「LLMを実際に働くエージェントにする土台」を提供する。出典: HKUDS/OpenHarness README

OpenHarnessは、LLMを「賢いだけの存在」から「実際に手を動かすエージェント」へ変えるための土台(ハーネス)を提供する、軽量なPythonフレームワークです。公式の説明は「ツール実行・スキル・メモリ・マルチエージェント協調という、エージェントのコアとなる軽量インフラ」。

ここで鍵になるのが「ハーネス」という言葉です。LLM単体は、文章を生成できても、ファイルを読み書きしたり、コマンドを実行したり、過去を記憶したりはできません。それらの「手・目・記憶・安全」を与えて、LLMを実務で働けるエージェントに仕立てる仕組み——それがハーネスです。Claude Codeが内部で持っているのがまさにこのハーネスであり、OpenHarnessはその部分をオープンソースで作り直したわけです。

Claude Codeユーザーなら、OpenHarnessの設計に無数の既視感を覚えるはずです。

ツール名がそのまま:Bash / Read / Write / Edit / Glob / Grep など
CLAUDE.mdの発見と注入:プロジェクトの文脈を自動で読み込む
権限モード:Default / Auto / Plan の3段階
スラッシュコマンド・フック・MCPクライアント:拡張と連携の仕組み

つまりOpenHarnessは、「Claude Codeの使い勝手はそのままに、モデルとコードの主導権を利用者に返した」基盤だと言えます。「便利なクローズドツールを使う」のではなく「同じ仕組みを自分の手元で動かす」——この立ち位置が新しさの核心です。

ひとことで
  • ・OpenHarness=Claude Codeの「ハーネス(手・目・記憶・安全)」をOSS再実装したもの。
  • ・使い勝手はClaude Code譲り、しかしモデルもコードも自分で選べるのが違い。

2. なぜ必要か:モデル固定・ブラックボックスなハーネスから主導権を取り戻す

OpenHarnessのコンセプト図。モデル(知能)とハーネス(手・目・記憶・安全)を足して、実際に働くエージェントになるという等式
「モデル(知能)+ハーネス(手・目・記憶・安全)=実際に働くエージェント」というOpenHarnessの中心思想。出典: OpenHarness README

OpenHarnessが解決するのは、優れたクローズドなエージェントツールが構造的に抱える「主導権の欠如」です。Claude CodeやCodexは体験こそ素晴らしいものの、その裏返しとして次の制約があります。

モデル固定:使えるモデルがベンダーの提供するものに縛られる
ブラックボックス:内部でどう動いているかが見えず、細かく手を入れられない
拡張の壁:独自のツールや挙動を、仕組みの深部から作り込みにくい
ベンダー依存:ツールの方針変更や価格改定に、自分の運用が左右される

OpenHarnessは、これらを「ハーネスを開く」ことでひっくり返します。上の図が示すとおり、思想はシンプルです——モデル(知能)+ハーネス(手・目・記憶・安全)=働くエージェント。この等式のうち、ハーネスをオープンにして、モデルを差し替え可能にしたのがOpenHarnessです。モデルが知能を担い、ハーネスがそれ以外のすべて(実行・記憶・安全)を担うなら、知能の部分だけ好きに選べばよい——という発想です。

誤解しないでほしい点
  • ・OpenHarnessは「Claude Codeの完全上位互換」ではない。公式ツールの磨き込みや保証は別物。
  • ・自由度と引き換えに、プロバイダ設定や権限設計は自分で行う“建てる側”の責任を負う。

この制約が効いてくるのは、特定モデルに縛られたくない、内部を理解して作り込みたい、コストを自分で最適化したいという要求が強まるほどです。手軽に使うだけなら公式ツールで十分ですが、「ローカルLLMで動かしたい」「独自のツールを深く統合したい」「ベンダーに運用を握られたくない」——こうした要件が一つでも入ると、OpenHarnessの“開かれている”価値が立ち上がります。Claude Codeのハーネスという概念をより深く知りたい方は、コーディングハーネスの解説も併読すると、OpenHarnessが再現している対象がくっきりします。

3. 主な機能:43ツール・スキル・メモリ・権限・マルチエージェント

OpenHarnessのツールキット。Bash/Read/Write/Edit/Glob/GrepやWebFetch/WebSearch、MCP連携、サブエージェント生成など43以上のツールを備える
43以上のツールを備えるツールキット。ファイル操作から検索、MCP、サブエージェント生成まで。出典: OpenHarness README

OpenHarnessの機能は、「エージェントが実務で働くために必要なもの」を一通りそろえています。柱ごとに見ていきましょう。

43以上のツール:Bash・Read・Write・Edit・Glob・Grepといったファイル/シェル操作に加え、WebFetch・WebSearch・LSP(言語サーバ連携)、タスク管理、MCP統合、ノートブック編集、そしてサブエージェントの生成と協調まで。エージェントの「手」となる道具がひととおりそろっています。ツール呼び出しは並列実行でき、トークン数とコストも計測されます。

スキル(知識システム):Markdownファイルとしてオンデマンドで読み込むスキルの仕組みを持ち、anthropics/skills互換。40以上のスキルが同梱され、開発ワークフローをカバーします。さらに54個の組み込みスラッシュコマンドも備えます。

メモリと文脈CLAUDE.mdの発見と注入、長いセッションでの自動的な文脈圧縮、セッションをまたいで知識を残すMEMORY.md、そしてセッションの再開に対応します。「昨日の続き」を扱えるのがエージェント運用では効いてきます。

安全性とガバナンス:Default・Auto・Planの多段権限モード、パス単位・コマンド単位のルール、PreToolUse/PostToolUseのライフサイクルフック、対話的な承認ダイアログ。

マルチエージェント協調:サブエージェントの生成と委譲、チームレジストリとタスク管理、バックグラウンドタスクのライフサイクル対応。

これらの多くがClaude Codeと同じ語彙(CLAUDE.md、スキル、権限モード、スラッシュコマンド)で提供される点が、移行のハードルを大きく下げています。主要機能をClaude Codeと対比すると、次のようになります。

観点 OpenHarness Claude Code(クローズド)
モデル Claude/Kimi/GLM/OpenAI/Ollama等を差し替え Anthropic製に固定
中身 OSSで全て可視・改変可 ブラックボックス
スキル anthropics/skills互換(40+同梱) 公式スキル
権限モード Default/Auto/Plan Default/Auto/Plan
プラグイン claude-codeプラグイン互換(12検証) 公式プラグイン
ライセンス MIT プロプライエタリ
設計思想が効くところ
  • ・「Claude Codeと同じ語彙」で作られているため、既存ユーザーの学習コストが小さい。
  • ・スキル・プラグインの互換性で、Claude Code周辺の資産をそのまま活用できる。

4. アーキテクチャ:10サブシステムとエージェントループ

OpenHarnessのエージェントループ。クエリ→ストリーム→ツール呼び出し→ループという中核サイクルを、権限検証を挟みながら回す
エージェントループ:クエリ→ストリーム→ツール呼び出し→結果を戻す、を回し続ける。出典: OpenHarness README

OpenHarnessの内部は、10前後のサブシステムが役割分担する構成です。主なものを挙げます。

engine/:エージェントループ(クエリ→ストリーム→ツール呼び出し→ループ)の心臓部
tools/:43以上のツールを登録するレジストリ
skills/:Markdownスキルの知識管理
plugins/:拡張の仕組み
permissions/:安全レイヤー
hooks/:ライフサイクルイベント
commands/:54個の組み込みスラッシュコマンド
mcp/:Model Context Protocolクライアント
memory/:永続的な知識ストレージ
coordinator/:マルチエージェントのオーケストレーション

中核にあるのがエージェントループです。仕組みはシンプルで、API応答を受け取り、ツールの実行が必要かを判定し、権限検証を挟んでツールを実行し、結果をモデルに戻す——これを延々と繰り返します。ストリーミングでツール呼び出しを回し、APIの失敗には指数バックオフでリトライします。この流れを図にすると次のようになります。

flowchart TD Q["ユーザーのクエリ"] --> M["モデルに問い合わせ
(ストリーミング)"] M --> D{"ツール実行が必要?"} D -->|"いいえ"| Ans["回答を返す"] D -->|"はい"| Perm{"権限検証
Default/Auto/Plan"} Perm -->|"許可"| Exec["ツール実行
(並列可)"] Perm -->|"要承認"| Ask["対話的に承認を求める"] Ask --> Exec Exec --> Feed["結果をモデルに戻す"] Feed --> M

この図で見逃せないのが、ツール実行の手前に必ず入る権限検証です。エージェントがファイルを書き換えたりコマンドを実行したりする以上、「何をどこまで許すか」のゲートがループの内側に組み込まれていることが、安全に自律実行させる鍵になります。「賢く動く」だけでなく「安全に止まれる」設計が、ハーネスの本質です。

5. ohmo:チャットに常駐して自律的にPRを出す個人AIエージェント

ohmo:OpenHarness上に構築された個人AIエージェント。Feishu/Slack/Telegram/Discordに常駐し、ブランチを切りコードを書きテストを走らせPRを開く
ohmoは、チャットに常駐して長いセッションを通じて“実際に働く”個人AIエージェント。出典: OpenHarness README

OpenHarnessが「基盤」なら、ohmo(オーモ)はその上に建てられた具体的な完成品です。位置づけは「OpenHarness上に構築された個人用AIエージェント」。ポイントは、単なるチャットボットではなく、長いセッションを通じて実際に働くアシスタントである点です。

ohmoは、Feishu・Slack・Telegram・Discordといったチャットプラットフォームに常駐します。そして、こちらが話しかけると——リポジトリのブランチを切り、コードを書き、テストを走らせ、プルリクエストを自分で開く、という一連の開発作業を自律的にこなします。しかも、既存のClaude CodeやCodexのサブスクリプションをそのまま流用して動かせます。

導入もシンプルです。

ohmo init         # ワークスペースを初期化
ohmo config       # チャンネル(Slack等)を設定
ohmo gateway start  # 各チャットプラットフォームで起動

「Slackで頼んだら、AIがブランチを切ってPRを出して待っている」——ohmoが実現するのは、この作業分担です。チャットは人間が最も自然に指示を出せる場所であり、そこにOpenHarnessのハーネス(ツール実行・記憶・安全)を持ち込むことで、「常駐して働く相棒」が成立します。OpenHarnessという基盤があるからこそ、ohmoのような実用的なエージェントが上に建てられる——この「基盤と応用」の関係が、プロジェクト全体の設計をよく表しています。

6. 対応プロバイダと導入:oh setupで好きなLLMを差し替える

OpenHarnessの魅力を最大化するのが、幅広いプロバイダ対応です。「ハーネスを開いてモデルを差し替え可能にする」という思想が、ここで具体化します。対応するプロバイダを整理します。

系統 対応プロバイダ(例)
Claude系 Claude(公式API)、Claudeサブスクリプション
OpenAI互換 OpenAI、OpenRouter、DeepSeek、DashScope、SiliconFlow ほか
推論特化 Moonshot/Kimi(推論対応)、GLM、MiniMax
コーディング系 Codexサブスクリプション、GitHub Copilot
高速/ローカル Groq、NVIDIA NIM、Ollama(ローカル)

しかも、ワークフロー(プロファイル)ごとに認証情報を切り替えられるため、「この作業はClaude、あの作業はローカルのOllama」といった使い分けが可能です。導入自体はワンライナーで完了します。

# Linux / macOS / WSL
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash

# 初期設定して起動
oh setup
oh

さらに、スクリプトから使う非対話モードも用意されています。単発のプロンプトを流したり、構造化された出力(JSON)を得たりできるので、CI/CDや自動化パイプラインへの組み込みに向きます。

oh -p "このコードベースを説明して"                 # 単発プロンプト
oh -p "..." --output-format json                    # 構造化出力

加えて、ドライラン(dry-run)モードでは、モデルやツールを実際に動かさずに、設定・認証状態・スキル・ツールをプレビューできます。本番で走らせる前の検証に便利です。使い始めの流れをまとめると、こうなります。

・インストールスクリプトを実行する(Linux/macOS/WSL or Windows)
oh setup で使いたいプロバイダの認証を設定する
oh で対話起動、あるいは oh -p "..." でスクリプトから呼ぶ
・必要に応じてドライランで設定を確認してから本実行する

「入れて、oh setupで好きなLLMを繋ぎ、ohで起動」——この手軽さで、Claude Code相当の体験を好きなモデルで得られるのがOpenHarnessの実力です。ローカルLLMとの組み合わせに関心があれば、ローカルLLMツールガイド2026も参考になります。

7. 導入判断:向いている人・注意点

OpenHarnessの導入判断:モデル固定を避けたい人・ローカルLLMで動かしたい人・Claude Codeの仕組みを学びたい人に刺さる一方、開発者向け・若いプロジェクトである点が注意
導入判断の観点。銅色は価値が出る条件、⚠️は開発者前提・発展途上などの注意点。

最後に、導入すべきかの判断材料を整理します。

OpenHarnessが向いている人

特定モデルに縛られたくない(Claude・Kimi・GLM・ローカルLLMを差し替えたい)
ローカルLLM(Ollama)でコーディングエージェントを動かしたい
・Claude Codeの仕組みを理解して作り込みたい(中身がOSSで見える)
チャットに常駐する自律エージェント(ohmo)を自前で持ちたい
・既存のClaude Codeスキル・プラグイン資産を流用したい

慎重に判断すべきケース

・公式ツールの磨き込みとサポートを最優先したい(OSSゆえ保証は別)
・ターミナルやリポジトリ操作に不慣れ(開発者向けツール)
・枯れた安定性が必須(活発に開発中の若いプロジェクト)

いくつか具体的な注意点も押さえましょう。まず開発者向けツールであること。CLIの導入自体は簡単ですが、真価を出すにはターミナル・リポジトリ操作の知識が前提です。次に発展途上であること。最新はv0.1.9(2026年5月)とバージョン番号が示すとおり、活発に開発が続く段階です。仕様変更を前提に、バージョンを固定して使うのが安全です。そして自由と責任は表裏一体であること。モデルもコードも自分で選べる反面、プロバイダ設定や権限設計は自分で正しく行う必要があります。特に権限モードやパスルールの設定は、自律実行させる前に必ず詰めておくべきです。

導入前チェック
  • ・開発者向け。ターミナル・リポジトリ操作の前提知識が要る。
  • ・v0.1.9と若い。活発な開発中のため、バージョン固定で運用する。
  • ・自律実行の前に権限モード(Default/Auto/Plan)とパス/コマンドルールを必ず設計する。

OpenHarnessは、Claude Codeという「完成された体験」を、開かれた仕組みとして学び・改造・移植できる形に開いてくれます。公式ツールの手軽さを取るか、OSSの主導権を取るか——その選択を、Claude Code完全ガイド2026で全体像を掴んだうえで判断すると、後悔のない使い分けができます。

まとめ

OpenHarnessは、「Claude Codeの中核を、開かれた仕組みとして自分の手に取り戻す」という思想を、軽量Pythonのハーネスとして具体化したプロジェクトです。43以上のツール、anthropics/skills互換のスキル、CLAUDE.md/MEMORY.md、多段の権限モード——Claude Codeの語彙をそのまま踏襲しつつ、モデルもコードも利用者の自由に委ねました。その上に建つohmoは、チャットに常駐して自律的にPRまで出す、実用的な個人AIエージェントです。

結論
  • ・OpenHarnessは、Claude Codeの中核をOSS再実装した軽量Pythonエージェント基盤(MIT・14.5k★)。
  • ・43以上のツール・互換スキル・メモリ・多段権限を、Claude Codeと同じ語彙で提供する。
  • ・Claude・Kimi・GLM・OpenAI・Ollama等、好きなLLMに差し替えられる。
  • ・個人AI「ohmo」で、Slack等に常駐し自律的にPRまで出せる。
  • ・開発者向け・発展途上。自律実行の前に権限設計を必ず詰める。

「Claude Codeの仕組みを、好きなモデルで、中身を見ながら動かす」——これに惹かれるなら、curl ... install.sh | bash して oh setup から始めてみてください。Claude Codeの全体像はClaude Code完全ガイド2026を、ハーネスの概念はコーディングハーネスの解説を、ローカルLLM連携はローカルLLMツールガイド2026を、それぞれ合わせて読むと理解が立体化します。

参照ソース

HKUDS/OpenHarness (GitHub) — 公式リポジトリ。ツール・スキル・アーキテクチャ・ohmo・プロバイダ対応の一次ソース(MIT)。
OpenHarness Releases(v0.1.9ほか) — バージョンごとの変更点を追える一次ソース。
anthropics/skills(互換スキルの規格) — OpenHarnessが互換とするスキル規格の一次ソース。