claude-engineer

claude-engineer

集成Claude模型的开源软件开发工具

Claude Engineer是一款开源命令行工具,集成Claude 3和3.5模型,支持文件操作、网络搜索、代码分析和执行。它提供交互式界面和自动模式,可进行项目结构创建、代码优化和图像分析。通过虚拟环境确保代码执行安全,旨在提升软件开发效率。

Claude EngineerCLI工具AI开发助手代码分析自动化任务Github开源项目

🤖 Claude 工程师

Claude 工程师是一个先进的交互式命令行界面(CLI),它利用 Anthropic 的 Claude 3 和 Claude 3.5 模型的强大功能来协助完成各种软件开发任务。这个工具无缝地结合了最先进的大型语言模型的能力,以及实用的文件系统操作、网络搜索功能、智能代码分析和执行能力。

✨ 特性

  • 💬 与 Claude 3 和 Claude 3.5 模型的交互式聊天界面
  • 📁 全面的文件系统操作(创建文件夹、文件、读写文件)
  • 🔍 使用 Tavily API 进行网络搜索,获取最新信息
  • 🌈 代码片段的增强语法高亮
  • 🏗️ 智能项目结构创建和管理
  • 🧐 高级代码分析和改进建议
  • 🖼️ 图像分析能力,支持在终端中拖放图片
  • 🚀 改进的自动模式,实现高效的自主任务完成
  • 🔄 自动模式中的稳健迭代跟踪和管理
  • 📊 基于差异的精确文件编辑,用于受控代码修改
  • 🛡️ 增强的错误处理和详细的工具使用输出
  • 🎨 使用 Rich 库进行彩色终端输出,提高可读性
  • 🔧 详细记录工具使用和结果
  • 🔁 改进的文件编辑工作流,分离读取和应用步骤
  • 🧠 基于自动模式状态动态更新系统提示
  • 🔍 TOOLCHECKERMODEL 用于验证工具使用和输出
  • 📝 CODEEDITORMODEL 用于专门的代码编辑任务
  • 🖥️ CODEEXECUTIONMODEL 用于分析代码执行结果
  • 📊 每个模型的令牌使用跟踪(输入、输出和总计),使用表格改进可视化
  • 🪟 剩余上下文窗口显示
  • 💾 聊天记录保存功能
  • 🔒 使用隔离的虚拟环境增强代码执行能力
  • 🔄 长时间运行代码执行的进程管理
  • 📚 多文件同时读取功能,高效处理多个文件

🛠️ 安装

  1. 克隆此仓库:

    git clone https://github.com/doriandarko/claude-engineer.git
    cd claude-engineer
    
  2. 安装所需依赖:

    pip install -r requirements.txt
    
  3. 设置环境变量:

    • 在项目根目录创建 .env 文件
    • 添加以下环境变量:
      ANTHROPIC_API_KEY=你的_anthropic_api_密钥
      TAVILY_API_KEY=你的_tavily_api_密钥
      
  4. 设置代码执行的虚拟环境: Engineer 在首次执行代码时会创建一个虚拟环境来运行代码。 如果你想在虚拟环境而不是默认环境中运行主脚本,可以按以下步骤操作:

    python -m venv code_execution_env
    source code_execution_env/bin/activate  # Windows 上使用:code_execution_env\Scripts\activate
    pip install -r requirements.txt
    deactivate
    

🔧 虚拟环境设置

Claude 工程师使用专用的虚拟环境进行代码执行,以确保隔离和安全性。在首次运行代码时会自动创建虚拟环境。但如果你想手动设置或自定义它,请按以下步骤操作:

  1. 创建虚拟环境:

    python -m venv code_execution_env
    
  2. 激活虚拟环境:

    • Windows:
      code_execution_env\Scripts\activate
      
    • macOS 和 Linux:
      source code_execution_env/bin/activate
      
  3. 安装所需依赖:

    pip install -r requirements.txt
    
  4. 完成后退出虚拟环境:

    deactivate
    

code_execution_env 虚拟环境将用于所有代码执行任务,确保运行用户代码时环境一致且隔离。

🚀 使用方法

运行主脚本以启动 Claude 工程师界面:

python main.py

启动后,你可以通过输入查询或命令与 Claude 工程师交互。一些示例交互:

  • "为一个网络应用创建新的 Python 项目结构"
  • "解释 file.py 中的代码并提出改进建议"
  • "搜索 React 开发的最新最佳实践"
  • "帮我调试这个错误:[粘贴你的错误信息]"
  • "分析这张图片并描述其内容"
  • "执行这段 Python 代码并分析结果"
  • "读取多个文件:file1.py, file2.py, file3.py"

特殊命令:

  • 输入 'exit' 结束对话并关闭应用程序。
  • 输入 'image' 在消息中包含图片进行分析。
  • 输入 'reset' 重置整个对话而不重启脚本。
  • 输入 'automode number' 进入自主模式,指定迭代次数。
  • 输入 'save chat' 保存当前聊天记录。
  • 随时按 Ctrl+C 退出自动模式并返回常规聊天。

每次交互后,Claude 工程师将显示:

  • 当前模型的令牌使用情况(输入、输出和总计)
  • 剩余上下文窗口大小

代码执行和进程管理

Claude 工程师现在支持在隔离的 'code_execution_env' 虚拟环境中执行代码:

  1. 使用 execute_code 工具在隔离环境中安全运行 Python 代码。
  2. 可以使用 execute_code 返回的进程 ID 管理长时间运行的进程。
  3. CODEEXECUTIONMODEL 分析执行结果并提供见解。

使用不同的 AI 模型

Claude 工程师利用多个专门的 AI 模型:

  • MAINMODEL:用于一般交互的 Claude 3 或 Claude 3.5
  • TOOLCHECKERMODEL:验证工具使用和输出
  • CODEEDITORMODEL:执行专门的代码编辑任务
  • CODEEXECUTIONMODEL:分析代码执行结果

脚本会根据任务自动选择适当的模型。

🤖 改进的自动模式

增强的自动模式使 Claude 能更高效和可控地自主处理复杂任务。在自动模式下:

  1. Claude 根据你的请求设定清晰、可达成的目标。
  2. 它逐一完成这些目标,根据需要使用可用工具。
  3. Claude 定期提供进度更新,包括当前迭代次数。
  4. 自动模式持续运行,直到目标完成或达到最大迭代次数。
  5. 进入自动模式时可以指定最大迭代次数(默认为 25 次)。
  6. Claude 根据进展和遇到的障碍动态调整其方法。
  7. TOOLCHECKERMODEL 验证工具使用和输出,提高可靠性。

使用自动模式:

  1. 提示输入时,输入 'automode number',其中 number 是最大迭代次数。
  2. 根据提示提供你的请求。
  3. Claude 将自主工作,每次迭代后提供更新。
  4. 当任务完成、达到最大迭代次数或你按下 Ctrl+C 时,自动模式退出。

📊 增强的基于差异的文件编辑

Claude 工程师现在支持改进的基于差异的文件编辑系统,允许对现有文件进行更精确和受控的修改。新的工作流程包括:

  1. 使用 edit_and_apply 函数读取文件的全部内容,而不提供新内容。
  2. 使用 edit_and_apply 函数应用变更,提供新内容,并显示建议更改的详细差异。
  3. 利用 CODEEDITORMODEL 进行专门的代码编辑任务,确保高质量的修改。

编辑文件时,Claude 将:

  1. 显示建议更改的详细差异,使用 Rich 库的彩色编码突出显示添加、删除和未更改的行。
  2. 专注于添加新代码或修改现有代码,避免不必要地移除功能。
  3. 提供添加和删除行数的摘要。
  4. 谨慎应用更改,避免重复和不必要的替换。
  5. 支持各种编辑场景,包括有针对性的更改、追加内容、在开头插入和替换整个文件内容。
  6. 使用 CODEEDITORMODEL 确保代码更改遵循最佳实践并保持一致性。

此功能增强了 Claude 改进代码库的能力,同时保持现有功能的完整性。

🧠 动态系统提示

系统提示现在根据脚本是否处于自动模式而动态更新。这允许根据当前操作模式提供更具针对性的指令和行为:

  1. 在常规模式下,Claude 专注于提供有用的回应并根据需要使用工具。
  2. 在自动模式下,Claude 被指示自主工作、设定目标并定期提供进度更新。
  3. 系统提示适应特定任务,优化 Claude 在每种情况下的表现。
  4. 系统提示现在包含文件上下文,以增强令牌管理。

动态系统提示增强了 Claude 适应不同场景并提供更相关帮助的能力。

📊 令牌管理和可视化

Claude 工程师现在具有改进的令牌管理和可视化功能:

  1. 使用系统提示中的文件上下文增强令牌管理。
  2. 使用表格格式改进令牌可视化。
  3. 显示每次模型交互的输入、输出和总令牌使用情况。
  4. 可视化剩余上下文窗口大小。

这些改进提供了更好的令牌使用洞察,有助于更有效地管理对话。

🔧 可用工具

Claude 工程师配备了一套强大的工具来协助完成各种任务:

  1. create_folder:在指定路径创建新文件夹。
  2. create_file:在指定路径创建带内容的新文件。
  3. edit_and_apply:读取文件内容,并可选择应用更改。
  4. read_file:读取指定路径文件的内容。
  5. read_multiple_files:读取指定路径多个文件的内容。
  6. list_files:列出指定文件夹中的所有文件和目录。
  7. tavily_search:使用 Tavily API 进行网络搜索,获取最新信息。
  8. execute_code:在隔离的虚拟环境中运行 Python 代码。
  9. stop_process:管理和停止长时间运行的代码执行。
  10. TOOLCHECKERMODEL:验证工具使用和输出,提高可靠性。
  11. CODEEDITORMODEL:高精度执行专门的代码编辑任务。
  12. CODEEXECUTIONMODEL:分析代码执行结果并提供见解。

这些工具使 Claude 能够与文件系统交互、管理项目结构、从网络收集信息、执行高级代码编辑和安全执行代码。

🖼️ 图像分析

Claude 工程师现在支持图像分析功能。要使用此功能:

  1. 提示输入时,输入 'image'。
  2. 将图像文件拖放到终端或提供文件路径。
  3. 提供关于图像的提示或问题。
  4. Claude 将分析图像并回答你的查询。 这项功能使Claude能够协助处理涉及视觉数据的任务,如分析图表、截图或与您的开发工作相关的任何其他图像。

🛡️ 错误处理和恢复

Claude工程师实现了健壮的错误处理和恢复机制:

  1. 优雅地处理API错误和网络问题。
  2. 对暂时性故障进行自动重试。
  3. 在需要时提供清晰的错误消息和用户操作建议。
  4. 记录错误以便调试和改进。
  5. 能够在非关键错误后恢复并继续运行。
  6. 在需要时安全终止长时间运行的进程。

这些功能确保了即使面对意外问题或复杂的代码执行,也能提供流畅可靠的用户体验。

💾 聊天记录保存

在与Claude工程师交互过程中,您可以随时保存当前的聊天记录:

  1. 在提示输入时输入"save"。
  2. 聊天记录将保存到当前目录下的文件中,文件名包含时间戳。
  3. 您可以稍后查看这些日志以供参考或继续之前的对话。

🧠 AI模型和专门代理

Claude工程师利用多个AI模型提供专门功能:

  1. MAINMODEL(Claude 3或Claude 3.5):处理一般交互和任务处理。
  2. TOOLCHECKERMODEL:验证各种工具的使用和输出,确保可靠性。
  3. CODEEDITORMODEL:专门处理代码编辑任务,确保高质量的修改。
  4. CODEEXECUTIONMODEL:分析代码执行结果并提供见解。

这些模型协同工作,提供全面而智能的开发辅助体验。

工作流程图

[此处省略Mermaid图表代码]

👥 贡献

欢迎贡献!请随时提交Pull Request。对于重大更改,请先开启一个issue讨论您想要更改的内容。

🦙 Ollama工程师已就位

现在您可以使用Ollama和任何支持函数调用的模型,完全在本地使用此脚本的功能: Llama 3.1 Mistral Nemo Firefunction v2 Command-R +

运行前确保安装最新版本的Ollama应用程序并执行

pip install ollama

然后

python ollama-eng.py

🚨使用Ollama工程师时的重要安全注意事项!

如果您允许这些本地模型在您的机器上运行代码,特别是使用执行代码工具时,请格外小心。它可能会损坏您的机器。我完全禁用了OLLAMA工程师的工具执行功能,但如果您想根据原始脚本再次实现它,请自行承担风险。

Star历史

[此处省略Star历史图表]

编辑推荐精选

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多