一小さなコア
一枚の葉から
コアにあるのは、エージェントループ、プロバイダー、4つのツール、TUI、セッション、権限確認だけ。
- read
- write
- edit
- bash
コアは約 3,600 行で、4,000 行を超えないように保っている。組み込みの4ツールも、プラグインと同じ公開 API で登録している。
プラグインで組み替えられる、
ターミナル向けの小さなコーディングエージェント
curl -fsSL https://sasanokusa.com/sasacode/install.sh | sh
一小さなコア
コアにあるのは、エージェントループ、プロバイダー、4つのツール、TUI、セッション、権限確認だけ。
コアは約 3,600 行で、4,000 行を超えないように保っている。組み込みの4ツールも、プラグインと同じ公開 API で登録している。
二プラグイン
コアの外の振る舞いは、すべて公開のプラグイン API で足す。~/.sasacode/plugins/ に TypeScript のファイルを置けば、ビルドなしで読み込む。
MCP サーバーと Agent Skills(SKILL.md)はそのまま使える。使用量のグラフ(/usage)、ゴール(/goal)、長いコマンドのバックグラウンド実行なども同梱のプラグインで、plugins.disabled で外せる。
Plugin API 1.7.0 · npm i -D @sasacode/plugin-api
三モデル
モデルは provider/model で指定する。キーのあるプロバイダーの一覧を取ってきて、/model から選べる。
llama.cpp、vLLM、LM Studio などの自前のサーバーは sasacode endpoint add で足す。OpenAI 形式か Anthropic 形式かは自動で見分ける。
四修復
小さなモデルが崩したツール呼び出しは、検証の前に直す。末尾のカンマ、True、キー名(file → path)、型("20" → 20)、ツール名の typo。
候補が1つに絞れるときだけ直し、直したことはモデルに短く伝える。同じ文の繰り返しや、同じ操作の堂々巡りも止める。
五権限
ツールは実行する前に判定する。順番は deny → ask → allow → モード。
判断専用モデル Jev の判定を重ねることもできる(既定は無効)。パスはシンボリックリンクをたどった先で見る。クローンしたリポジトリのプラグインや接続先は、信頼すると答えるまで使わない。
六使い方
esc で中断、実行中の enter で次の指示を予約。終わると、使ったトークンと料金、再開用の sasacode -r <id> が残る。
結インストール
curl -fsSL https://sasanokusa.com/sasacode/install.sh | sh
~/.sasacode/.env ができるsasacode で始めるバイナリは GitHub Releases の最新版から取得し、SHA256 を検証する。版を固定するには SASACODE_VERSION=v0.9.9、置き場所を変えるには SASACODE_INSTALL_DIR=… を付ける。
sasacode v0.9.9 · Apache-2.0