Cursorに料金を払うのをやめて、コンソールで独自のAIエージェントを構築した方法

人気のAIエディタが再び値上げを行い、Claudeへの制限を切り詰めたとき、開発者のMark Pfaffenbergerさんは怒りました。そして独自のツールを書きました。それがCode Puppyの始まりです — CursorやWindsurfのようなクローズドなIDEに代わるコンソールAIエージェントです。
このプロジェクトは現在GitHubで約740個の星を獲得していますが、機能は興味深いものです。APIキーのローテーション、障害時のセッション永続化、深いカスタマイズを備えた柔軟なターミナルクライアントです。
コンソールエージェントが必要な理由
コンソールで作業していて、重いElectronエディタを開きたくない場合、巨大なプラグインをドラッグするのは面倒です。Code Puppyは単一のコマンドで任意のフォルダから起動し、プロジェクト構造を即座に理解します。
ニューラルネットワークは自分で選択し、システムプロンプトを設定し、データの送信先を決定します。
主な機能
リポジトリを確認する価値がある、実用的な機能を見てみましょう。
モデルローテーションによる制限の回避
複雑なタスクに取り組んでいるとき、毎分のレート制限が最も厄介です。Code Puppyは組み込みのラウンドロビンアルゴリズムでこの問題を解決します。複数のAPIキーを指定すると、ツールがそれらを循環します。
設定はconfigファイルにあります:
{
"qwen1": {
"type": "cerebras",
"name": "qwen-3-coder-480b",
"custom_endpoint": {
"url": "https://api.cerebras.ai/v1",
"api_key": "$CEREBRAS_API_KEY1"
}
},
"qwen2": {
"type": "cerebras",
"name": "qwen-3-coder-480b",
"custom_endpoint": {
"url": "https://api.cerebras.ai/v1",
"api_key": "$CEREBRAS_API_KEY2"
}
},
"cerebras_round_robin": {
"type": "round_robin",
"models": ["qwen1", "qwen2"],
"rotate_every": 5
}
}
1つのキーで5つのリクエストを行うと、ツールは中断なく次のキーに移ります。
десятки провайдеровへのアクセス
models.devとの統合により、珍しいニューラルネットワークのエンドポイントを手動で指定する必要がありません。/add_modelコマンドはコンソール内で直接インタラクティブなTUIメニューを開きます。Groq、Cohere、Mistral、xAIなど、大量のリストからプロバイダを選択できます。
インターネット接続が切断された場合、クライアントは組み込みのオフラインモデルデータベースに切り替わります。
DBOSによるフォールトトレランス
長いコード生成セッション中、ネットワークの切断やターミナルウィンドウの誤った閉じなど、時折問題が発生します。DBOSプラグインは各ステップでチェックポイントを保存し、関数呼び出し、モデル応答、コンテキストをローカルデータベースに記録します。
再起動後、停止した箇所から正確にセッションを再開できます。
JSON形式でのカスタムエージェント
特定のタスク用にプロファイルを作成できます。例えば、ファイルの読み取りとgrep検索のみにアクセスできるコードレビューエージェントを構築できます。
設定ファイルはagentsディレクトリに配置します:
{
"name": "code-reviewer",
"display_name": "Code Reviewer",
"description": "Проверяет код на ошибки и безопасность",
"system_prompt": [
"Ты опытный инженер, проводящий ревью кода.",
"Обращай внимание на безопасность и поддерживаемость.",
"Предлагай конкретные исправления."
],
"tools": ["list_files", "read_file", "grep", "agent_share_your_reasoning"]
}
エージェントの切り替えは作業中に直接、/agent code-reviewerコマンドで行います。
ゼロデータ収集
作者は意図的に分析とテレメトリを拒否しています。プロンプト、ファイルパス、呼び出しログがプロジェクトサーバーから外部に送信されることはありません。
OllamaやvLLMを使用する場合、データはコンピュータから完全に外部に出ません。
試してみる方法
実行にはPython 3.11以上が必要です。最速の起動方法はuv経由です:
uvx code-puppy
起動後、使用するLLMのキーを入力するか、ローカルエンドポイントを指定する必要があります。
誰が使うべきか
このツールは大胆で独特なものです。デフォルトでは、エージェントは気難しい傾向があり、600行以上のコードファイルを修正することを拒否し、適時のリファクタリングを強制します。
このプロジェクトは、CLIツールを愛し、月額サブスクリプションを払いたくない人、APIトークンの使用量を自分で制御したい人にアピールするでしょう。
関連プロジェクト