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 等)對話,並讓模型在您的本機檔案系統、Shell、網路或自訂外掛上執行操作。它模擬了「Claude Code」的體驗,但完全在終端中運作,並設計為可擴充。
目前狀態 – 專案已完成 36 個開發階段(發布候選版),正等待首次 npm 發布。所有核心功能、逐步教學、打包、安裝指令碼與文件皆已就緒;唯一待辦事項是發布 eagent 套件並確認發布的二進位檔正常運作。
核心功能(README 中列出)
- LLM 通訊層 – 支援與 Anthropic、OpenAI 相容、Gemini 及本地 Ollama 提供者的串流對話。
- 終端 UI – 使用 React‑Ink 建構的互動式 REPL;也支援無頭模式、JSON/NDJSON 輸出與影像/截圖輸入。
- 工具生態系 – 檔案讀寫、多檔編輯、glob/grep、Bash/PowerShell 執行、網頁取得/搜尋,以及 MCP(模型控制協定)資源。
- 權限系統 – 允許/詢問/拒絕規則,Plan 模式(唯讀規劃)與 Auto 模式(分類器引導的權限)。
- 會話管理 – 持久會話、恢復、歷史記錄、匯出、檔案檢查點、回退與 Token 預算處理。
- 可擴充性 – 技能、自訂子代理、鉤子、外掛,以及社群擴充的市場。
- 多代理協作 – 後台代理、工作樹隔離,以及用於協調工作的 Agent Teams。
- 多模態輸入 – 可將影像與截圖傳送給模型。
- 打包方式 – 以單一檔案 ESM 套件形式在 npm 上分發;提供 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)。README 中展示了 OpenAI、Gemini 和 Ollama 的範例設定。
常見工作流程指令
| 指令 | 作用 |
|---|---|
/help |
列出所有 REPL 指令 |
/model … |
切換目前模型/設定 |
/plan |
進入唯讀規劃模式 |
/auto |
啟用分類器輔助權限 |
/resume / /history |
操作已儲存的會話 |
/rewind / /diff |
檢查或回退檔案變更 |
/plugin / /marketplace |
安裝/管理擴充 |
-p "prompt" (CLI) |
在無頭模式下執行一次性提示,可選 --output-format json |
架構(如所述)
終端 UI
↓
QueryEngine(多輪編排)
↓
Agentic Loop(思考 → 工具 → 觀察)
↓
工具與權限強制
↓
提供者 API 适配器(串流)
五層結構打包成單一 npm 套件,包含原始碼映射,除 Node.js 外無執行時相依。
誰會使用它?
- 開發者:希望在終端中直接使用 LLM 驅動的程式助手,而無需重量級 IDE 外掛。
- 團隊:正在建構自訂 AI 增強 CLI 工具,因為此系統設計為可透過外掛、技能與子代理擴充。
- 研究者或愛好者:希望在輕量、可重現的環境中探索代理循環、工具使用與多代理協作。
如何貢獻 / 取得協助
- 克隆倉儲,執行
npm install,再執行npm run dev進行熱重載開發建構。 - 執行提供的指令碼(
npm run typecheck、npm run test:stage36等)驗證建構。 - 接受問題回報;目前尚未開放拉取請求。
- README 中包含文件與故障排除步驟。
授權 – MIT。
相關
- 專案
- 專案
- 專案
- 專案
- 專案