ConardLi/easy-agent
Production-ready open source terminal coding agent with readable, layered code: permission rules, OS sandboxing, MCP, skills, sub-agents, and Anthropic, OpenAI-compatible, Gemini, or local models.
Easy Agent – 安全なターミナルベースのコーディングアシスタント
機能
- コマンドラインREPL(
eagent)としてコードリポジトリの隣で動作します。 - 自然言語でタスクを記述すると、エージェントが計画を立て、ファイルを読み書き・編集し、ビルド/テストを実行し、結果を報告します。
- 危険な可能性のあるアクション(ファイル書き込み、シェルコマンド、ネットワーク呼び出し)はすべて、設定した権限システムによってフィルタリングされ、オプションでOSレベルのサンドボックスが適用されます。
主な機能
| 領域 | ハイライト |
|---|---|
| コアツール | ファイル読み書き、複数ファイル編集、glob/grep、Bash/PowerShell実行、Web取得/検索、MCPベースの拡張機能。 |
| 安全性 | 許可/確認/拒否のルールエンジン、ワークスペース信頼モデル、パス境界チェック、読み取り専用のPlanモード、分類器支援のAutoモード、サンドボックス(macOSではSeatbelt、Linuxではbubblewrap)。 |
| 永続性 | セッションのトランスクリプト、ファイルチェックポイント(/rewind)、プロジェクト全体のメモリ(AGENT.md/AGENTS.md)、永続的なタスクグラフ、再開可能なセッション。 |
| 拡張性 | スキル、カスタムエージェント、スラッシュコマンド、プラグイン、MCPサーバー、静的マーケットプレイス、組み込み用SDK。 |
| インターフェース | 対話型ターミナルUI、ヘッドレスJSON/NDJSON出力(-p)、stdio上のJSON-RPC、IDE用のAgent Client Protocol、SDK(eagent/sdk)。 |
| 対応モデル | Anthropic、OpenAI互換、Gemini、ローカルのOllamaスタイルモデル。JSONプロファイルまたは環境変数で設定可能。 |
| プラットフォーム | macOS、Linux/WSL2(サンドボックス対応)、Windows(PowerShell、サンドボックスなし)。 |
使用方法
- npmでグローバルにインストールします(
npm i -g eagent)またはnpxで実行します。 - モデルトークンをエクスポートします(例:
ANTHROPIC_AUTH_TOKEN)。 - プロジェクトに
cdしてeagentを起動します。 - 初回実行時に、フォルダを信頼するかどうかを決定します。その後、自然言語でリクエストを入力します(例:
認証がどのように行われるか説明して)。 - スラッシュコマンド(
/help、/rewind、/model、/permissionsなど)を使用してセッションを制御したり、状態を確認したり、変更を元に戻したりします。
セキュリティモデル
- 権限ルール: 許可、確認、拒否 – 拒否が常に優先されます。承認されていないアクションはプロンプトをトリガーします。
- 権限モード:
default(確認)、plan(読み取り専用)、auto(分類器が決定し、不確実な場合はプロンプトを表示)。 - ワークスペース信頼: 信頼の決定は
~/.easy-agent/state.jsonに保存されます。リポジトリは自分自身を信頼済みとマークすることはできません。 - パス境界: ワークスペース外のシンボリックリンクは拒否されます。
- サンドボックス: オプションのOSサンドボックスがBashコマンドを隔離します。起動に失敗した場合、コマンドはブロックされます。
- ローカルデータ: すべてのセッションデータは
~/.easy-agentに制限付き権限(0700/0600)で保存されます。
設定
- 設定は階層化されたJSONファイル(ユーザー → プロジェクト → ローカル → CLI → 管理)です。
- モデルプロファイルは
settings.jsonで定義され、eagent --model <名前>または/modelで選択します。 - 権限、機能フラグ、サンドボックスオプションは同じ階層で切り替えます。
典型的なワークフロー
- コード探索: 機能が実装されている場所を尋ねます。エージェントがgrepし、ファイルを開き、説明します。
- バッチリファクタリング: 複数ファイルの変更をプロンプトし、差分を確認し、必要に応じて
/rewindします。 - CI統合: プロンプトを
eagent -pにパイプし、スクリプトでJSON出力を消費します。 - カスタムツール: 独自のスキルやプラグインを登録するか、ACPプロトコルを介してIDEを接続します。
開発と貢献
- TypeScriptで構築され、単一のESMパッケージとしてバンドルされています。
- 開発ワークフロー:
npm run dev。CIは検証スクリプトと広範なテストを実行します。 - 現在、外部からのPRは受け付けていませんが、再現可能なバグを含むissueは歓迎します。
ライセンス: MIT(サードパーティのライセンスは別途記載)。
Easy Agentは、ターミナルで作業する開発者向けに、プログラム可能でセキュリティに重点を置いたAIコーディングアシスタントを提供する本格的なオープンソースプロジェクトです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト