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 typecheck、npm run test:stage36等)验证构建。 - 接受问题反馈;目前尚未开放拉取请求。
- README 中包含文档和故障排除步骤。
许可证 – MIT。
相关
- 项目
- 项目
- 项目
- 项目
- 项目