Balanov/uncut

ミニマルなインターフェースなしのコーディングエージェント:7 MB の Go 静的バイナリで、ファイル読み取り、ファイル書き込み、置換、コマンド実行の4つのツールのみを備えています。標準入力からタスクを読み取り、標準出力に結果を書き出すため、シェルパイプライン、CI、コンテナへの組み込みに適しています。各呼び出しでは完全な会話を送信し、圧縮や切り詰めは行いません。

ミニマルなインターフェースなしのコーディングエージェント:7 MB の Go 静的バイナリで、ファイル読み取り、ファイル書き込み、置換、コマンド実行の4つのツールのみを備えています。標準入力からタスクを読み取り、標準出力に結果を書き出すため、シェルパイプライン、CI、コンテナへの組み込みに適しています。各呼び出しでは完全な会話を送信し、圧縮や切り詰めは行いません。

スター数 572(+295 / 24時間)

理由

  • 「コンテキストをこっそり破棄しない」ことを重視:要約、トリミング、スライディングウィンドウを行わず、ファイル内容とコマンド出力をすべてモデルに渡します。モデル出力がプロバイダー側で切り詰められた場合は、中途半端な回答を成功として扱うのではなく、エラーとして終了します。
  • ローカル Ollama(作者は qwen3:8b でスモークテスト済み)を含む、OpenAI 互換の Chat Completions インターフェースに対応。JSONL セッションファイルによる継続実行や、--json による構造化イベント出力がオプションで利用可能。実装は部分的に 837 行の Go コードで構成されており、変更が容易です。

使い方

  • Releases から対応プラットフォームのバイナリをダウンロード(SHA-256 チェックサム付き)、または go install github.com/Balanov/uncut/cmd/uncut@latest を実行(Go 1.26 以上が必要)
  • UNCUT_API_KEY、UNCUT_MODEL を設定し(OpenRouter などを使用する場合は UNCUT_BASE_URL も設定)、uncut "Inspect this repository and fix the failing tests" のように実行します。git diff | uncut "Review this diff. Do not edit files." のようなパイプライン利用も可能です。

リスク

  • 作者はこれがサンドボックスではないことを明確にしています。モデルはユーザー権限で任意のシェルコマンドを実行でき、承認ダイアログはありません。信頼できないタスクは使い捨てコンテナ内で実行してください。セッションファイルにはソースコードやシークレットが含まれる可能性があります。
  • 毎回完全な会話を送信するため、長時間のタスクではトークンコストが急速に増加し、コンテキスト上限を超えると直接失敗します。画像には対応していません。バイナリは未署名です。新しいリポジトリ(11 月 1 日作成)でスター数が急増しており、サイトでは「要観察」と表示されていますが、README を読む限り通常の開発ツールです。ライセンスは MIT です。

開く

GitHub

最新の AI ニュースを見る