Project Icon

claude-engineer

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

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

🤖 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历史图表]

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号