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 typecheck、npm run test:stage36などのスクリプトを実行してビルドを検証。- Issuesは受け付けていますが、Pull Requestsはまだオープンしていません。
- READMEにドキュメントとトラブルシューティング手順が含まれています。
ライセンス – MIT。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト