Skip to content

ツール (Tools)

Commander はコードベースにさらに多くのクラスがあっても、LLM には既定で 18 の組み込みツール を公開します。キャッシュ・エラー処理・ロールバックを前提にした本番向け設計です。

ファイルシステム

Tool内部名用途
readfile_readファイル読み(行/オフセット)
writefile_write作成・上書き
editfile_edit完全一致置換
glob / file_searchfile_searchパターン検索
grep / file_listfile_list内容検索・一覧

コードインテリジェンス

Tool用途
ast_grep_searchAST 検索
patches構造化パッチ
refine / fixAI 洗練・修正
lsp_*診断・シンボル・参照・rename

Web & リサーチ

Tool用途
websearch / webfetch検索・URL fetch
browser_*ブラウザ描画
context7_*ライブラリ docs

コード実行

Tool用途
bash / shell_executeサンドボックスシェル
python / execute_script隔離実行

メモリ & 永続化

Tool用途
memory_store / memory_recall / memory_list永続メモリ
knowledge_searchRAG 検索(builtin-rag)

VCS · メディア

Tool用途
gitstatus, diff, log, commit
look_at / vision_analyze画像解析
pdf_extract / screenshotPDF・画面

オーケストレーション

Tool用途
task / agentサブエージェント委譲
a2a_delegateA2A 委譲
skill / meta / verifyスキル・メタ・検証
todowrite / questionタスク追跡・質問
mcp / saga / checkpointMCP・サガ・チェックポイント

本番機能

  • SHA-256 結果キャッシュ(テナント隔離)
  • Compensation registry
  • Circuit breaker
  • Step error boundary
  • Tool call repair
  • DLP スキャン(入力 6 パターン)

カスタムツール

typescript
import { Tool, ToolContext } from '@commander/core';

class MyCustomTool implements Tool {
  name = 'my-tool';
  description = 'Does something useful';

  async execute(context: ToolContext, args: any) {
    return { success: true, data: {} };
  }
}

runtime.registerTool('my-tool', new MyCustomTool());

monorepo workspace が主経路。
CLI: npx tsx packages/core/src/cliEntry.ts

関連

MIT — マルチエージェント編成のために。