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 模式(分类器引导的权限)。
  • 会话管理 – 持久会话、恢复、历史记录、导出、文件检查点、回退和令牌预算处理。
  • 可扩展性 – 技能、自定义子代理、钩子、插件,以及社区扩展的市场。
  • 多代理协作 – 后台代理、工作树隔离,以及用于协调工作的 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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目