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 typechecknpm run test:stage36 等)驗證建構。
  • 接受問題回報;目前尚未開放拉取請求。
  • README 中包含文件與故障排除步驟。

授權 – MIT。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案