本文へスキップ
株式会社オブライト
AI2026-10-13約23分で読めます

Pi(pi.dev)とは

1.0 に到達した最小構成のオープンソース・エージェントハーネス。Codemode/MCP、Pi Durable、使い方、安全に動かす条件【Earendil】

Pi(pi.dev)は MIT ライセンスのターミナル型エージェントハーネス。2026-10-01 に 1.0 へ到達し、Codemode で MCP に対応、長時間稼働向けの Pi Durable も公開された。権限ポップアップもサンドボックスもないためコンテナ運用が推奨される。導入と注意点を解説する。


Pi(pi.dev)は、ターミナルで動く最小構成・拡張前提のオープンソース AI エージェントハーネス(コーディングエージェント)だ。 作者は Mario Zechner 氏で、現在は Earendil Inc. が開発・運営している。ライセンスは MIT。2026 年 10 月 1 日に 1.0 に到達し、最新は 2026 年 10 月 7 日公開の 1.1.0。コードの読み書き・シェル実行といった組み込みツールに加え、拡張・スキル・プロンプトテンプレート・テーマで機能を足せ、Codemode 経由で MCP も使える。

本記事は 2026 年 10 月 13 日時点の公式サイト、公式ドキュメント、Earendil の発表、GitHub・npm・Hacker News の実測値に基づく。公式に明記のない点は「公式に明記なし」と書く。他のコーディングエージェントとの性能比較は扱わない。

Pi とは — 「多くのハーネスがあるが、これはあなたのもの」

公式サイトのキャッチコピーは「There are many agent harnesses but this one is yours」、説明は「minimal agent harness」「Adapt Pi to your workflows, not the other way around.」だ。公式ドキュメントは Pi を「ターミナルから動く拡張可能な AI エージェント」と説明している。基本情報は次のとおり。

項目内容
名称Pi(pi.dev)
種類ターミナルで動く最小構成・拡張前提のオープンソース AI エージェントハーネス(コーディングエージェント)
作者Mario Zechner 氏(libGDX の作者として知られる。報道による)
開発・運営Earendil Inc.(GitHub 組織名 earendil-works、npm スコープ @earendil-works)。公式サイト表記は「Earendil Inc. & Contributors」。pi.dev ドメインは exe.dev が寄贈
ライセンスMIT(コード・Pi Durable とも。Earendil の 1.0 発表に明記)
価格公式サイト・発表に料金の記載なし(MIT のソフトウェアであり、モデル利用料は各プロバイダーに支払う)
最新版1.1.0(2026-10-07、npm latest)
対応 OSmacOS / Linux(インストーラー・Nix)、Windows ネイティブ(専用ガイドあり)、Android は Termux
要件Node.js 22.19 以上(インストーラーが必要なら導入する)
GitHub スター約 114,500(フォーク約 14,600、2026-10-13 時点、GitHub API 実測)。リポジトリ作成は 2025-08-09
利用規模Earendil の 1.0 発表に「世界で毎週数十万人が利用」とある
関係プロジェクトOpenClaw、Flue Framework、Pi Durable、pi-chat

Earendil の 4 月の発表は、Pi を「OpenClaw の中の最小エージェント」と位置づけている。GitHub の README にも「See OpenClaw for a real-world integration」とある。OpenClaw についてはOpenClaw とは、Astro チームの Flue Framework がハーネス層に Pi を採用した件はFlue Framework の記事を参照。Hacker News の「Pi 1.0」スレッドは 1,688 ポイント・609 コメント、「Pi Durable」スレッドは 512 ポイント・75 コメントだった(2026-10-13 時点、Algolia API 実測)。

仕組み — 最小のコアに、必要なものを拡張で足す

Pi は、モデルが組み込みツールを呼び、その結果を受けて次の応答を返すという一般的なエージェントループで動く。セッションはツリー構造(JSONL)で保存され、/tree で分岐を行き来できる。フォルダに置いた AGENTS.md(および SYSTEM.md)がコンテキストファイルとして読み込まれる。会話が長くなったら /compact で圧縮でき、要約エントリが挿入されるが元の記録はツリーに残る。組み込みツールは公式ドキュメント cli.md によれば次の 9 つだ。

Pi の構成 — 最小のコア(エージェントループ・9つの組み込みツール・ツリー型セッション)に、TUI/print/JSON/RPC/SDK から入り、拡張・スキル・プロンプトテンプレート・テーマを Pi パッケージとして足し、41 プロバイダーのモデルやローカルモデルに接続し、Codemode 経由で MCP サーバーを使う。サブエージェント・プランモード・権限ポップアップ・サンドボックスは入っていない
ツール役割
readテキストファイルと対応画像の読み取り
bashシェルコマンドの実行
powershellWindows で PowerShell コマンドを実行
edit既存ファイルへの正確な文字列置換
writeファイルの作成・上書き
grepファイル内容の検索
findglob パターンでのパス検索
lsディレクトリ一覧
codemode他のツールを呼ぶ JavaScript を実行(並列呼び出し可)。スクリプトの出力だけがモデルに届く

公式サイトは、Pi に入っていないものとして、サブエージェント、プランモード、権限ポップアップ、組み込み ToDo、バックグラウンド bash の 5 つを明記している。方針は「拡張で作るか、パッケージをインストールする」だ。実行モードは 5 種類あり、対話 TUI、print モード(pi -p)、JSON イベントストリーム(--mode json)、RPC(別プロセスを stdin/stdout で制御)、TypeScript SDK から選べる。

カスタマイズ — 拡張・スキル・プロンプトテンプレート・テーマを Pi パッケージで配る

目的使うもの
フォルダに常駐する指示AGENTS.md(コンテキストファイル。SYSTEM.md も)
/ メニューから呼ぶ定型プロンプトプロンプトテンプレート(Markdown)
タスク別の指示と補助ファイルスキル(必要時にオンデマンドで読み込まれる)
実行可能なツール・コマンド・イベントハンドラ拡張(TypeScript)
ターミナル UI の部品TUI / テーマ
未対応のモデルサービスカスタムプロバイダー(models.json または拡張)
複数リソースの配布Pi パッケージ(npm または git で共有)

設定・認証情報・セッション・インストール済みパッケージは ~/.pi/agent/ に保存される。セッション操作には /fork・/clone・/resume、/export(HTML または JSONL)、/share(GitHub gist 経由の閲覧リンク)、/session(ファイル・トークン使用量・コスト)がある。入力では、Enter がステアリング(現在の応答とツール呼び出しの完了後に次の応答を方向づける)、Alt+Enter がフォローアップ(現在のタスク完了後に送る)で、Escape で停止する。!cmd はシェルを実行して出力を会話に含め、!!cmd は出力をモデルに送らない。@ でファイルを検索できる。

Codemode と MCP — 「MCP はやらない」からの方針転換

Pi は以前、公式サイトで「MCP 非対応」を明言していた。その方針を変え、2026 年 9 月 29 日の v0.99.0 で Codemode と MCP を搭載した。同日の Earendil ブログ「You Said No MCP!」は転換の理由を 3 つ挙げている。今日の MCP は昔の MCP ではないこと、必要だった変更(Jev の使いやすさ、サンドボックスインタプリタ)が MCP 以外にも役立つこと、ツールを遅延読み込み・Codemode 限定にするメタデータが必要だったことだ。1.0.1 でプロジェクト単位の .pi/mcp.json、1.0.4 で --no-mcp が加わった。MCP の動向はMCP ロードマップの記事で扱っている。

従来のツール呼び出しと Codemode の違い — 従来は全ツール定義と各結果がモデルのコンテキストに入り往復が増えるが、Codemode ではモデルがツールを呼ぶ JavaScript を書き、ハーネス側で並列実行して出力だけをモデルに返す。公式 Changelog 1.0.0 ではプロンプトトークン約 40% 減

Codemode は、モデルがツールを呼ぶ JavaScript を書き(例: tools.mcp__linear__list_issues(...))、それをハーネス側で実行する方式だ。公式 cli.md は「Promise.allSettled などで他のツールを並列に呼べ、スクリプトの出力だけがモデルに届く」と説明している。状態はファイルシステムではなくセッションの記録に保持され、MCP を設定すると Codemode は自動で読み込まれる。Changelog 1.0.0 では Codemode が使うプロンプトトークンが約 40% 減ったとされる。公式ブログの例は、167 件の open issue をループして Jev でコメントを分類し要約だけを返す処理で、コンテキストをまったく浪費せずに済んだという(分類結果は none 156・mild 11・high 0)。ただし同ブログはこの例を、条件を要約した再現であって計測値ではないと注記している。

- 公式の留保 1: MCP は依然として合成(compose)しにくく、Codemode で完全には解決しない
- 公式の留保 2: 多くの MCP サーバーがツールをコンテキストに流し込みテキストを返す現状は、改善が必要
- 公式の留保 3: 167 件の例は要約された再現であり、計測値ではない
- Codemode のサンドボックスの実装(QuickJS など)は公式に明記なし

Pi 1.0 と 1.1 で入ったもの

バージョン日付主な変更
0.99.02026-09-29Codemode と MCP を搭載。system テーマ(既定に)、Sign in with ChatGPT、virtual models、classifier models も追加
0.99.12026-09-29GPT-6.1 Sol を追加し、OpenAI Codex の既定モデルに
1.0.02026-10-01Codemode のプロンプトトークン約 40% 減、Codemode での画像生成、/login での Radius サインイン、MCP OAuth の強化、virtual models の拡張、deferred tool loading(ツールの遅延読み込み)、Anthropic モデルのキャッシュウォーミング、会話途中のシステムメッセージ更新、新 TUI テーマ、フルスクリーンモードが既定に
1.0.12026-10-03Nix flake、プロジェクト単位の .pi/mcp.json、MCP OAuth の CIMD クライアント登録、pi.registerToolRenderer()
1.0.22026-10-04models.json の samplingParamsByThinkingLevel(OpenAI 互換 API で思考レベル別のサンプリング設定)
1.0.32026-10-05Azure プロバイダー名を "azure-openai-responses" から "azure" に変更(破壊的変更。設定キーの更新が必要)、Azure Foundry Chat Completions を追加
1.0.42026-10-05--tools / --exclude-tools の * パターン、1 回の実行で MCP を無効にする --no-mcp
1.1.02026-10-07Program status reporting、Claude Haiku 5.5 の追加、GPT-6 Luna を classifier に、--tools の +name / -name

1.0.0 でフルスクリーンモードが既定になった。従来のスクロールバック表示に戻すには、設定の tuiMode を "regular" にする。1.0.3 の Azure プロバイダー名の変更は破壊的変更なので、Azure を使っている場合は公式 Changelogの記載どおり設定キーを更新する必要がある。1.1.0 の Program status reporting は、対応ターミナルで working / blocked / done / failed の状態を表示する機能だ。

モデルとプロバイダー — 41 プロバイダー・1,551 モデル、ローカルモデルも

公式サイトは「15+ providers(Anthropic、OpenAI、Google、Azure、Bedrock、Mistral、Groq、Ollama、OpenRouter など)、数百のモデル」と案内している。一方、公式のモデルカタログページの実数は 41 プロバイダー・1,551 モデルだった(2026-10-13 時点。内訳の例は openrouter 392、amazon-bedrock 193、opencode 83、huggingface 78、azure 45、openai 44、mistral 40、github-copilot 35、anthropic 17)。接続方法は次のとおり。

接続方法内容
サブスクリプション/login でプロバイダーを選んでサインインし、auth.json に保存する。Changelog に Sign in with ChatGPT(0.99.0)、Radius サインイン(1.0.0)、GitHub Copilot プロバイダーの記載がある
API キー/login で API キーを保存する(auth.json)。優先順位は --api-key、auth.json、models.json の apiKey、環境変数・クラウド認証の順
環境変数環境変数でも指定できる(CI 向け)
llama.cppルーターに直結する。/llama で管理し、GGUF を自動検出する
Ollama・LM Studio・vLLM・SGLang など OpenAI 互換models.json に OpenAI 互換エンドポイントとして登録する(Ollama の例は baseUrl http://localhost:11434/v1)
カスタムプロバイダー未対応のサービスは models.json または拡張で追加する

モデルの切り替えは /model で、Ctrl+S で既定として保存できる。/thinking で思考レベルを変え、Ctrl+P でモデルを巡回する。セッション途中でもモデルを変更でき、/session でモデル別のコストを確認できる。llama.cpp・Ollama・vLLM など推論サーバーの違いはローカル LLM 推論エンジンの比較記事にまとめている。

インストールと最初の一歩

公式 Quickstartに記載のインストール方法は次のとおり。まず macOS / Linux 向けのインストーラーだ。

```bash
curl -fsSL https://pi.dev/install.sh | sh
```

npm でインストールする場合は、次のコマンドを使う(Node.js 22.19 以上が必要)。

```bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
```

Windows の PowerShell では powershell -c "irm https://pi.dev/install.ps1 | iex" を実行する。Nix 利用者は nix profile add github:earendil-works/pi/stable で入れられる(ソースからビルドされ、Linux / macOS の ARM64・x86-64 に対応)。Node.js 22.19 以上が必要で、インストーラーは必要なら Node.js も導入する。初回は、作業フォルダで pi を起動し、/login でプロバイダーにサインインして、/model でモデルを選ぶ。次回からは pi --continue で続きから再開できる。更新は pi update(Nix は nix profile upgrade pi)だ。npm の latest は 1.1.0 で、legacy-node20 タグは 0.74.2 を指す。

安全に動かす条件 — 権限ポップアップもサンドボックスもない

公式ドキュメント security.mdによれば、Pi には権限ポップアップも組み込みのサンドボックスもない。Pi は起動したアカウントの権限で動作し、ツール呼び出しのたびに承認を求めない。security.md は、トランスクリプトの監視、プロジェクトトラスト、変更レビューはセキュリティ境界にならないと明記している。要点を整理する。

項目Pi の挙動対策
承認ツール呼び出しごとの承認を求めない承認に頼らず、実行環境側で隔離する
サンドボックス組み込みなしコンテナ・VM・サンドボックス内で丸ごと動かす(security.md は「通常もっとも実用的で強い選択肢」とする)
プロジェクトトラストフォルダの設定・リソース(拡張・スキル・MCP サーバー)を起動時に読み込むかを制御するだけで、ツール呼び出しの範囲は制限しない。信頼しなくても AGENTS.md 等のコンテキストファイルは読み込まれる(コンテキスト読み込みを無効化しない限り)フォルダ内の指示は、信頼しない場合でも「信頼できない入力」として扱う
作業フォルダ外作業フォルダは他のパスへのアクセスを制限しないタスクに必要なファイル・サービスに限定して隔離環境に渡す
子プロセス拡張・パッケージインストーラー・言語サーバー等の子プロセスも同じ権限で動く導入する拡張・パッケージを選び、隔離環境内で実行する
認証情報Pi の環境内にあれば Pi から参照され得るPi の環境外に置く。やむを得ない場合は短命・最小権限にする
セッション共有セッションに機密が残り得るexport・share の前に内容を確認する

security.md はあわせて、タスクに必要なファイル・サービスに限定し、不要ならネットワークを遮断することを勧めている。GitHub の README は隔離の 3 パターンを挙げる。Gondolin 拡張(pi と認証はホストに置き、組み込みツールと ! コマンドをローカルの Linux マイクロ VM に流す)、プレーンな Docker、OpenShell(ポリシー制御つきサンドボックス)だ。エージェントに PC を触らせる際の一般的な対策はOpenClaw のセキュリティ記事も参考になる。

Pi Durable — 落ちても続きから動く長時間稼働エージェントの土台(実験的)

Earendil の発表は、Pi Durable を「長時間稼働し、耐久性があり、可鍛性のあるエージェントを作るための実験的フレームワーク」と説明している。Pi コーディングエージェントの置き換えではなく、コーディングエージェントを含むあらゆるエージェントアプリケーションを作るためのフレームワークだ。ターミナルの Pi は 1 人が 1 端末で動かし、プロセスが落ちれば手動で再起動する。Durable は、どこでも動き、別の接点から届き、非常に長い会話を扱い、障害を生き延び、複数人が同じエージェントを操縦できることを狙う。

- 仕組み: 実行の各ステップが「タスク」で、次に進む前にチェックポイントを保存する。クラッシュ後は新しいプロセスが同じストレージを開き、未完了のタスクを最後のチェックポイントから再開する。requestId つきの送信は exactly-once になる
- ストレージ: メモリ、SQLite、JSONL(適合テストとベンチマークつき)。KV ストアや Postgres 上にも実装できる小さなインターフェースだ。README は、メモリのみだと履歴が無限に増えるため、長時間稼働には SQLite を勧めている
- 実行環境: 任意の JavaScript ランタイム(Node、小さなアダプタで Bun、Cloudflare Durable Objects)。SQLite・JSONL のコアは Node API に依存しない
- 用途例: スレッドつきの Slack 風チャンネル、GitHub トリアージボット、休暇プランナー、小さなコーディングエージェント(Slack・GitHub トリアージのボットは「近日」とされている)
- 位置づけ: 実験的で、API は変わり得ると明記されている

```bash
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord
```

モノレポのパッケージは、@earendil-works/chord(ホットリロード可能なプラグインのホストランタイム)、pi-telemetry、pi-ai(統一マルチプロバイダー LLM API)、pi-durable、pi-agent-core、pi-coding-agent(CLI)、pi-tui だ。Slack などのチャット自動化は別リポジトリの earendil-works/pi-chat で扱われる。

Earendil とは — Pi の取得と Mario Zechner の参画

Earendil の発表によれば、Earendil Inc. は Armin Ronacher 氏と Colin Daymond Hanna 氏が 2025 年に設立した Public Benefit Corporation(PBC)で、目的は「分断と無知の橋渡しをするソフトウェアとオープンプロトコルを作り、人類の主体性を強める」ことだ。2026 年 4 月 8 日、Earendil は Pi オープンソースプロジェクトの取得(acquisition)を発表し、同時に Mario Zechner 氏が Earendil の主要株主(major stakeholder)兼チームメンバーになった。初期の支援者として、Accel(Daniel Levine 氏)、Balderton(Daniel Waterhouse 氏)、n8n・OpenClaw・Revolut・Sentry・Slack の創業者らが挙げられている(金額は非公開)。製品は Pi、Radius、Lefos(メールで対話するエージェント)で、Radius の詳細は公式に明記なしだ。ただし Pi の /login で Radius にサインインできる。

日付出来事
2025-08-09GitHub リポジトリ作成(当初は作者個人の badlogic アカウント。npm は @mariozechner/pi-coding-agent で、現在は旧パッケージとして非推奨表示。最終更新 2026-05-07)
2026-04-08Earendil が Pi オープンソースプロジェクトの取得(acquisition)を発表。Mario Zechner 氏が主要株主兼チームメンバーに。同日 Lefos(パブリックアルファ)も発表
2026-05-07npm の新スコープ @earendil-works/pi-coding-agent を作成
2026-09-29v0.99.0 で Codemode と MCP を搭載。ブログ「You Said No MCP!」公開
2026-10-01Pi 1.0.0 リリース、Pi Durable(実験的)を同時発表
2026-10-03〜051.0.1〜1.0.4(Nix flake、プロジェクト単位の .pi/mcp.json、--no-mcp など)
2026-10-07v1.1.0(最新、npm latest)
2026-10-09Earendil ブログ「There are many themes, but this one is yours」(system テーマの解説)

どんな人・チームに向くか

向く向かない
ターミナル中心で作業し、自分のワークフローに合わせて拡張(TypeScript)を書いて育てたいツール呼び出しごとに承認ダイアログで確認しながら進めたい(Pi には権限ポップアップがない)
コンテナ・VM で隔離して運用できる隔離環境を用意できず、認証情報のある環境でそのまま動かしたい
モデルをタスクごとに切り替えたい。ローカルモデルも使いたいサブエージェント・プランモード・ToDo を最初から使いたい(拡張かパッケージが必要)
自分のエージェントアプリの土台を作りたい(Pi Durable は実験的)日本語 UI が必須(公式に明記なし)、または有料プラン・サポート契約を前提にしたい(料金・有料プランは公式に明記なし)

他のコーディングエージェントとの位置づけは、各公式サイトと各記事で確認してほしい。たとえばClaude Code の拡張導入 CLI の記事、MCP の将来はMCP ロードマップとMCP 仕様改定の記事が参考になる。本記事は他社の数値を扱わない。

よくある質問

Pi は無料で使えるか。

コードは MIT ライセンスで、公式サイトと Earendil の発表に料金の記載はない。ソフトウェア自体は無料で使えるが、モデルの利用料は各プロバイダーに支払う。有料プランについては公式に明記なし。

Claude Code や Codex の代わりになるか。

性能の比較数値は扱わない。設計思想の違いとして、Pi は最小構成で、機能を拡張やパッケージで足す前提であり、権限ポップアップもなくツール呼び出しごとの承認を求めない。他のツールとの違いは各公式サイトで確認してほしい。

MCP は使えるか。

使える。2026-09-29 の v0.99.0 で Codemode とともに MCP を搭載した。MCP を設定すると Codemode が自動で読み込まれ、1.0.1 でプロジェクト単位の .pi/mcp.json、1.0.4 で --no-mcp が加わった。公式は、MCP は依然として合成しにくく Codemode で完全には解決しないとも述べている。

ローカル LLM で動くか。

動く。llama.cpp はルーターに直結でき、Ollama・LM Studio・vLLM・SGLang は models.json に OpenAI 互換エンドポイントとして登録する。Ollama の例は baseUrl http://localhost:11434/v1 だ。

Windows で動くか。

動く。Windows ネイティブに対応し、専用ガイドがある。インストールは PowerShell で powershell -c "irm https://pi.dev/install.ps1 | iex" を実行する。組み込みツールにも powershell がある。

安全か。

公式ドキュメント security.md によれば、Pi には権限ポップアップも組み込みサンドボックスもなく、起動したアカウントの権限で動く。コンテナ・VM・サンドボックスで丸ごと隔離し、認証情報は Pi の環境外に置くのが推奨される。

Pi Durable は何に使うか。

長時間稼働し、クラッシュ後にチェックポイントから再開できるエージェントアプリケーションを作る実験的フレームワークだ。Slack 風チャンネルや GitHub トリアージボットなどが例で、API は変わり得ると明記されている。

出典

お気軽にご相談ください

お問い合わせ