earendil-works/pi
エージェントの部品を層ごとに切り出して配り、その上にコーディング用の CLI を載せる
どういうものか
AI エージェントを作るための部品を、層ごとに分けて配っているリポジトリ。README は全体を「Pi agent harness」と呼び、その上に載る形で、自分で自分を拡張できるコーディングエージェントも同じ置き場所に入っていると説明している。ひとつの完成品を配るというより、どの層から使い始めてもいい並べ方になっているのが特徴だ。
配られている部品は6つ。対話しながら使う pi-coding-agent(ターミナルのコーディングエージェント)が、道具の呼び出しとやりとりの状態を持つ pi-agent-core を呼び、その pi-agent-core が、OpenAI・Anthropic・Google などのモデルを同じ呼び方に揃える pi-ai を呼ぶ。この上下は README が書いているものではなく、各パッケージの依存関係から辿れるものだ。残る3つは、それ自体はほかの部品に頼らずに動く。画面の差分だけ描き替えるターミナル用の表示部品 pi-tui、提供元を問わない記録の取り決めを定めた pi-telemetry、サービスの組み立て・複製された状態・RPC・プラグインを扱う chord。Slack やチャットからの自動化は別のリポジトリに分けられている。
もうひとつ目につくのが、取り込む部品(npm の依存)の扱いを、コードの変更と同じ厳しさで見るという方針だ。README は箇条書きでその中身を並べている。外部の依存はバージョンを1つに固定する、当日に公開されたばかりの版は拾わないよう待ち時間を設けている、ロックファイルを正とし、うっかりのコミットは事前に止める、配布する CLI には依存の固定表を同梱する、CI では導入時のスクリプトを走らせない、定期的に監査をかける、といった項目が続く。
どんなときに使うか
複数社のモデルを1つの呼び方に揃えたいとき
pi-ai はその層だけで配られていて、OpenAI・Anthropic・Google などをまとめて扱う。エージェント全体を借りずに、この部分だけ取り出せる。
自分のエージェントに、ターミナルの画面を付けたいとき
pi-tui は差分だけを描き替える表示部品として独立している。コーディングエージェントを使わなくても、この層だけ使える並べ方になっている。
注意点
★ 権限の制限は入っていない。 README が明記している。ファイル・プロセス・ネットワーク・資格情報への出入りを縛る仕組みは含まれておらず、初期状態では起動した利用者とプロセスと同じ権限で動く。境界が要るなら自分で囲う前提で、README は3通りの隔離のしかた(Linux の小さな仮想機械へ回す拡張、Docker の中でまるごと動かす、方針で制御する砂場の中で動かす)を案内している。
初めての人が出した issue とプルリクエストは、いったん自動で閉じられる。 README の冒頭に断りがあり、初めて関わる人からのものは既定で自動的に閉じられる、自動で閉じられた issue は管理者が毎日見ている、と書かれている。無視されたわけではないが、そういう運び方だと知らないと驚くところだ。
ライセンスは MIT。