Nanocoderは、企業ではなくコミュニティが開発する、ターミナルで動くAIコーディングエージェントです。Ollama・OpenRouter・OpenAI・Anthropicなど好みのモデルプロバイダーを自分で選び、コードはローカルに留めたまま作業できます。npmパッケージとして配布され、CLIとVS Code拡張機能の両方から利用できます。
CLIはInk(React製ターミナルUI)で構築され、`dist/cli.js`がエントリーポイントです。設定は`agents.config.json`をプロジェクト階層とユーザー階層の2層で読み込み、プロバイダー単位・`nanocoder.*`ブロック単位でマージするロジックがdocs/configuration/index.mdに明記されています。AIとの通信は`ai`パッケージ(Vercel AI SDK)や`@ai-sdk/anthropic`「@ai-sdk/google」など各SDKを介し、MCPサーバーは`.mcp.json`から別枠で読み込まれます。ツール実行(ファイル編集・シェルコマンドなど)は「development mode」で挙動が変わり、Normalモードでは変更系ツールごとに確認を求める仕組みです。VS Code拡張は`plugins/vscode`にあり、ACP(Agent Client Protocol)やWebSocketでCLI本体プロセスと通信し、パーミッション要求・診断表示・チャットパネルを提供します。テストはava、静的解析はbiome・semgrep・knipで行い、リリースはchangesetsで管理されています。
- STEP 01
`npm install -g @nanocollective/nanocoder`でインストールし、プロジェクトディレクトリで`nanocoder`を実行すると、まずディレクトリを信頼するかの確認画面が出ます。
- STEP 02
初回はプロバイダー未設定のため、`/settings providers`の対話ウィザードでOllamaやOpenRouterなど好みのプロバイダーとAPIキーを登録する作業が必要です。
- STEP 03
チャット欄に`@src/app.tsx`のようにファイルを指定すると、そのファイル内容が自動でコンテキストに含まれ、AIが参照したコードを踏まえて回答します。
- STEP 04
AIがファイル編集やコマンド実行を提案すると、Normalモードでは1件ずつ確認プロンプトが出て、承認するまで実行されません。
- STEP 05
各応答の下に「Tokens: 4.2k」のような小さいフッターが表示され、消費トークン数とmodels.dev基準の概算コストが確認できます。
- STEP 06
`!git status`のようにシェルコマンドをそのまま送ると、ターミナルを離れずに実行結果がAIのコンテキストに取り込まれます。
実行すると、ローカル環境で動く対話型ターミナルエージェントが手に入り、プロバイダーやモデルの選択権は完全に自分側にあります。設定は`agents.config.json`とプリファレンスファイルとしてディスクに残り、チームで共有もできます。VS Code拡張(vsixファイル)をビルドすれば、同じエージェントをエディター内のチャットパネルとしても使えます。
Node.js 22以上が前提で、動作にはpnpmでのビルド手順(`tsc`+`tsc-alias`)を理解しておく必要があります。
AIモデル自体は同梱されておらず、Ollamaなどのローカルサーバーか有料APIキーを別途用意しないと実質的に使えません。
`patches/`ディレクトリに`@ai-sdk/openai`やinkへの手動パッチが存在しており、依存パッケージの特定バージョンに対する回避策に依存している点は留意が必要です。
OSサンドボックス機能はデフォルト無効で、有効化しても読み取りはブロックされないと明記されているため、シェル実行の安全性は設定次第です。
自分のPCやサーバーでモデルを選びながらコードを触りたい開発者、特定ベンダーに縛られたくないチームには合う設計です。READMEやdocs配下のプロバイダー一覧、設定ファイルの優先順位、開発モードごとの承認挙動まで具体的に文書化されており、テスト・静的解析・リリースの仕組みも整っているため、記載内容だけでも動作の見立てはできます。ただし実際の使い勝手はプロバイダー選びとAPIキーの用意に依存するため、インストールなしでの判断は「仕組みの妥当性」までが限界だと考えてください。