nanocoderは、ローカル端末環境で動作するAIプログラミングツールであり、ユーザーのプライバシーとデータセキュリティを保護するために「ローカルファースト」を基本設計理念としている。nanocoderを使用することで、開発者はコマンドラインインターフェイスを通じて自分のコンピュータ上でAIと対話し、コードの記述、レビュー、リファクタリングなどの作業を行うことができる。 nanocoderは、開発者がコマンドライン・インターフェイスを通じて自分のコンピュータ上でAIと対話し、コードの記述、レビュー、リファクタリングを行うことを可能にする。ユーザーは、完全にローカルで動作するOllamaに接続してオフラインでコードを生成することも、OpenRouterやOpenAI互換のAPIインターフェースを設定して、より強力なクラウドベースのAIモデルを使用することもできる。 Ollamaには便利なツールが内蔵されており、AIがファイルを読み書きしたり、ターミナルコマンドを直接実行したりできるほか、Model Context Protocol(MCP)を介してファイルシステム、GitHubリポジトリ、ウェブ検索など、より多くの外部サービスに接続することができ、アプリケーションの機能をさらに拡張することができる。
機能一覧
- 複数のAIサービス・プロバイダーをサポートローカルで動作するOllama、クラウド上のOpenRouter、OpenAI APIと互換性のあるあらゆるサービス(LM Studio、vLLMなど)に接続可能です。
- 先進ツーリングシステムファイル操作やbashコマンドの実行などのためのツールを内蔵しており、ユーザーの権限でファイルの読み書きやコードの実行などの操作を行うことができる。
- モデルコンテキストプロトコル(MCP)ファイルシステム、GitHub、Brave検索、メモリーバンクへのアクセスなど、AIのツール機能を拡張するMCPサーバーへの接続をサポート。
- カスタマイズされた指導システムユーザーは新しいユーザー名をプロジェクトの
.nanocoder/commands
ディレクトリで、Markdownファイルを使用して、テスト生成やコードレビューなどの反復性の高いタスクの実行を容易にするためのパラメータを持つ再利用可能な命令を作成します。 - インテリジェント・ユーザー・エクスペリエンスコマンドの自動補完、対話履歴のトレーサビリティ、セッション状態の保持などを提供し、タスクの状況に応じてAIの思考プロセス、トークンの使用量、実行時間をリアルタイムに表示します。
- プロジェクトレベルのスタンドアロン構成を配置することで
agents.config.json
ファイルでは、プロジェクトごとに異なるAIモデルやAPIキーを設定できるため、管理が容易になる。 - 開発者フレンドリープロジェクト全体がTypeScriptで構築されており、コード構造が明確で、拡張が容易です。また、詳細なデバッグツールとロギングレベルのコントロールを提供します。
ヘルプの使用
nanocoderは、ターミナル(コマンドラインインターフェイス)で動作するツールです。 以下では、インストール方法と使い方を詳しく説明します。
設置プロセス
1.環境準備
nanocoderをインストールする前に、お使いのコンピュータに Node.js
(バージョン18以上が必要)と npm
パッケージ管理ツール。npmは通常Node.jsと一緒にインストールされる。
2.グローバル・インストール
nanocoderをコンピュータ上の任意のディレクトリから直接実行できるように、グローバルインストール方法を使用することをお勧めします。ターミナルを開き、次のコマンドを入力します:
npm install -g @motesoftware/nanocoder
インストールが完了したら、どのプロジェクトフォルダからでも次のように入力して直接アクセスできます。 nanocoder
コマンドで開始する。
AIモデルの設定
nanocoderのパワーは、異なるAIモデルを接続できることだ。ニーズに合わせてAIサービスを選択し、設定する必要がある。設定情報はagents.config.json
ファイルをプロジェクト・コードのルート・ディレクトリに置く必要がある。
オプション1:オッラマの使用(地元モデル)
これは最もプライバシーを保護する方法であり、モデルはすべてあなた自身のコンピューター上で実行されるからだ。
- まず、Ollamaをインストールし、実行する必要があります。
- 次に、Ollamaモデルライブラリから必要なモデルをダウンロードします。例えば、軽量な
qwen2:0.5b
モデルollama pull qwen2:0.5b
- 上記の手順が完了したら、直接
nanocoder
自動的にローカルのOllamaサービスが検出され、接続されます。
オプション2:OpenRouterを使用する(クラウドベースモデル)
OpenRouterは、GPT-4oやClaude 3など、市場に出回っている優れたAIモデルを幅広く集めている。
- プロジェクトのルートディレクトリに
agents.config.json
ドキュメンテーション - 以下をファイルにコピーし
your-api-key-here
OpenRouter API キーを自分のものに置き換え、新しい OpenRouter API キーをmodels
このフィールドには、使用したいモデルの名前が入力される。{ "nanocoder": { "openRouter": { "apiKey": "your-api-key-here", "models": ["openai/gpt-4o", "anthropic/claude-3-opus"] } } }
オプション3:OpenAI互換のAPIを使用する(ローカルまたはリモート)
また、使用しているAIサービス(LM Studio、vLLM、または自分で構築したものなど)がOpenAI互換のAPIインタフェースを提供している場合にも設定できます。
- 同様に、プロジェクトのルート・ディレクトリに
agents.config.json
ドキュメンテーション - 以下を記入して配置する。
baseUrl
あなたのサービス・アドレスに置き換え、必要であればAPIキーを記入してください。{ "nanocoder": { "openAICompatible": { "baseUrl": "http://localhost:1234", "apiKey": "optional-api-key", "models": ["model-1", "model-2"] } } }
基本操作コマンド
nanocoderを起動すると、インタラクティブなチャット・インターフェイスが表示されます。欲しいものを自然言語で入力するか、スラッシュ/
冒頭の内蔵インストラクションがプログラムをコントロールする。
/help
利用可能なコマンドのリストを表示します。/provider
:: AIサービスプロバイダーの切り替え、例えばOllamaからOpenRouterへ。/model
現在のサービスプロバイダーが提供する機種リストを切り替える。/clear
現在のチャットをクリアし、新しいセッションを開始します。/debug
プログラムの操作に関する詳細情報を表示するためのログ表示レベルを切り替えます。/exit
ナノコーダのプログラムを終了します。
カスタムコマンドの使用
カスタムコマンドはnanocoderの特別な機能で、一般的な複雑なタスクをテンプレート化するのに役立ちます。
- プロジェクトのルート・ディレクトリに
.nanocoder
フォルダを作成しcommands
フォルダー - ある
.nanocoder/commands/
ディレクトリにMarkdownファイルを作成する。test.md
. - このファイルでは、ディレクティブの説明、エイリアス、パラメータを定義することができます。 例えば、ユニットテストを生成するためのディレクティブを作成します:
--- description: "为指定的组件生成全面的单元测试" aliases: ["testing", "spec"] parameters: - name: "component" description: "需要测试的组件或函数名称" required: true --- 请为 {{component}} 生成全面的单元测试。测试需要覆盖以下几点: - 正常情况下的行为 - 边界条件和异常处理 - 对外部依赖进行模拟 - 清晰的测试描述
- ファイルを保存した後、nanocoderでこの新しいコマンドを使用することができます。例えば
UserService
入力可能なテストを生成する:
/test component="UserService"
プログラムは自動的に{{component}}
と置き換える。UserService
そして、プロンプト全体をAIモデルに送り、タスクを実行させる。
アプリケーションシナリオ
- コードスニペットを素早く生成
開発者が新しい関数やモジュールを書く必要がある場合、ターミナルで直接nanocoderに要件を記述することができます。たとえば、「CSVファイルをパースするTypeScript関数を作成する」などです。 - コードレビューとリファクタリング
書かれたコードの一部をnanocoderに渡して、レビューや改善の提案を受けることができる。のようなカスタムリファクタリングディレクティブを使うことも可能です。/refactor:dry
AIは「同じことを繰り返さない」という原則に従ってコードを最適化するよう指示される。 - ユニットテストを書く
既存の関数やコンポーネントの単体テストケースを素早く生成することは、ソフトウェア開発における面倒な側面のひとつです。これは/test
の指示により、開発者はコンポーネント名を入力するだけで、AIが自動的にテストコードを記述し、開発効率を向上させることができる。 - 新しいプログラミング言語やフレームワークを学ぶ
馴染みのないテクノロジーに近づくときは、質問をしたり、ナノコーダにコード例を示してもらったり、特定のコードの目的や仕組みを説明してもらったりして、オンコールでプログラミングの先生をするようなものだと考えてください。
品質保証
- nanocoderはどのオペレーティングシステムをサポートしていますか?
nanocoderは、Node.jsをベースに開発されているため、Node.js環境さえインストールされていれば、Windows、macOS、Linuxなど、すべての主要なオペレーティングシステム上で動作します。 - 地元のOllamaモデルを使用するための条件は何ですか?
Ollamaを使用するには、まずOllamaプログラムをコンピュータにインストールして実行する必要があります。コンピュータのハードウェア要件は、主に実行するAIモデルのサイズによって異なります。モデルが大きくなればなるほど(例えば70億以上のパラメータ)、高速生成のためにはより多くのRAMと優れたグラフィックカード(GPU)が必要になります。 - APIキーとコードデータは安全ですか?
Nanocoderは「ローカルファースト」を念頭に置いて設計されています。Ollamaを使用する場合、すべてのデータと計算は、外部のサーバーを経由することなく、あなたのローカル・コンピューター上で行われます。OpenRouterのようなクラウドサービスを使用する場合、あなたのコードとヒントはAPIを介してサービスプロバイダーに送信されます。設定ファイルagents.config.json
ローカルのプロジェクト・ディレクトリに保存すると、アップロードされません。 - nanocoderは他のAIプログラミングツールとどう違うのですか?
nanocoderの主な差別化点は、純粋にコマンドライン・ターミナルで動作するツールであることで、キーボード操作やターミナルのワークフローに慣れている開発者にとって理想的である。第二に、ローカル・ファーストとユーザー・コントロールを重視しており、ユーザーは、プロジェクト・レベルの設定ファイルによるきめ細かな管理で、ローカル・モデルとクラウド・ベース・モデルのどちらを使うかを自由に選択できる。