ConardLi/easy-agent

Fully recreating Claude Code from scratch, so anyone can learn how it works.

Easy Agent – ターミナルネイティブなコーディングアシスタント

何であるか – Easy Agent は TypeScript/Node.js で書かれたオープンソースのコマンドラインアプリケーションであり、大規模言語モデル(Claude、OpenAI、Gemini、Ollama など)と会話でき、モデルがローカルファイルシステム、シェル、ウェブ、またはカスタムプラグイン上で動作できるようにします。これは「Claude Code」の体験を模倣していますが、完全にターミナル内で動作し、拡張性を重視して設計されています。

現在の状態 – プロジェクトは36の開発ステージを完了(リリース候補版)しており、npmへの公開を待っています。すべてのコア機能、ステップバイステップのチュートリアル、パッケージング、インストーラースクリプト、ドキュメントが整備されています。残された唯一のステップは eagent パッケージの公開と、公開されたバイナリが正しく動作することの確認です。


コア機能(READMEに記載)

  • LLM通信レイヤー – Anthropic、OpenAI互換、Gemini、およびローカルの Ollama プロバイダーとのストリーミングチャット。
  • ターミナルUI – React‑Ink で構築されたインタラクティブなREPL;ヘッドレスモード、JSON/NDJSON出力、画像/スクリーンショット入力もサポート。
  • ツールエコシステム – ファイルの読み書き、マルチ編集、glob/grep、Bash/PowerShell実行、ウェブ取得/検索、および MCP(Model‑Control‑Protocol)リソース。
  • 権限システム – 許可/要求/拒否ルール、Plan モード(読み取り専用の計画モード)、Auto モード(分類器ガイド付き権限)。
  • セッション管理 – 永続セッション、再開、履歴、エクスポート、ファイルチェックポイント、巻き戻し、トークン予算管理。
  • 拡張性 – スキル、カスタムサブエージェント、フック、プラグイン、コミュニティ拡張用のマーケットプレイス。
  • マルチエージェント協働 – バックグラウンドエージェント、ワークツリーの分離、協調作業用の Agent Teams
  • マルチモーダル入力 – 画像やスクリーンショットをモデルに送信可能。
  • パッケージング – npm 上で単一ファイルのESMバンドルとして配布;macOS/Linux用インストーラースクリプトあり。

クイックスタート(READMEより)

# Anthropicトークンを設定(または任意のサポートプロバイダーを構成)
export ANTHROPIC_AUTH_TOKEN="your-token"

# インストールせずに試す
npx --yes eagent@latest

# またはグローバルインストール
npm install -g --ignore-scripts eagent
 eagent   # REPLを起動

また、提供されているインストーラースクリプトも実行できます:

curl -fsSL https://raw.githubusercontent.com/ConardLi/easy-agent/main/install.sh | sh

設定は ~/.easy-agent/settings.json(またはプロジェクトローカルの .easy-agent/settings.json)に配置できます。OpenAI、Gemini、Ollama用の例はREADMEに示されています。


一般的なワークフロー コマンド

コマンド 機能
/help すべてのREPLコマンドを一覧表示
/model … アクティブなモデル/プロファイルを切り替え
/plan 読み取り専用の計画モードに入ります
/auto 分類器支援付き権限を有効化
/resume / /history 保存済みセッションを操作
/rewind / /diff ファイル変更を確認または元に戻す
/plugin / /marketplace 拡張機能のインストール・管理
-p "prompt" (CLI) ヘッドレスモードでワンオフのプロンプトを実行、--output-format json オプションも利用可能

アーキテクチャ(説明通り)

ターミナルUI
   ↓
QueryEngine(複数ターンのオーケストレーション)
   ↓
Agentic Loop(思考 → ツール → 観察)
   ↓
ツールと権限強制
   ↓
プロバイダAPIアダプター(ストリーミング)

5つのレイヤーは、ソースマップを含み、Node.js以外のランタイム依存が一切ない単一のnpmバンドルにパッケージ化されています。


誰が使うべきか?

  • 開発者:重いIDEプラグインなしで、ターミナル内で直接LLMを活用できるコーディングアシスタントを求める人。
  • チーム:カスタムAI補助CLIツールを開発している人。システムはプラグイン、スキル、サブエージェントによる拡張を設計済み。
  • 研究者や趣味人:軽量で再現可能な環境で、エージェントループ、ツール利用、マルチエージェント協働を探索したい人。

コントリビュート・ヘルプの方法

  • リポジトリをクローンし、npm install を実行、その後 npm run dev でホットリロード開発ビルドを起動。
  • npm run typechecknpm run test:stage36 などのスクリプトを実行してビルドを検証。
  • Issuesは受け付けていますが、Pull Requestsはまだオープンしていません。
  • READMEにドキュメントとトラブルシューティング手順が含まれています。

ライセンス – MIT。

関連

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