AI coding tool は二つの極端に寄りやすい。terminal session だけの tool になるか、project、model、作業履歴まで一つの hosted service に預けるかだ。実際に困るのはその中間にある。複数の local repository を行き来し、長く動く task を持ち、diff を確認し、risk のある command を止めつつ、特定の editor や model provider に縛られたくない。

今日見るのは vastsa/PI-Desktop。local-first の AI coding agent desktop workspace で、local project を開き、OpenAI、Anthropic、local model、compatible API を設定し、session、file、review、command output、notification、Skills、MCP servers、subagents、plugins を同じ workspace で扱える。chat UI をもう一枚重ねる project というより、「agent に作業させる」と「人が確認、停止、引き継ぎできる」を一つにする desktop app だ。

GitHub repository page、README、release page、latest commit、LICENSE を 2026-09-07 18:05 Asia/Shanghai 時点で確認すると、vastsa/PI-Desktop270 stars41 forks。主要言語は TypeScript、license は LGPL-3.0。Default branch は main、repository 作成日は 2023-03-22 14:23:39 UTC、latest push は 2026-09-07 09:55:43 UTC。最新 commit は 3a75283、commit time は 2026-09-07 09:55:43 UTC、message は docs: make Agent / Plan / Goal scannable (#51)。GitHub 最新 Release は v0.13.11、published time は 2026-09-07 08:55:01 UTC

プロジェクト概要

項目内容
リポジトリvastsa/PI-Desktop
位置づけlocal-first AI coding agent desktop workspace
Stars270
Forks41
主要言語TypeScript
ライセンスLGPL-3.0
作成日2023-03-22 14:23:39 UTC
Latest push2026-09-07 09:55:43 UTC
最新 commit3a75283、2026-09-07 09:55:43 UTC
最新 Releasev0.13.11、2026-09-07 08:55:01 UTC
導入方法GitHub Releases から macOS、Windows、Linux package を download
キーワードAI coding、local-first、review、MCP、Skills、subagents、plugins

Chat より、確認できる作業 loop

PI-Desktop は coding agent の周辺 context を desktop app に集める。local directory、conversation、file、preview、terminal output、diff review、notification が同じ場所にある。README で特に面白いのは三つの入口だ。直接実行する Agent、先に plan を確認する Plan、先に acceptance criteria を確認する Goal。これは別々の model ではなく、approval boundary の違いである。

日常の engineering にはこちらの方が合う。小さな fix は Agent に任せ、migration、permission、複数 module にまたがる変更は Plan で implementation plan を固め、最終 behavior だけが重要なら Goal で acceptance criteria を縛る。どの mode でも read、edit、command execution は permission layer を通る。local repository を扱うなら重要な性質だ。

Model は差し替え、state は自分の machine に残す

Project は PI-Desktop account も mandatory relay も不要だとしている。conversation は JSONL と SQLite index で local に保存され、settings と logs も local、API credentials は operating system の keychain に置く。model request は設定した provider または endpoint へ直接送られる。つまり local-first は「決して network を使わない」ではなく、workspace 自体が余分な cloud の必経路にならないという意味だ。

Task ごとに OpenAI、Anthropic、Ollama、LM Studio、OpenAI-compatible gateway を使い分けられるのは実用的だ。ただし remote provider を選べば、必要な code context は当然その provider に送られる。local-first は model provider の data policy を判断しなくてよくなる魔法ではない。

Extension point で複雑な task を分ける

Skills、MCP、subagents、plugins を first-class に扱う点もよい。Skills は再利用する workflow、MCP は外部 tool との接続、subagents は独立した exploration、implementation、review の分担、plugin は tools、commands、panels、themes、services、workspace experience を追加できる。

個人 developer なら慣れた local toolchain を agent environment に持ち込める。team なら、prompt を各自がコピーする代わりに、check と approval の習慣を残せる。README も plugin は permission gate と renderer isolation を持つが、trusted code として install すべきで、完全な OS sandbox ではないと明記している。

今試す理由

作りたての demo ではないが、今も更新が速い。今日は v0.13.11 が release され、その後も README と work mode の document が更新されている。macOS(Apple Silicon/Intel)、Windows、Linux の package があり、Electron development environment を先に作らず試せる。

複数の local project を維持し、agent の長い task と review を自分の machine に残したい developer、あるいは複数 model を試したいが IDE extension に workflow 全体を決められたくない人に向く。editor の中で数行直すだけなら重いかもしれない。しかし長い conversation、複数 project、tool extension、人による acceptance が必要になると、terminal tab 一つでは足りなくなる。

Caveats

第一に、project は Early Preview だ。README は API、extension interface、一部の desktop behavior が変わる可能性を明記している。内部 plugin interface を早い段階で安定 platform とみなすべきではない。

第二に、これは model 自体ではない。使える provider または local endpoint の設定が必要で、model cost、rate limit、data flow の判断は自分で持つ。

第三に、permission layer は操作を確認しやすくするが、business risk までは判断しない。agent が production credential、deploy script、副作用のある MCP tool に届くなら、Plan/Goal と review は形式的な button ではなく、本当に止まる地点にしたい。

まとめ

vastsa/PI-Desktop が面白いのは、AI coding の話を「chat window がきれいか」から workflow に戻すところだ。local project をどう長く動かすか、model をどう差し替えるか、変更をどう review するか、危険な step をどう approval するか、外部 tool をどうつなぐか。まだ速く進化している project だが、local の control を残しながら terminal session 一つより広い agent workspace が欲しい人には、かなり具体的な選択肢になっている。

プロジェクトアドレス:https://github.com/vastsa/PI-Desktop