在IDE中实现自主编码的AI助手——Cline

2,138 阅读6分钟

在软件开发的世界中,效率和质量是开发者们永恒的追求。随着人工智能技术的飞速发展,AI助手逐渐成为开发者们的得力工具。今天,我们要介绍的是一个能够在你的IDE中实现自主编码的AI助手——Cline。它不仅能够创建和编辑文件、执行命令,还能使用浏览器进行交互操作,甚至可以通过你的授权完成复杂的开发任务。

Cline是什么?

Cline(前身为Claude Dev)是一个基于Claude 3.5 Sonnet模型的AI助手,专为开发者设计。它能够通过命令行和编辑器(CLI + Editor)帮助你完成复杂的软件开发任务。Cline的核心功能在于它的自主编码能力,它能够逐步处理任务,创建和编辑文件、浏览大型项目、使用浏览器、执行终端命令等,所有这些操作都需要你的授权。

Cline的独特之处在于它提供了一个人机交互的GUI界面,允许你在每一步操作中批准文件更改和终端命令。这种设计不仅确保了安全性,还让你能够探索AI助手的潜力,而不必担心失控的风险。

Cline的核心功能

1. 任务分析与文件操作

Cline能够分析你的文件结构和源代码的抽象语法树(AST),并通过正则表达式搜索和读取相关文件来快速了解现有项目的情况。它能够智能地管理上下文信息,确保即使是在大型复杂项目中,Cline也能提供有价值的帮助,而不会让上下文窗口过载。

  • 创建和编辑文件:Cline可以创建和编辑文件,并在过程中监控lint和编译器的错误,自动修复诸如缺少导入和语法错误等问题。
  • 执行终端命令:Cline可以直接在你的终端中执行命令,并监控输出。例如,在编辑文件后,它可以自动处理开发服务器的问题。
  • 浏览器交互:对于Web开发任务,Cline可以启动无头浏览器,点击、输入、滚动并捕获屏幕截图和控制台日志,帮助你修复运行时错误和视觉问题。

2. 支持多种API和模型

Cline支持多种API提供商,包括OpenRouter、Anthropic、OpenAI、Google Gemini、AWS Bedrock、Azure和GCP Vertex。你还可以配置任何与OpenAI兼容的API,或者通过LM Studio/Ollama使用本地模型。如果你使用OpenRouter,Cline会自动获取最新的模型列表,让你能够第一时间使用最新的模型。

此外,Cline还会跟踪整个任务循环和单个请求的总令牌数和API使用成本,确保你在每一步操作中都能清楚地了解花费情况。

3. 终端命令执行

得益于VSCode v1.93中的Shell集成更新,Cline可以直接在终端中执行命令并接收输出。这使得它能够执行从安装包、运行构建脚本到部署应用程序、管理数据库和执行测试等广泛的任务。Cline能够适应你的开发环境和工具链,确保任务顺利完成。

对于长时间运行的进程(如开发服务器),你可以使用“Proceed While Running”按钮,让Cline在命令在后台运行的同时继续处理任务。Cline会在工作时收到任何新的终端输出通知,从而能够及时应对可能出现的问题,例如在编辑文件时出现的编译错误。

4. 浏览器自动化

Cline可以利用Claude 3.5 Sonnet的“计算机使用”能力,启动浏览器、点击元素、输入文本、滚动页面,并在每一步捕获屏幕截图和控制台日志。这使得Cline能够进行交互式调试、端到端测试,甚至是一般的网页操作。你不再需要手动复制粘贴错误日志,Cline可以自主修复视觉错误和运行时问题。

例如,你可以让Cline“测试应用程序”,它会运行npm run dev命令,启动本地开发服务器,并在浏览器中执行一系列测试,确保一切正常运行。

5. 自定义工具扩展

通过模型上下文协议(MCP) ,Cline可以扩展其能力。你可以使用社区制作的服务器,也可以让Cline创建并安装专门为你工作流程定制的工具。只需告诉Cline“添加一个工具”,它就会处理从创建新的MCP服务器到将其安装到扩展中的所有步骤。这些自定义工具将成为Cline工具包的一部分,随时可以在未来的任务中使用。

  • “添加一个获取Jira票证的工具” :获取票证的AC并让Cline开始工作。
  • “添加一个管理AWS EC2实例的工具” :检查服务器指标并扩展实例。
  • “添加一个拉取最新PagerDuty事件的工具” :获取详细信息并让Cline修复错误。

6. 上下文管理

Cline提供了多种方式来添加上下文信息,确保它能够更好地理解你的任务需求:

  • @url:粘贴URL,Cline会将其转换为Markdown格式,方便你提供最新的文档。
  • @problems:添加工作区错误和警告(“问题”面板),让Cline修复这些问题。
  • @file:添加文件内容,避免浪费API请求来批准读取文件。
  • @folder:一次性添加文件夹中的所有文件,进一步加快工作流程。

7. 检查点:比较与恢复

Cline在任务过程中会为你的工作区创建快照。你可以使用“比较”按钮查看快照与当前工作区之间的差异,并使用“恢复”按钮回滚到某个快照点。例如,在处理本地Web服务器时,你可以使用“仅恢复工作区”来快速测试不同版本的应用程序,然后使用“恢复任务和工作区”继续从你满意的版本开始构建。

同类项目对比

Cline的功能与一些现有的AI编码助手(如GitHub Copilot、Tabnine等)有相似之处,但也有其独特之处。与Copilot相比,Cline不仅限于代码补全,它能够自主执行复杂的开发任务,如文件操作、终端命令执行和浏览器自动化。此外,Cline通过MCP协议支持自定义工具扩展,使其能够适应更多样化的开发需求。

总的来说,Cline是一个功能强大且灵活的AI助手,特别适合那些希望在开发过程中提高效率、减少重复劳动的开发者。无论是处理大型项目还是进行Web开发,Cline都能为你提供强有力的支持。

如果你对Cline感兴趣,不妨下载并体验一下,看看它如何改变你的开发工作流程!