project
omp - IDEと深く統合できるオープンソースのAIエンドポイントプログラミングエージェント。
omp(オーマイパイ)は、PiプロジェクトをベースにしたオープンソースのAI端末プログラミングエージェントです。コアコードは約27,000行のRust言語で構成され、40以上のモデルベンダーと32以上の組み込みツールをサポートしています。
OMPとは何ですか?
omp(オーマイパイ)は、PiプロジェクトをベースにしたオープンソースのAIターミナルプログラミングエージェントです。コアコードは約27,000行のRustコードで構成され、40以上のモデルベンダーと32以上の組み込みツールをサポートしています。ompは、IDEと深く統合できるターミナルコーディングツールとして位置づけられています。独自のハッシュラインハッシュアンカー編集技術、LSP/DAPプロトコル統合、そして真のブラウザ駆動型アーキテクチャにより、ompはコード編集、リファクタリング、デバッグ、検索機能を単一のターミナルインターフェースに統合し、ガラス越しにコードを見る必要のある既存のAIコーディングツールの限界を打ち破ります。
OMPの主な機能
-
ハッシュライン インテリジェントコードエディタこの手法では、コードコンテンツのハッシュ値をアンカーポイントとして使用して変更位置を特定し、従来のテキストマッチングに代わるとともに、空白の不一致によって発生する編集エラーを解決します。
-
LSPディープインテグレーション言語サーバープロトコルと連携することで、シンボル参照検索、ファイル間リファクタリング、関数名の変更といったIDEレベルのコード分析機能を実現します。
-
DAPデバッガードライバLLDB、Delve、debugpyなどの本格的なデバッガーをサポートし、ブレークポイントの設定、変数値やコールスタックの読み取り、トラブルシューティングのためのログ出力の置き換えなどが可能です。
-
デュアルカーネルコード実行組み込みの永続的なPythonおよびBunワーカーを備え、コードからエージェント自身の読み取り、検索、タスク、その他のツールへのコールバックをサポートします。
-
ウェブ検索とブラウジング14の検索プロバイダーを統合し、実際のブラウザを駆動し、アンチクローリング回避モードを有効にすることができ、ウェブページコンテンツを構造化された方法でモデルに供給します。
-
サブエージェントの並列実行複雑なタスクを複数のサブタスクに分割し、それらを異なるサブエージェントに割り当てて並列処理を行い、最後に結果を統合することをサポートします。
-
後知恵(セッション間記憶)エージェントは、会話の合間にプロジェクト構造やその他の情報を記憶できるため、新しい会話では最初から状況を説明する必要がない。
-
モデル動的ルーティングタスクの種類に基づいて異なるモデルを自動的に切り替え、[その他の機能]をサポートします。
/modelコマンドまたはショートカットキーCtrl+Pを使用して、コマンドを手動で切り替えます。
OMPの技術的原則
-
ハッシュラインアンカーアルゴリズムコードスニペットのコンテンツハッシュ値を計算することで、一意のアンカーポイントが生成されます。モデルは、ハッシュアンカーポイントと変更されたコンテンツを出力するだけでよく、元のコードスニペットを完全に書き換える必要はありません。
-
LSPプロトコルブリッジングLSPクライアントとして、プロジェクトの既存の言語サーバーと通信し、workspace/willRenameFilesなどの高度な意味操作をAIエージェントに公開します。
-
DAPプロトコルブリッジングデバッグアダプタプロトコルを介してLLDB-DAP、delve、debugpyなどのバックエンドとやり取りすることで、ブレークポイントの状態、変数スコープ、コールスタック情報が、モデルが理解できる構造化データに変換されます。
-
ループバックツールブリッジPython/Bun実行環境は、ローカルループバックインターフェースを使用してエージェントのツールセットを呼び出し、コード実行とファイルシステム/検索機能間の双方向通信を可能にします。
-
タイムトラベルストリームのルールモデル出力ストリーム内でリアルタイムの正規表現マッチングを実行します。ルールがトリガーされるとストリームが中断され、システムアラートが挿入され、対話の各ラウンドごとに追加のコンテキストトークンを支払うことなく、同じポイントから再試行されます。
-
メモリ圧縮の永続性Hindsightメカニズムは、重要なコンテキストを圧縮して保持し、セッション圧縮後もそれらを保持することで、セッションをまたいだ長期記憶を実現します。
OMPの使い方
-
macOS / Linux のインストール: ターミナルで実行
curl -fsSL https://omp.sh/install | shワンクリックでインストールできます。 -
バンドルインストール(推奨):埋め込む
bun install -g @oh-my-pi/pi-coding-agentグローバルインストールを実行します。 -
WindowsのインストールPowerShellで実行する
irm https://omp.sh/install.ps1 | iexWSLを必要としないネイティブサポート。 -
Mise バージョン管理:埋め込む
mise use -g github:can1357/oh-my-pi特定のバージョンをロックする。 -
使用を開始するプロジェクトディレクトリでインストールコマンドを実行してください。
omp要件を自然言語で記述することで、コーディング、リファクタリング、デバッグを開始できます。 -
モデル切り替え: ダイアログへの入力
/modelコマンドまたはボタンを押すCtrl+P現在使用しているAIモデルを周期的に切り替えます。 -
APIキーの設定初めて利用するユーザーは、指示に従って選択したモデルベンダーのAPIキーを設定する必要があります。ローカルのOllama/LM Studioでのキー不要の操作もサポートされています。
OMPの主な利点
-
編集成功率が約10倍に増加したHashlineは、Grok Code Fast 1の編集成功率を6.7%から68.3%に向上させると同時に、トークン消費量を約61%削減しました。
-
IDEレベルのセマンティック操作通常のテキスト置換とは異なり、ompはLSPを呼び出すことでファイル間で正確な再構築を実現し、名前変更後にすべての参照点を自動的に同期させることができます。
-
推測ではなく、真のデバッグDAPを介してデバッガを直接駆動して実行時状態を読み取ることで、従来のAIツールで行われていた、単にprint文を追加して盲目的にチェックするという非効率的な方法を回避します。
-
モデル独立性とコスト最適化40社以上のベンダーとローカルモデルをサポートし、さまざまなタスクを最も費用対効果の高いモデルに自動的に振り分け、APIコストを削減します。
-
すぐに使えるファミリーバケツ検索、ブラウザ、コード実行、サブエージェント、メモリなど、32種類以上のツールが内蔵されており、追加のMCP設定やプラグインは不要です。
-
クロスプラットフォームネイティブサポートWindowsはWSLなしでネイティブに動作する一方、macOSとLinuxはどちらもワンクリックでインストールできるスクリプトを提供している。
ompプロジェクトの住所
- GitHubリポジトリ:https://github.com/can1357/oh-my-pi
OMPの競合製品比較
| 比較対象寸法 | omp(oh-my-pi) | OpenCode | Aider |
|---|---|---|---|
| 位置 | IDEと連携するターミナルコーディングインテリジェンスエージェント | ターミナルネイティブオープンソースコードエージェント | Gitネイティブのターミナルペアプログラミングアシスタント |
| オープンソースライセンス | MIT | MIT | Apache 2.0 |
| コア言語 | Rust(コアコード約27,000行) | Go + TypeScript + Rust + Tauri | Python |
| モデルサプライヤー | 40歳以上(地元のOllama/LM Studioを含む) | 75歳以上(地元のOllama/LM Studioを含む) | 法学修士号(LLM)取得者(クロード大学、GPT、ジェミニ大学、または地元の大学) |
| コード編集技術 | ハッシュラインハッシュアンカーこれによりトークンの使用量が61%削減され、編集の成功率が約10倍に向上した。 | 従来のdiff/patchテキスト編集 | 従来の差分編集とツリーシッターコードベースの理解 |
| LSP統合 | ディープインテグレーションリファクタリング、参照検索、ファイル間同期(13種類のLSP操作)をサポートしています。 | LSPの自動ロード、リアルタイム診断、および型認識 | ネイティブLSPプラグインなし、純粋なテキストベースの操作 |
| デバッガーのサポート | DAPドライバー(LLDB/Delve/debugpy、27種類のDAP操作に対応)、ブレークポイントと変数読み取りをサポート。 | ネイティブデバッガードライバがありません | ネイティブデバッガードライバがありません |
| Git統合 | 基本的なファイル操作 | 基本的なファイル操作 | Git-first変更ごとに自動的にコミットし、意味的なコミットを生成します。 /undo ロールバック |
| サブエージェント/並列処理 | 組み込みサブエージェントは並列に実行されますタスク分割と統合の結果 | マルチセッション並列処理(同一プロジェクトに対する複数のエージェント) | 単一エージェントツール、ネイティブなサブエージェントオーケストレーションなし |
| セッション間記憶 | Hindsight対話室には、プロジェクト構造の記憶が残されている。 | 単一セッション、セッションをまたいだ永続的な記憶なし | 単一セッション、セッションをまたいだ永続的な記憶なし |
| コード実行環境 | デュアルコア(永続的なPython + Bunワーカー)、カーネルはエージェントツールを呼び出すことができます | シェル実行とコード実行をサポートします。 | シェル実行をサポートし、自動修復のためのリンターとテストランナーを内蔵しています。 |
| ウェブ検索/閲覧 | 検索プロバイダー14社 + 実際のブラウザドライバ(スクレイピング対策) | ウェブフェッチをサポート | ブラウザドライバは内蔵されていません |
| 流量制御機構 | Time-traveling stream rules正規表現マッチングストリームと、修正のためのリアルタイムルール挿入。 | なし | なし |
OMPの応用シナリオ
-
大規模プロジェクトの再構築LSPを使用して、ファイル間の参照分析、関数の安全な名前変更、インターフェースの抽出、およびすべてのインポートポイントの自動同期を行います。
-
複雑なバグのデバッグC/Rust/Go/Pythonプロジェクトに直接ブレークポイントを設定することで、AIが実行時変数やコールスタックを読み取り、セグメンテーション違反やデッドロックを特定できるようになります。
-
多言語ハイブリッド開発自動モデルルーティングにより、日常会話では軽量モデルを使用し、複雑なアルゴリズムに遭遇した場合は、トップレベルの推論モデルにシームレスに切り替えることができます。
-
研究とプロトタイプの検証実際のブラウザを使ってGitHub、Stack Overflow、arxivを検索し、検索結果を構造化して、実行可能なプロトタイプコードを直接生成する。
-
長期メンテナンスプロジェクトHindsightのセッション間記憶機能を利用することで、AIはプロジェクトのアーキテクチャとコーディング標準を継続的に記憶し、新しいセッションごとに背景説明を繰り返す必要がなくなります。