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、サンドボックスなし)。

使用方法

  1. npmでグローバルにインストールします(npm i -g eagent)またはnpxで実行します。
  2. モデルトークンをエクスポートします(例:ANTHROPIC_AUTH_TOKEN)。
  3. プロジェクトにcdしてeagentを起動します。
  4. 初回実行時に、フォルダを信頼するかどうかを決定します。その後、自然言語でリクエストを入力します(例:認証がどのように行われるか説明して)。
  5. スラッシュコマンド(/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コーディングアシスタントを提供する本格的なオープンソースプロジェクトです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト