claude-engineer
Doriandarko/claude-engineer加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
传统的 AI 编程助手,本质上是一个回答者。你问它答,问什么给什么——它的能力上限就是开发者在设计之初预留给它的那些工具。而 Claude Engineer 走了一条完全不同的路:它是一个学习者。
想象一下,你在和一位经验丰富的工程师 Pair Programming。你说"帮我把这个网页里的数据提取出来做一个表格",他二话不说,直接写了一个 WebScraperTool;你说"我要对比两个文件的差异",他立刻创建了 DiffEditorTool;你说"这个目录下的文件太多了,帮我整理一下",他生成了 CreateFoldersTool。这些工具不是一开始就有的,而是在对话中按需生长出来的。
这就是 Claude Engineer 的核心哲学:AI 的能力不是固定的,而是动态扩展的。 你用得越多,它就越懂你需要什么,工具库就越丰富。
Claude Engineer 诞生于 2024 年 6 月,由开发者 Doriandarko 创建。它站在 Claude 3.5 Sonnet 这位"最强代码助手"的肩膀上,专注于解决一个核心问题:LLM 如何在长程对话中持续保持高效?
业界已有许多 Agent 框架——LangChain、AutoGPT、BabyAGI——它们各有侧重,但普遍存在一个痛点:工具集是静态的。当模型发现当前对话需要某个能力,但工具库里没有,它只能返回"我做不到"。Claude Engineer 的回答是:做不到?那就自己造一个。
项目的代码结构清晰地体现了这一设计理念:
claude-engineer/
├── app.py # Flask Web 服务器
├── ce3.py # CLI 主程序 + Assistant 核心类
├── config.py # Anthropic API 配置
├── tools/ # 工具实现
│ ├── base.py # BaseTool 抽象基类
│ ├── toolcreator.py # 工具创建器(核心!)
│ ├── browsertool.py # 浏览器自动化
│ ├── webscrapertool.py
│ ├── filecreatortool.py
│ ├── fileedittool.py
│ ├── screenshottool.py
│ └── ... # 14 个内置工具
├── prompts/ # 系统提示词
│ └── system_prompts.py
└── templates/ # Web UI 模板
核心流程是这样的:当用户在对话中表达了一个需求,而现有工具无法满足时,ToolCreator 就会启动。它会引导 Claude 分析需求,生成工具的 Python 代码,然后通过 importlib 在运行时动态加载。整个过程用户几乎无感知,工具就"长"出来了。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| LLM | Claude 3.5 Sonnet (Anthropic) | 核心推理与工具生成 |
| CLI 界面 | Rich + Prompt Toolkit | 终端富文本交互 |
| Web 界面 | Flask | 浏览器端可视化对话 |
| 工具加载 | importlib + pkgutil | 运行时动态模块导入 |
| 依赖管理 | uv | 极速 Python 环境管理 |
Claude Engineer 内置了 14 个经过精心设计的基础工具,覆盖了日常开发的核心场景:
项目使用 claude-3-5-sonnet-20241022 模型,配合 MAX_TOKENS=8000 的输出限制和 MAX_CONVERSATION_TOKENS=200000 的上下文窗口。这意味着单次对话可以积累大量交互历史,模型能够记住之前创建过的工具,并在后续对话中复用它们——这正是"自我进化"的技术基础。
项目还接入了 Anthropic 的Token 计数 API,实现了精细化的 token 使用追踪,并通过 Web UI 实时可视化。开发者可以清晰看到每轮对话消耗了多少 token、上下文窗口的占用情况。
Claude Engineer 没有提供 Docker 容器化方案,部署依赖本地 Python 环境。不过得益于 uv 的引入,安装过程被大幅简化:
git clone https://github.com/Doriandarko/claude-engineer.git
cd claude-engineer
uv venv && source .venv/bin/activate
uv run ce3.py # CLI 模式
uv run app.py # Web UI 模式 (http://localhost:5000)
Web UI 模式提供了现代化的对话界面,支持实时 token 追踪、图片上传(拖拽即传)、Markdown 渲染和语法高亮。对于不习惯命令行的用户非常友好。
CLI 模式则面向 terminal 原住民,使用 Rich 库实现了彩色输出、进度条和实时面板。两种模式的底层逻辑完全一致,用户可以根据场景切换。
硬件需求方面,由于所有推理都由远程的 Claude 3.5 Sonnet 完成,本地无需 GPU,一台普通开发机即可流畅运行。
硬币的另一面同样值得正视:
1. Anthropic API 成本:所有对话都调用 Claude 3.5 Sonnet,工具生成、代码执行都在 token 消耗中。长期高频使用需要关注 API 账单。
2. 单人维护:仓库只有 1 位主要贡献者,Issue 数量(50+)和 Star 增长(11k+)之间的落差说明项目在快速扩张但维护力量有限。
3. 安全边界:动态工具生成意味着模型可以"写代码并执行"。虽然有 E2B 沙箱保底,但在本地直接运行时,工具的权限边界完全依赖模型自身的判断。
4. 工具持久化:动态创建的工具在会话结束后是否保留?这决定了"进化"是否真实累积,目前看来答案并不明确。
Claude Engineer 11k+ 的 Star 数量说明了一件事:开发者对"能自我进化的 AI 助手"有着强烈的需求。
它代表了一个方向性转变:从"AI 帮你做事"到"AI 学会帮你做事"。当工具不再是瓶颈,开发者与 AI 的协作模式将从"指令-执行"进化为"对话-共创"。
这个项目也在客观上推动了 Claude Code、Cursor Agent 等后来者的探索。可以说,Claude Engineer 是 2024 年 AI 编程助手自我进化浪潮中的一个标志性节点。