project
OpenHarness - 香港大学がオープンソース化した軽量AIエージェントフレームワーク。
OpenHarnessは、香港大学のデータインテリジェンス研究所(HKUDS)がオープンソース化した軽量AIエージェントフレームワークです。完全にPythonで実装されており、わずか11,733行のコード(Claude Codeの44分の1のサイズ)で構成され、…
OpenHarnessとは何ですか?
OpenHarnessは、香港大学のデータインテリジェンス研究所(HKUDS)がオープンソース化した軽量AIエージェントフレームワークです。完全にPythonで実装されており、わずか11,733行のコード(Claude Codeの44分の1のサイズ)で構成され、コアツール機能(43個のツール)の98%、コマンドセット(54個のコマンド)の61%を再現しています。このプロジェクトはMITライセンスでライセンスされており、「エージェントハーネス」アーキテクチャを凝縮し、ツール呼び出し、永続メモリ、権限管理、LLMを中心としたマルチエージェント連携機能を提供します。Anthropic SkillsおよびClaude Codeプラグインエコシステムと完全に互換性があり、環境変数を介してOpenAI互換モデル(Kimi、DeepSeek、Ollamなど)への切り替えをサポートしています。
OpenHarnessの主な機能
-
エージェントコアループストリーミングツール呼び出し、指数バックオフ再試行、並列実行、リアルタイムトークンカウントとコスト追跡を可能にし、自動コンテキスト圧縮とブレークポイント再開をサポートします。
-
ツールセット(43種類以上)ファイル入出力、シェルコマンド、ウェブ検索、ブラウザ自動化、MCPプロトコル、ノートブック編集、タスク管理、Cronスケジュールタスクなどを網羅しており、Claude Codeのツール機能の98%を再現しています。
-
スキルシステムMarkdownファイルのオンデマンド読み込みをサポートし、以下のものと互換性があります。
anthropics/skillsこのエコシステムにはPydanticの型検証機能が組み込まれており、1000以上の公式およびコミュニティのスキルセットを再利用できます。 -
記憶と文脈自動噴射
CLAUDE.mdプロジェクトルール、セッション間永続性MEMORY.mdメモリファイル、サポートMEMORY_PLACEHOLDERテンプレートを用いたコンテキスト管理。 -
マルチエージェント協調サブエージェントの生成とタスクの委任、チームレジストリ管理、およびバックグラウンドタスクのライフサイクル管理をサポートします。今後のロードマップには、ClawTeamとの統合が含まれています。
-
アクセス制御マルチレベルのアクセス許可モード(デフォルト/自動/スケジュール/厳格モード)を提供し、パスレベルのルール、コマンドのホワイトリスト、対話型承認ダイアログボックス、およびツールの事前/事後フックをサポートします。
-
プラグイン拡張機能:互換性がある
claude-code/pluginsこのフォーマットは、カスタムコマンド、フック、エージェントクラス、およびMCPサーバー拡張機能をサポートしており、環境変数を介して任意のOpenAI互換モデル(Kimi、DeepSeek、Ollamなど)に切り替えることができます。
OpenHarnessの技術原則
-
エージェントハーネスアーキテクチャ本システムは、LLMのインテリジェンス層(モデル)と実行層(ツール、メモリ、セキュリティ境界)を分離する「ハーネス」設計パターンを採用しています。モデルは実行すべきこと(What)を決定する役割を担い、ハーネスはそれを安全かつ効率的に実行すること(How)を担い、完全な可観測性を提供します。
-
コアエージェントループ標準的なReActツール呼び出しループを実装します。LLMはツール仕様をJSON形式で出力し、ハーネスがそれを解析して並列実行し、結果をストリーミングします。このループは、モデルがツール呼び出しを停止するまで続きます。
stop_reason != "tool_use"この期間中、インデックスのバックオフ再試行とトークンカウントは自動的に処理されます。 -
モジュール型サブシステムアーキテクチャこれは、エンジン(ループエンジン)、ツール(43個のツールのレジストリ)、スキル(Markdownスキルローダー)、プラグイン(拡張フック)、パーミッション(パーミッション管理)、フック(ライフサイクルイベント)、メモリ(永続メモリ)、コーディネーター(マルチエージェント調整)、MCP(モデルコンテキストプロトコルクライアント)など、10個以上の独立したサブシステムで構成されており、各レイヤーは明確に定義されたインターフェースによって分離されています。
-
コンテキストとメモリ管理自動トークン注入のために、トークン予算メカニズム(例:128kの制限を80kに圧縮する)を採用する。
CLAUDE.mdSQLite永続化を使用したプロジェクトルールMEMORY.mdセッション間メモリ、自動コンテキスト圧縮、中断された会話の再開をサポートしています。 -
権限とガバナンスのフック傍受は、PreToolUse/PostToolUseライフサイクルフックを通じて実現され、マルチレベルの権限モード(デフォルト/自動/スケジュール/厳格)、パスレベルのルールマッチング、コマンドホワイトリスト、および対話型承認ダイアログボックスをサポートすることで、機密性の高い操作が制御可能であることを保証します。
-
マルチエージェント協調メカニズムスウォームモードでは、レジストリを介してサブエージェントIDを管理し、タスク委任にJSONペイロードを使用し、PythonのAsyncioコルーチンに基づいてライフサイクルを管理し、バックグラウンドタスクと並列研究サブタスク(ディープリサーチシナリオなど)をサポートします。
-
モデルの中立性と互換性: 環境変数を通じて (
ANTHROPIC_BASE_URL/ANTHROPIC_MODELOpenAI互換のエンドポイント(Kimi、DeepSeek、Ollamなど)をすべてサポートしており、ツール呼び出しには標準のJSONスキーマを使用し、スキルおよびプラグイン形式との互換性も備えています。anthropics/skillsそしてclaude-code/plugins生態学。 -
軽量エンジニアリング実装Python 3.10+ のみで実装されています。
uvパッケージマネージャーは、11,733行のコード(Claude Codeの44分の1)でロックフリーのファイルインストールを可能にし、エンタープライズレベルのオーバーヘッド(テレメトリ、OAuth、数百のReactコンポーネント)を排除し、標準入出力プロトコルを介してバックエンドと通信するオプションのフロントエンドとしてReact TUIを維持します。
OpenHarnessの使い方
-
環境準備システムにPython 3.10以降がインストールされていることを確認してください。
pip install uvUVパッケージマネージャーをインストールし、LLM APIキー(AnthropicまたはOpenAI互換エンドポイントをサポートするもの)を準備してください。 -
設置プロジェクトプロジェクトディレクトリで実行してください
uv init my-project && cd my-projectプロジェクトを初期化してから、実行します。uv add "hkuds/openharness[cli]"OpenHarnessとそのCLI依存関係をインストールしてください。 -
設定キー:合格
export ANTHROPIC_API_KEY=sk-...APIキーを設定してください。MoonshotやDeepSeekなどの他のモデルを使用する場合は、追加の設定が必要です。export ANTHROPIC_BASE_URL=...対応するエンドポイントを指します。 -
プロジェクトを初期化する:埋め込む
oh initコマンドは自動的に生成されますCLAUDE.mdプロジェクトルール文書およびMEMORY.mdファイルテンプレートを覚えておき、初期プロジェクト設定を完了してください。 -
対話を開始する:走る
oh run --model claude-3.5-sonnet対話型セッションに入るか、実行するoh demo組み込みのデモタスクを実行して、コア機能を体験してください。 -
スキル:意思
.mdスキルファイルが配置されましたskills/目次または~/.openharness/skills/システムはフロントマターのメタデータを自動的に識別し、必要に応じて読み込むことで互換性を確保します。anthropics/skills生態学。 -
アクセス管理:使用
oh run --permissions strict厳格なガバナンスモデルを開始するか、oh -p "提示词" --output-format jsonヘッドレス/CIモードで構造化された出力を実現します。 -
マルチエージェント協調サブエージェントを作成し、Swarmパターンを使用してタスクを委任し、Asyncioコルーチンを利用してバックグラウンドタスクのライフサイクルを管理し、サブタスクの並列処理をサポートします。
OpenHarnessプロジェクトのアドレス
- GitHubリポジトリ:https://github.com/HKUDS/OpenHarness
OpenHarnessの主な利点
-
超軽量44倍のコード圧縮(11,733行対512,664行)、163ファイル、Python 3.10以降の単一言語スタック、エンタープライズレベルの肥大化なし(テレメトリ、OAuth、数百のReactコンポーネントを削除)。
-
環境に優しいClaude Codeのワークフローを再現し、12種類以上の公式プラグインをサポートし、プラグアンドプレイ機能を提供することで、移行コストを削減します。
-
モデル中立: 設定を通じて人間をバインドしないでください
ANTHROPIC_BASE_URL互換性のあるエンドポイント(例えば月の裏側など)を指定することで、モデルを切り替えることができます。 -
開封時の安全性主な機能としては、ツール実行前後のフック、パスレベルの権限ルール、機密性の高い操作のインタラクション確認などが挙げられます。ローカル実行時には厳格モードを設定できます。
-
完全なテスト114個の単体テストと6個のE2Eスイートがあり、これらはClaude Codeには含まれていません。
OpenHarnessの重要な情報と使用要件
-
プロジェクトの背景香港大学のデータインテリジェンス研究所(HKUDS)は、2026年4月1日にMITライセンスの下でオープンソース化され、GitHubで約1,300のスターを獲得しています。現在のバージョンv0.1.0は開発初期段階です。
-
技術仕様Python 3.10以降のみで実装されており、コード行数はわずか11,733行(Claude Codeの44分の1のサイズ)、ファイル数は163個です。
uvパッケージマネージャーを使用すると、ロックなしでファイルをインストールできます。 -
アーキテクチャのポジショニングこれは「エージェントハーネス」アーキテクチャを採用し、LLMのインテリジェンス層と実行層を分離し、Claude Codeのツール機能の98%(43個のツール)とコマンドセットの61%(54個のコマンド)を再現しています。
-
モデル中立性Anthropic API のネイティブサポートは、
ANTHROPIC_BASE_URL環境変数は、Moonshot、DeepSeek、OpenRouter、Ollamなど、OpenAI互換のエンドポイントであればどれでも切り替えることができます。 -
環境に優しい:互換性がある
anthropics/skillsスキルエコシステム(1000以上のプラグイン)とclaude-code/plugins拡張フォーマットに対応し、MCPプロトコルとの統合をサポートします。 -
テストカバレッジ114個の単体テストと6個のエンドツーエンドテストスイートが含まれています(Claude Codeにはこの範囲はありません)。
-
環境への依存Python 3.10以降が必要です。
uvパッケージマネージャー(pip install uvpipによる直接インストールはサポートしていません。 -
API設定LLM APIキーを準備し、環境変数を設定する必要があります。
ANTHROPIC_API_KEY非人間的モデルを使用する場合は、追加の設定が必要です。ANTHROPIC_BASE_URLそしてANTHROPIC_MODEL -
プロジェクトの初期化初回使用時に実行する必要があります
oh init生成するCLAUDE.md(プロジェクトルール)MEMORY.md(メモリファイル)テンプレート -
ネットワーク要件ウェブ検索、ブラウザ自動化、MCPサーバーなどのツールはインターネット接続が必要ですが、コア機能は完全にオフラインで実行できます(ローカルのOllamaを使用する場合)。
OpenHarnessの競合分析
| 比較対象寸法 | OpenHarness (香港大学、香港デジタルサービス学部) | Claude Code (Anthropic) | OpenClaw(オープンソースコミュニティ) |
|---|---|---|---|
| 開発者 | 香港大学のデータインテリジェンス研究所(HKUDS) | アントロピック(AI分野のユニコーン企業) | オリジナルのClawdbotチーム/オープンソースコミュニティ |
| リリース時間 | 2026年4月1日 | 2025年2月(v2.1以降、継続的な反復開発) | 2025年11月(Clawdbot)→2026年1月(OpenClaw) |
| コードサイズ | 11,733行 (クロード・コードの1/44) | 512,000行以上 TypeScript | 43万行以上 Node.js |
| プログラミング言語 | Python 3.10+ | TypeScript(Bunランタイム) | TypeScript/Node.js |
| オープンソースライセンス | MIT | 非公開ソース(ソースコードは2026年3月31日に誤って流出した) | MIT |
| 建築設計 | エージェントハーネスパターン:インテリジェンス層と実行層の分離、フラットでモジュール化されたサブシステム | 多層ガバナンスアーキテクチャ:エージェントループ+コンテキスト圧縮+アクセス制御プレーン | 3層構造のハブアンドスポークシステム:ゲートウェイ + チャネル + LLMレイヤー |
| モデルサポート | OpenAI互換のエンドポイント(Kimi/DeepSeek/Ollama)であればどれでも使用可能 | 人間モデルのみ(Claude 4.6/Opus) | 複数のモデル(Claude/GPT/ローカルモデル) |
| ツールの機能 | 43個のツール(クロード・コードの98%再現) | 40種類以上のツールと85種類のスラッシュコマンド | 内蔵ツール + 13,729以上のClawHubスキル |
| メモリ機構 | CLAUDE.md + MEMORY.md セッション間の持続性 |
トリプル圧縮(マイクロ/オート/フル)+カイロス永久メモリ(リーク版) | SOUL.md 性格定義 + マークダウンメモリ |
| マルチエージェントサポート | スウォームパターンにおけるサブエージェントの委任(Asyncio) | コーディネーターパターン(機能漏洩)+サブエージェントツール | 非同期マルチエージェントワークフロー + OpenClaw-RL強化学習 |
| 拡張法 | Skills (Markdown) + Plugins + MCP | スキル + プラグイン + MCP + 108個の内部機能フラグ | スキル(ClawHub)+50以上のコミュニケーションチャネル |
| フロントエンドとのやり取り | React TUI(オプション、バックエンドは独立して実行可能) | React + Ink Terminal UI(密結合) | WebChat + コントロール UI + マルチプラットフォーム ボット |
| 展開モード | ローカルCLI/コンテナ | ターミナルCLI / エンタープライズホスティング | セルフホスト型ゲートウェイ(ポート18789)/VPS |
| セキュリティ管理 | 4段階の権限モード + フック + パスルール | 6段階の権限モード+サンドボックス+監査用分類器モデル | 基本的なサンドボックス環境と手動承認(NanoClawは拡張版を提供しています) |
| 対象ユーザー | AI研究者、独立系開発者、マルチエージェントチーム | プロの開発者とエンタープライズチーム | プライバシーを重視するユーザーと自動化を求める人々 |
| 成熟 | v0.1.0 初期バージョン(1,300スター) | 生産レベル(ユーザー数百万) | 25万個以上の星、巨大なエコシステム |
OpenHarnessの応用シナリオ
-
AIエージェントの研究とプロトタイプ開発研究者がエージェントのループ、ツール呼び出し、メモリ機構を容易に理解できる、軽量なPythonコードベース(11,733行)です。TypeScriptやエンタープライズレベルのコードの複雑さに煩わされることなく、マルチエージェント協調やコンテキスト圧縮といった最先端のアイデアを迅速に検証するのに適しています。
-
ローカルプライベートスマートアシスタントローカルのOllamaエンドポイントを設定することで、イントラネット環境やオフライン環境で実行でき、金融や医療などの機密性の高い業界の要件(データが国外に持ち出されないこと)を満たしながら、Claude Codeレベルのコード編集機能とファイル操作機能を維持できます。
-
CI/CD自動生産ライン: ヘッドレスモードを利用する (
oh -p "提示词" --output-format jsonGitHub ActionsやGitLab CIなどの環境で、コードレビュー、自動テスト生成、ドキュメント更新などのタスクを実行し、後続のステップで解析するための構造化された結果を出力します。 -
マルチエージェントコラボレーションシステムこれは、スウォームパターンを通じてサブエージェントを作成し、並列タスク(複数のコードリポジトリを同時に検索したり、異なる技術ソリューションを比較したりするなど)を委任します。これは、複雑な研究開発タスクの分解と調整に適しており、従来のワークフローオーケストレーションツールの一部を置き換えることができます。
-
スキル主導型のドメイン固有ツール:負荷
anthropics/skillsデータ分析、ウェブスクレイピング、APIテストなどのMarkdownスキルファイルのエコシステムにより、特定のテクノロジースタック(Python、React、Dockerなど)専用のAIアシスタントを迅速に作成できます。 -
開発者向けCLIワークフローの強化これは日常的なターミナルワークフローに統合することで、一部の手動シェル操作を置き換え、自然言語によるコマンド実行、バッチファイル名の変更、コードのリファクタリング、Gitコミットメッセージの生成といった高頻度の開発タスクを可能にする。