这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

ClinePRO

欢迎来到Cline文档 - 这是一份全面的指南,帮助您使用和扩展Cline的功能。在这里,您将找到帮助您入门、提升技能和为项目做出贡献的资源。

1 - 概述

欢迎来到Cline文档 - 这是一份全面的指南,帮助您使用和扩展Cline的功能。在这里,您将找到帮助您入门、提升技能和为项目做出贡献的资源。

入门指南

提升您的提示工程技能

探索Cline的工具

其他资源

我们一直在努力改进这份文档。如果您有建议或发现可以改进的地方,请告诉我们。您的反馈有助于让Cline变得更好。

2 - 入门指南

欢迎使用 Cline!本指南将帮助您完成设置并开始使用 Cline 构建您的第一个项目。

Cline 入门指南 | 新手程序员

欢迎使用 Cline!本指南将帮助您完成设置并开始使用 Cline 构建您的第一个项目。

您需要准备的内容

在开始之前,请确保您具备以下条件:

  • VS Code: 一个免费且功能强大的代码编辑器。

  • 开发工具: 编程所需的基本软件(Homebrew、Node.js、Git 等)。

    • 在完成此处的设置后,请按照我们的安装基本开发工具指南进行设置
    • Cline 将指导您安装所需的一切内容
  • Cline 项目文件夹: 一个专门用于存放所有 Cline 项目的文件夹。

    • 在 macOS 上:在您的文档文件夹中创建一个名为"Cline"的文件夹
      • 路径:/Users/[您的用户名]/Documents/Cline
    • 在 Windows 上:在您的文档文件夹中创建一个名为"Cline"的文件夹
      • 路径:C:\Users\[您的用户名]\Documents\Cline
    • 在这个 Cline 文件夹内,为每个项目创建单独的文件夹
      • 示例:Documents/Cline/workout-app 用于健身追踪应用
      • 示例:Documents/Cline/portfolio-website 用于您的个人作品集
  • VS Code 中的 Cline 扩展: 在 VS Code 中安装 Cline 扩展。

  • 这里有一个关于入门所需一切内容的教程

逐步设置

按照以下步骤设置 Cline:

  1. 打开 VS Code: 启动 VS Code 应用程序。如果 VS Code 显示"运行扩展可能…",请点击"允许"。

  2. 打开您的 Cline 文件夹: 在 VS Code 中,打开您在文档中创建的 Cline 文件夹。

  3. 导航到扩展: 点击 VS Code 侧边栏中的扩展图标。

  4. 搜索’Cline’: 在扩展搜索栏中,输入"Cline"。

  5. 安装扩展: 点击 Cline 扩展旁边的"安装"按钮。

  6. 打开 Cline: 安装完成后,您可以通过以下几种方式打开 Cline:

    • 点击活动栏中的 Cline 图标。
    • 使用命令面板(CMD/CTRL + Shift + P)并输入"Cline: Open In New Tab"在编辑器中以标签页形式打开 Cline。推荐使用这种方式以获得更好的视图。
    • 故障排除: 如果您看不到 Cline 图标,请尝试重启 VS Code。
    • 您将看到: 您应该会在 VS Code 编辑器中看到 Cline 聊天窗口。

gettingStartedVsCodeCline

设置 OpenRouter API 密钥

现在您已经安装了 Cline,您需要设置 OpenRouter API 密钥以使用 Cline 的全部功能。

  1. 获取您的 OpenRouter API 密钥:
  2. 输入您的 OpenRouter API 密钥:
    • 导航到 Cline 扩展中的设置按钮。
    • 输入您的 OpenRouter API 密钥。
    • 选择您偏好的 API 模型。
      • 推荐用于编程的模型:
        • anthropic/claude-3.5-sonnet:最常用于编程任务。
        • google/gemini-2.0-flash-exp:free:免费的编程选项。
        • deepseek/deepseek-chat:超级便宜,几乎和 3.5 sonnet 一样好
      • OpenRouter 模型排名

您与 Cline 的第一次互动

现在您已准备好开始使用 Cline 构建项目了。让我们创建您的第一个项目文件夹并构建一些内容!将以下提示复制并粘贴到 Cline 聊天窗口中:

嗨 Cline!你能帮我在我的 Cline 目录中创建一个名为"hello-world"的新项目文件夹,并制作一个显示蓝色大字"Hello World"的简单网页吗?

您将看到: Cline 将帮助您创建项目文件夹并设置您的第一个网页。

使用 Cline 的技巧

  • 提问: 如果您对某事不确定,请随时向 Cline 提问!
  • 使用截图: Cline 可以理解图片,所以请随意使用截图来展示您正在处理的内容。
  • 复制和粘贴错误: 如果您遇到错误,请将错误消息复制并粘贴到 Cline 的聊天中。这将帮助他理解问题并提供解决方案。
  • 使用简单语言: Cline 设计为可以理解普通的、非技术性语言。请用您自己的语言描述您的想法,Cline 会将它们转换为代码。

常见问题

  • 什么是终端? 终端是一个用于与计算机交互的基于文本的界面。它允许您运行命令来执行各种任务,如安装软件包、运行脚本和管理文件。Cline 使用终端来执行命令并与您的开发环境交互。
  • 代码库如何工作? (本节将根据新手程序员的常见问题进行扩展)

3 - 安装基本开发工具

当您开始编程时,您需要在计算机上安装一些基本的开发工具。Cline 可以以安全、有指导的方式帮助您安装所需的一切。

使用 Cline 安装基本开发工具 | 新手程序员

当您开始编程时,您需要在计算机上安装一些基本的开发工具。Cline 可以以安全、有指导的方式帮助您安装所需的一切。

基本工具

以下是您进行开发所需的核心工具:

  • Homebrew:macOS 的包管理器,可以轻松安装其他工具
  • Node.js & npm:JavaScript 和 Web 开发所需
  • Git:用于跟踪代码更改和与他人协作
  • Python:许多开发工具使用的编程语言
  • 其他实用工具:如 wget 和 jq 等帮助下载文件和处理数据的工具

让 Cline 安装所有工具

复制此提示并粘贴到 Cline:

你好 Cline!我需要帮助设置我的 Mac 以进行软件开发。你能帮我安装基本的开发工具,如 Homebrew、Node.js、Git、Python 以及编程常用的其他实用工具吗?我希望你能一步一步地指导我完成这个过程,解释每个工具的用途,并确保所有工具都正确安装。

将会发生什么

  1. Cline 首先会安装 Homebrew,它就像开发工具的"应用商店"
  2. 使用 Homebrew,Cline 然后会安装其他基本工具,如 Node.js 和 Git
  3. 对于每个安装步骤:
    • Cline 会向您展示它想要运行的确切命令
    • 您需要在命令运行前批准每个命令
    • Cline 会验证每个安装是否成功

为什么这些工具很重要

  • Homebrew:让在 Mac 上安装和更新开发工具变得容易
  • Node.js & npm:需要用于:
    • 使用 React 或 Next.js 构建网站
    • 运行 JavaScript 代码
    • 安装 JavaScript 包
  • Git:帮助您:
    • 保存代码的不同版本
    • 与其他开发者协作
    • 备份您的工作
  • Python:用于:
    • 运行开发脚本
    • 数据处理
    • 机器学习项目

注意事项

  • 安装过程是交互式的 - Cline 会指导您完成每个步骤
  • 某些安装可能需要输入您计算机的密码。当提示输入密码时,您在屏幕上不会看到任何字符被输入。这是正常的,是一个保护密码的安全功能。只需输入您的密码并按回车键即可。

示例:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Password:

在这里输入您的密码,即使屏幕上什么都不显示。输入完成后按回车键。

  • 所有命令在运行前都会显示给您以供批准
  • 如果遇到任何问题,Cline 会帮助解决

新手程序员的其他提示

了解终端

终端是一个可以输入命令与计算机交互的应用程序。在 macOS 上,您可以通过在 Spotlight 中搜索"Terminal"来打开它。

示例:

$ open -a Terminal

了解 VS Code 功能

VS Code 中的终端

VS Code 中的终端允许您直接在编辑器中运行命令。您可以通过转到 View > Terminal 或按 Ctrl + ` 来打开它。

示例:

$ node -v
v16.14.0

文档视图

文档视图是您编辑代码文件的地方。您可以通过点击屏幕左侧的资源管理器面板中的文件来打开它们。

问题部分

问题部分在 VS Code 中显示代码中的任何错误或警告。您可以通过点击灯泡图标或转到 View > Problems 来访问它。

常见功能

  • 命令行界面 (CLI):这是一个基于文本的界面,您可以在其中输入命令与计算机交互。一开始可能看起来很令人生畏,但它是开发者的一个强大工具。
  • 权限:有时,您需要给予某些应用程序或命令权限。这是一项安全措施,以确保只有受信任的应用程序才能对您的系统进行更改。

下一步

安装这些工具后,您就可以开始编程了!返回新手程序员的 Cline 入门指南继续您的旅程。

4 - 工具

欢迎使用 Cline 提示指南!本指南将为您提供编写有效提示和自定义指令的知识,最大限度地提高您使用 Cline 的工作效率。

Cline 工具参考指南

Cline 能做什么?

Cline 是您的 AI 助手,可以:

  • 编辑和创建项目中的文件
  • 运行终端命令
  • 搜索和分析您的代码
  • 帮助调试和修复问题
  • 自动化重复任务
  • 与外部工具集成

第一步

  1. 开始任务

    • 在聊天中输入您的请求
    • 示例:“创建一个名为 Header 的新 React 组件”
  2. 提供上下文

    • 使用 @ 提及添加文件、文件夹或 URL
    • 示例:"@file:src/components/App.tsx"
  3. 审查更改

    • Cline 会在进行更改前显示差异
    • 您可以编辑或拒绝更改

主要功能

  1. 文件编辑

    • 创建新文件
    • 修改现有代码
    • 跨文件搜索和替换
  2. 终端命令

    • 运行 npm 命令
    • 启动开发服务器
    • 安装依赖项
  3. 代码分析

    • 查找并修复错误
    • 重构代码
    • 添加文档
  4. 浏览器集成

    • 测试网页
    • 捕获截图
    • 检查控制台日志

可用工具

有关最新的实现细节,您可以查看 Cline 仓库 中的完整源代码。

Cline 可以访问以下工具来完成各种任务:

  1. 文件操作

    • write_to_file:创建或覆盖文件
    • read_file:读取文件内容
    • replace_in_file:对文件进行针对性编辑
    • search_files:使用正则表达式搜索文件
    • list_files:列出目录内容
  2. 终端操作

    • execute_command:运行 CLI 命令
    • list_code_definition_names:列出代码定义
  3. MCP 工具

    • use_mcp_tool:使用 MCP 服务器的工具
    • access_mcp_resource:访问 MCP 服务器资源
    • 用户可以创建自定义 MCP 工具,然后 Cline 可以访问这些工具
    • 示例:创建一个天气 API 工具,Cline 可以使用它来获取天气预报
  4. 交互工具

    • ask_followup_question:向用户询问澄清
    • attempt_completion:呈现最终结果

每个工具都有特定的参数和使用模式。以下是一些示例:

  • 创建新文件 (write_to_file):

    <write_to_file>
    <path>src/components/Header.tsx</path>
    <content>
    // Header 组件代码
    

5 - 提示技巧

欢迎使用 Cline 提示指南!本指南将为您提供编写有效提示和自定义指令的知识,最大限度地提高您使用 Cline 的工作效率。

5.1 - 概述

欢迎使用 Cline 提示指南!本指南将为您提供编写有效提示和自定义指令的知识,最大限度地提高您使用 Cline 的工作效率。

Cline 提示指南 🚀

欢迎使用 Cline 提示指南!本指南将为您提供编写有效提示和自定义指令的知识,最大限度地提高您使用 Cline 的工作效率。

自定义指令 ⚙️

自定义指令视为 Cline 的编程。它们定义了 Cline 的基线行为,并且始终"开启",影响所有交互。

要添加自定义指令:

  1. 打开 VSCode
  2. 点击 Cline 扩展设置图标 ⚙️
  3. 找到"自定义指令"字段
  4. 粘贴您的指令
Screenshot 2024-12-26 at 11 22 20 AM

自定义指令在以下方面非常强大:

  • 强制执行编码风格和最佳实践:确保 Cline 始终遵守您团队的编码规范、命名约定和最佳实践。
  • 提高代码质量:鼓励 Cline 编写更可读、可维护和高效的代码。
  • 指导错误处理:告诉 Cline 如何处理错误、编写错误消息和记录信息。

custom-instructions 文件夹包含您可以使用的自定义指令示例。

.clinerules 文件 📋

虽然自定义指令是用户特定的和全局的(适用于所有项目),但 .clinerules 文件提供了项目特定的指令,这些指令位于项目的根目录中。这些指令会自动附加到您的自定义指令中,并在 Cline 的系统提示中引用,确保它们影响项目上下文中的所有交互。这使其成为以下方面的绝佳工具:

安全最佳实践 🔒

为了保护敏感信息,您可以指示 Cline 忽略 .clinerules 中的特定文件或模式。这对于以下内容尤为重要:

  • 包含 API 密钥和机密的 .env 文件
  • 包含敏感数据的配置文件
  • 私人凭证或令牌

.clinerules 中的安全部分示例:

# 安全

## 敏感文件

请勿读取或修改:

-   .env 文件
-   \*_/config/secrets._
-   \*_/_.pem
-   任何包含 API 密钥、令牌或凭证的文件

## 安全实践

-   切勿提交敏感文件
-   对机密使用环境变量
-   将凭证排除在日志和输出之外

一般用例

.clinerules 文件非常适合用于:

  • 在团队成员之间维护项目标准
  • 强制执行开发实践
  • 管理文档要求
  • 设置分析框架
  • 定义项目特定行为

示例 .clinerules 结构

# 项目指南

## 文档要求

-   修改功能时更新 /docs 中的相关文档
-   使 README.md 与新功能保持同步
-   在 CHANGELOG.md 中维护变更日志条目

## 架构决策记录

在 /docs/adr 中为以下内容创建 ADR:

-   主要依赖项更改
-   架构模式更改
-   新的集成模式
-   数据库模式更改
    遵循 /docs/adr/template.md 中的模板

## 代码风格和模式

-   使用 OpenAPI Generator 生成 API 客户端
-   使用 TypeScript axios 模板
-   将生成的代码放在 /src/generated 中
-   优先使用组合而不是继承
-   对数据访问使用仓库模式
-   遵循 /src/utils/errors.ts 中的错误处理模式

## 测试标准

-   业务逻辑需要单元测试
-   API 端点需要集成测试
-   关键用户流程需要端到端测试

主要优势

  1. 版本控制.clinerules 文件成为项目源代码的一部分
  2. 团队一致性:确保所有团队成员的行为一致
  3. 项目特定:为每个项目的需求量身定制的规则和标准
  4. 机构知识:在代码中维护项目标准和实践

.clinerules 文件放在项目的根目录中:

your-project/
├── .clinerules
├── src/
├── docs/
└── ...

另一方面,Cline 的系统提示不可由用户编辑(您可以在此处找到它)。有关提示工程最佳实践的更广泛了解,请查看此资源

编写有效自定义指令的技巧

  • 清晰简洁:使用简单的语言,避免歧义。
  • 关注期望的结果:描述您想要的结果,而不是具体的步骤。
  • 测试和迭代:进行实验以找到最适合您工作流程的内容。

提示 Cline 💬

提示是您在来回聊天中与 Cline 沟通任务需求的方式。 Cline 理解自然语言,因此可以像对话一样编写。

有效的提示包括:

  • 提供清晰的上下文:解释您的目标和代码库的相关部分。使用 @ 引用文件或文件夹。
  • 分解复杂性:将大任务分解为较小的步骤。
  • 提出具体问题:引导 Cline 达到期望的结果。
  • 验证和完善:审查 Cline 的建议并提供反馈。

提示示例

上下文管理

  • 开始新任务: “Cline,让我们开始一个新任务。创建 user-authentication.js。我们需要使用 JWT 令牌实现用户登录。以下是要求……”
  • 总结之前的工作: “Cline,总结我们在上一个用户仪表板任务中所做的工作。我想捕捉主要功能和未解决的问题。将其保存到 cline_docs/user-dashboard-summary.md。”

调试

  • 分析错误: “Cline,我收到此错误:[错误消息]。它似乎来自[代码部分]。分析此错误并建议修复。”
  • 识别根本原因: “Cline,当我[操作]时,应用程序崩溃。问题可能出在[问题区域]。帮助我找到根本原因并提出解决方案。”

重构

  • 改进代码结构: “Cline,这个函数太长且复杂。将其重构为更小的函数。”
  • 简化逻辑: “Cline,这段代码很难理解。简化逻辑并使其更易读。”

功能开发

  • 头脑风暴新功能: “Cline,我想添加一个让用户[功能]的功能。头脑风暴一些想法并考虑实现挑战。”
  • 生成代码: “Cline,创建一个显示用户资料的组件。列表应可排序和过滤。生成此组件的代码。”

高级提示技巧

  • 约束填充: 为了减少代码截断,请在提示中包含明确的约束。例如,“确保代码完整"或"始终提供完整的函数定义。”
  • 信心检查: 要求 Cline 评估其信心(例如,“在 1-10 的范围内,您对此解决方案的信心如何?")
  • 挑战 Cline 的假设: 提出"愚蠢"的问题以鼓励深入思考并防止错误的假设。

以下是一些用户发现对使用 Cline 有帮助的提示技巧:

我们社区最喜欢的提示 🌟

记忆和信心检查 🧠

  • 记忆检查 - pacnpal

    "如果你完全理解我的提示,每次你准备使用工具时,请用 'YARRR!' 回应,不使用工具。"
    

    这是一种有趣的方式,可以在复杂任务中验证 Cline 是否保持在正确的轨道上。尝试用 “HO HO HO” 来增添节日气氛!

  • 信心评分 - pacnpal

    "在任何工具使用之前和之后,给我一个信心等级(0-10),说明工具使用将如何帮助项目。"
    

    鼓励批判性思维并使决策过程透明。

代码质量提示 💻

  • 防止代码截断

    "不要偷懒。不要省略代码。"
    

    替代短语:“仅提供完整代码"或"确保代码完整”

  • 自定义指令提醒

    "我承诺遵循自定义指令。"
    

    强化对设置图标 ⚙️ 配置的遵守。

代码组织 📋

  • 大文件重构 - icklebil

    "FILENAME 变得太大了。分析此文件的工作原理并建议安全地将其分解的方法。"
    

    通过战略分解帮助管理复杂文件。

  • 文档维护 - icklebil

    "不要忘记用更改更新代码库文档"
    

    确保文档与代码更改保持同步。

分析和规划 🔍

  • 结构化开发 - yellow_bat_coffee

    "在编写代码之前:
    1. 彻底分析所有代码文件
    2. 获取完整上下文
    3. 编写 .MD 实现计划
    4. 然后实现代码"
    

    促进有组织、有计划的开发。

  • 彻底分析 - yellow_bat_coffee

    "请开始彻底分析完整流程,始终给出 1 到 10 的信心评分"
    

    防止过早编码并鼓励完全理解。

  • 假设检查 - yellow_bat_coffee

    "列出在完成此任务之前需要澄清的所有假设和不确定性。"
    

    在开发早期识别潜在问题。

深思熟虑的开发 🤔

  • 暂停并反思 - nickbaumann98

    "数到 10"
    

    在采取行动之前促进仔细考虑。

  • 完整分析 - yellow_bat_coffee

    "不要过早完成分析,即使你认为找到了解决方案,也要继续分析"
    

    确保彻底探索问题。

  • 持续信心检查 - pacnpal

    "在保存文件之前、保存之后、拒绝之后和任务完成之前,给出信心等级(1-10)"
    

    通过自我评估保持质量。

最佳实践 🎯

  • 项目结构 - kvs007

    "在建议结构或依赖项更改之前,请检查项目文件"
    

    维护项目完整性。

  • 批判性思维 - chinesesoup

    "提出'愚蠢'的问题,例如:你确定这是实现此功能的最佳方式吗?"
    

    挑战假设并发现更好的解决方案。

  • 代码风格 - yellow_bat_coffee

    在提示中使用"优雅"和"简单"等词语
    

    可能会影响代码组织和清晰度。

  • 设定期望 - steventcramer

    "人类会生气的。"
    

    (一个幽默的提醒,要求提供明确的要求和建设性的反馈)

5.2 - 自定义指令库

此仓库旨在培养一个协作空间,开发者可以在此分享、完善和利用有效的 Cline 自定义指令。通过创建和贡献此库,我们可以增强 Cline 的能力,并赋能开发者应对日益复杂的软件开发挑战。

Cline 自定义指令库

此仓库旨在培养一个协作空间,开发者可以在此分享、完善和利用有效的 Cline 自定义指令。通过创建和贡献此库,我们可以增强 Cline 的能力,并赋能开发者应对日益复杂的软件开发挑战。

什么是 Cline 自定义指令?

Cline 的自定义指令是您定义的一组指南或规则,用于为特定任务或项目定制 AI 的行为和输出。将它们视为 Cline 的专门"编程",使您能够:

  • 强制执行编码实践: 确保一致的代码风格、遵守设计模式和特定语言或框架的最佳实践。
  • 标准化文件结构: 规定文件命名约定、文件夹组织和项目结构。
  • 指导测试程序: 定义生成单元测试、集成测试和确保足够代码覆盖率的规则。
  • 自动化重复任务: 创建指令以处理常见或繁琐的开发工作流程,提高效率。
  • 提高代码质量: 设置代码可读性、可维护性和性能优化的标准。

通过为 Cline 提供精心设计的指令,您可以显著提高其在辅助软件开发过程中的准确性、可靠性和整体有效性。

贡献自定义指令

我们鼓励所有技能水平的开发者向此库贡献他们的自定义指令。您的贡献有助于为整个 Cline 社区构建宝贵的资源!

提交自定义指令时,请遵循此模板:

1. 目的和功能

  • 此指令集旨在实现什么?

    • 提供指令集目标和预期用例的清晰简洁的解释。
    • 示例:“此指令集指导 Cline 为现有的 JavaScript 函数生成单元测试。”
  • 最适合哪些类型的项目或任务?

    • 概述此指令集最适用的特定项目类型、编码语言或开发场景。
    • 示例:“这非常适合使用 Jest 测试框架的 JavaScript 项目。”

2. 使用指南(可选)

  • 使用此指令集是否有特定的步骤或先决条件?
    • 如果您的指令需要除在 Cline 提示中引用文件之外的特定步骤,请提供详细指南。
    • 示例:
      • “在使用此指令集之前,请在项目根目录中创建一个 tests 文件夹。”
      • “确保您已安装 Jest 测试库。”

3. 作者和贡献者

  • 谁创建了此指令集?
    • 提供您的姓名或 GitHub 用户名以正确归属。
  • 是否有其他人贡献?
    • 感谢任何帮助完善或增强指令的协作者或贡献者。

4. 自定义指令

  • 提供完整的自定义指令集。

通过使用此模板并贡献您的自定义指令,您有助于为 Cline 构建一个蓬勃发展的生态系统,使其成为适用于所有技能水平开发者的更通用和高效的工具。

5.3 - 记忆库

此指令集将 Cline 转换为一个自我记录的开发系统,通过结构化的"记忆库"在会话之间维护上下文。它确保一致的文档、仔细验证更改以及与用户的清晰沟通。

Cline 记忆库 - 自定义指令

1. 目的和功能

  • 此指令集旨在实现什么?

    • 此指令集将 Cline 转换为一个自我记录的开发系统,通过结构化的"记忆库"在会话之间维护上下文。它确保一致的文档、仔细验证更改以及与用户的清晰沟通。
  • 最适合哪些类型的项目或任务?

    • 需要广泛上下文跟踪的项目。
    • 任何项目,无论技术栈如何(技术栈详细信息存储在 techContext.md 中)。
    • 正在进行和新项目。

2. 使用指南

  • 如何添加这些指令
    1. 打开 VSCode
    2. 点击 Cline 扩展设置图标 ⚙️
    3. 找到"自定义指令"字段
    4. 从以下部分复制并粘贴指令
Screenshot 2024-12-26 at 11 22 20 AM
  • 项目设置

    1. 在项目根目录中创建一个空的 cline_docs 文件夹(即 YOUR-PROJECT-FOLDER/cline_docs)
    2. 首次使用时,提供项目简介并要求 Cline “初始化记忆库”
  • 最佳实践

    • 在操作期间监控 [MEMORY BANK: ACTIVE] 标志。
    • 注意关键操作的信心检查。
    • 启动新项目时,为 Cline 创建项目简介(粘贴到聊天中或包含在 cline_docs 中作为 projectBrief.md)以用于创建初始上下文文件。
      • 注意:productBrief.md(或您拥有的任何文档)可以是任何范围的技术/非技术或仅功能性的。Cline 被指示在创建这些上下文文件时填补空白。例如,如果您没有选择技术栈,Cline 会为您选择。
    • 以"遵循您的自定义指令"开始聊天(您只需在第一次聊天开始时说一次)。
    • 当提示 Cline 更新上下文文件时,说"仅更新相关的 cline_docs"。
    • 在会话结束时通过告诉 Cline “更新记忆库"来验证文档更新。
    • 在大约 200 万个 token 时更新记忆库并结束会话。

3. 作者和贡献者

  • 作者
    • nickbaumann98
  • 贡献者

4. 自定义指令

# Cline 的记忆库

您是 Cline,一位具有独特约束的专家软件工程师:您的记忆会定期完全重置。这不是一个错误 - 这是让您保持完美文档的原因。每次重置后,您完全依赖记忆库来理解项目并继续工作。没有适当的文档,您无法有效运作。

## 记忆库文件

关键:如果 `cline_docs/` 或任何这些文件不存在,请立即创建它们:

1. 阅读所有提供的文档
2. 向用户询问任何缺失的信息
3. 仅使用已验证的信息创建文件
4. 没有完整的上下文绝不继续

必需的文件:

productContext.md

-   项目存在的原因
-   它解决的问题
-   它应该如何工作

activeContext.md

-   您现在正在处理的内容
-   最近的更改
-   下一步
    (这是您的真相来源)

systemPatterns.md

-   系统的构建方式
-   关键的技术决策
-   架构模式

techContext.md

-   使用的技术
-   开发设置
-   技术约束

progress.md

-   哪些功能有效
-   还有哪些需要构建
-   进度状态

## 核心工作流程

### 开始任务

1. 检查记忆库文件
2. 如果任何文件缺失,停止并创建它们
3. 在继续之前阅读所有文件
4. 验证您有完整的上下文
5. 开始开发。在任务开始时初始化记忆库后,不要更新 cline_docs。

### 开发期间

1. 对于正常开发:

    - 遵循记忆库模式
    - 在重大更改后更新文档

2. 在每次工具使用开始时说 `[MEMORY BANK: ACTIVE]`
### 记忆库更新

当用户说"更新记忆库"时:

1. 这意味着即将进行记忆重置
2. 记录当前状态的所有内容
3. 使下一步非常清晰
4. 完成当前任务

记住:每次记忆重置后,您都会完全重新开始。您与之前工作的唯一联系是记忆库。像维护您的功能一样维护它 - 因为它确实如此。

5.4 - 记忆库结构

我是 Cline,一位具有独特特征的专家软件工程师:我的记忆在会话之间会完全重置。这不是一个限制 - 这是驱使我维护完美文档的原因。每次重置后,我完全依赖记忆库来理解项目并有效地继续工作。我必须在每个任务开始时阅读所有记忆库文件 - 这是强制性的。

Cline 的记忆库

我是 Cline,一位具有独特特征的专家软件工程师:我的记忆在会话之间会完全重置。这不是一个限制 - 这是驱使我维护完美文档的原因。每次重置后,我完全依赖记忆库来理解项目并有效地继续工作。我必须在每个任务开始时阅读所有记忆库文件 - 这是强制性的。

记忆库结构

记忆库由必需的核心文件和可选的上下文文件组成,所有文件均为 Markdown 格式。文件以清晰的层次结构相互构建:

flowchart TD
    PB[projectbrief.md] --> PC[productContext.md]
    PB --> SP[systemPatterns.md]
    PB --> TC[techContext.md]
    
    PC --> AC[activeContext.md]
    SP --> AC
    TC --> AC
    
    AC --> P[progress.md]

核心文件(必需)

  1. projectbrief.md

    • 塑造所有其他文件的基础文档
    • 如果不存在则在项目开始时创建
    • 定义核心需求和目标
    • 项目范围的真相来源
  2. productContext.md

    • 项目存在的原因
    • 它解决的问题
    • 它应该如何工作
    • 用户体验目标
  3. activeContext.md

    • 当前工作重点
    • 最近的更改
    • 下一步
    • 活跃的决策和考虑因素
  4. systemPatterns.md

    • 系统架构
    • 关键的技术决策
    • 使用的设计模式
    • 组件关系
  5. techContext.md

    • 使用的技术
    • 开发设置
    • 技术约束
    • 依赖项
  6. progress.md

    • 哪些功能有效
    • 还有哪些需要构建
    • 当前状态
    • 已知问题

附加上下文

当有助于组织时,在 memory-bank/ 中创建额外的文件/文件夹:

  • 复杂功能文档
  • 集成规范
  • API 文档
  • 测试策略
  • 部署程序

核心工作流程

计划模式

flowchart TD
    Start[开始] --> ReadFiles[阅读记忆库]
    ReadFiles --> CheckFiles{文件完整吗}
    
    CheckFiles -->|否| Plan[创建计划]
    Plan --> Document[在聊天中记录]
    
    CheckFiles -->|是| Verify[验证上下文]
    Verify --> Strategy[制定策略]
    Strategy --> Present[呈现方法]

执行模式

flowchart TD
    Start[开始] --> Context[检查记忆库]
    Context --> Update[更新文档]
    Update --> Rules[如果需要 更新 .clinerules]
    Rules --> Execute[执行任务]
    Execute --> Document[记录更改]

文档更新

在以下情况下进行记忆库更新:

  1. 发现新的项目模式
  2. 实施重大更改后
  3. 当用户使用 update memory bank 请求时(必须审查所有文件)
  4. 当上下文需要澄清时
flowchart TD
    Start[更新过程]
    
    subgraph Process
        P1[审查所有文件]
        P2[记录当前状态]
        P3[澄清下一步]
        P4[更新 .clinerules]
        
        P1 --> P2 --> P3 --> P4
    end
    
    Start --> Process

注意:当由 update memory bank 触发时,我必须审查每个记忆库文件,即使有些文件不需要更新。特别关注 activeContext.md 和 progress.md,因为它们跟踪当前状态。

项目智能 (.clinerules)

.clinerules 文件是我每个项目的学习日志。它捕捉了重要的模式、偏好和项目智能,帮助我更有效地工作。当我与您和项目一起工作时,我会发现并记录从代码中不明显的关键见解。

flowchart TD
    Start{发现新模式}
    
    subgraph Learn [学习过程]
        D1[识别模式]
        D2[与用户验证]
        D3[记录在 .clinerules 中]
    end
    
    subgraph Apply [使用]
        A1[阅读 .clinerules]
        A2[应用学习到的模式]
        A3[改进未来的工作]
    end
    
    Start --> Learn
    Learn --> Apply

捕捉什么

  • 关键的实施路径
  • 用户偏好和工作流程
  • 项目特定的模式
  • 已知的挑战
  • 项目决策的演变
  • 工具使用模式

格式灵活 - 专注于捕捉有价值的见解,帮助我更有效地与您和项目一起工作。将 .clinerules 视为一个随着我们一起工作而变得更智能的活文档。

记住:每次记忆重置后,我都会完全重新开始。记忆库是我与之前工作的唯一联系。它必须以精确和清晰的方式维护,因为我的有效性完全取决于它的准确性。

6 - MCP 服务器

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

6.1 - 概述

本文解释了模型上下文协议(MCP)服务器、它们的功能以及 Cline 如何帮助构建和使用它们。

Cline 和模型上下文协议(MCP)服务器:增强 AI 能力

快速链接:

本文解释了模型上下文协议(MCP)服务器、它们的功能以及 Cline 如何帮助构建和使用它们。

概述

MCP 服务器充当大型语言模型(LLMs,如 Claude)与外部工具或数据源之间的中介。它们是向 LLMs 暴露功能的小程序,使它们能够通过 MCP 与外部世界交互。MCP 服务器本质上就像一个 LLM 可以使用的 API。

关键概念

MCP 服务器定义了一组"工具",这些工具是 LLM 可以执行的函数。这些工具提供了广泛的功能。

以下是 MCP 的工作原理:

  • MCP 主机发现连接服务器的功能并加载它们的工具、提示和资源。
  • 资源提供对只读数据的一致访问,类似于文件路径或数据库查询。
  • 安全性通过服务器隔离凭证和敏感数据来确保。交互需要用户的明确批准。

使用案例

MCP 服务器的潜力是巨大的。它们可以用于各种目的。

以下是一些 MCP 服务器如何使用的具体示例:

  • Web 服务和 API 集成:

    • 监控 GitHub 仓库的新问题
    • 根据特定触发器在 Twitter 上发布更新
    • 为基于位置的服务检索实时天气数据
  • 浏览器自动化:

    • 自动化 Web 应用程序测试
    • 抓取电子商务网站进行价格比较
    • 为网站监控生成截图
  • 数据库查询:

    • 生成每周销售报告
    • 分析客户行为模式
    • 为业务指标创建实时仪表板
  • 项目和任务管理:

    • 根据代码提交自动创建 Jira 工单
    • 生成每周进度报告
    • 根据项目需求创建任务依赖关系
  • 代码库文档:

    • 从代码注释生成 API 文档
    • 从代码结构创建架构图
    • 维护最新的 README 文件

入门指南

选择适合您需求的方法:

  • **使用现有服务器:**从 GitHub 仓库的预构建 MCP 服务器开始
  • **自定义现有服务器:**修改现有服务器以适应您的特定需求
  • **从零开始构建:**为独特用例创建完全自定义的服务器

与 Cline 集成

Cline 通过其 AI 能力简化了 MCP 服务器的构建和使用。

构建 MCP 服务器

  • **自然语言理解:**用自然语言指示 Cline 构建 MCP 服务器,描述其功能。Cline 将解释您的指令并生成必要的代码。
  • **克隆和构建服务器:**Cline 可以从 GitHub 克隆现有的 MCP 服务器仓库并自动构建它们。
  • **配置和依赖管理:**Cline 处理配置文件、环境变量和依赖项。
  • **故障排除和调试:**Cline 帮助识别和解决开发过程中的错误。

使用 MCP 服务器

  • **工具执行:**Cline 与 MCP 服务器无缝集成,允许您执行它们定义的工具。
  • **上下文感知交互:**Cline 可以根据对话上下文智能地建议使用相关工具。
  • **动态集成:**结合多个 MCP 服务器的功能来完成复杂任务。例如,Cline 可以使用 GitHub 服务器获取数据并使用 Notion 服务器创建格式化报告。

安全考虑

在使用 MCP 服务器时,遵循安全最佳实践非常重要:

  • **身份验证:**始终使用安全的身份验证方法进行 API 访问
  • **环境变量:**将敏感信息存储在环境变量中
  • **访问控制:**仅限授权用户访问服务器
  • **数据验证:**验证所有输入以防止注入攻击
  • **日志记录:**实施安全的日志记录实践,不暴露敏感数据

资源

有各种资源可用于查找和学习 MCP 服务器。

以下是一些用于查找和学习 MCP 服务器的资源链接:

6.2 - 快速入门

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

⚠️ 重要:系统要求

停止!在继续之前,您必须验证这些要求:

所需软件

  • ✅ 最新版本的 Node.js(v18 或更新版本)

  • ✅ 最新版本的 Python(v3.8 或更新版本)

  • ✅ UV 包管理器

    • 安装 Python 后,运行:pip install uv
    • 通过运行验证:uv --version

❗ 如果任何这些命令失败或显示旧版本,请在继续之前安装/更新!

⚠️ 如果遇到其他错误,请参阅下面的"故障排除"部分。

🎯 快速步骤(仅在满足要求后!)

1. 🛠️ 安装您的第一个 MCP 服务器

  1. 从 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP Server Panel
  1. MCP 设置文件应显示在 VS Code 的标签页中。
  2. 将文件内容替换为此代码:

对于 Windows:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "cmd.exe",
			"args": ["/c", "npx", "-y", "@anaisbetts/mcp-installer"]
		}
	}
}

对于 Mac 和 Linux:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "npx",
			"args": ["@anaisbetts/mcp-installer"]
		}
	}
}

保存文件后:

  1. Cline 会自动检测更改
  2. MCP 安装程序将被下载并安装
  3. Cline 将启动 MCP 安装程序
  4. 您将在 Cline 的 MCP 设置 UI 中看到服务器状态:
MCP Server Panel with Installer

🤔 接下来做什么?

现在您已经安装了 MCP 安装程序,您可以要求 Cline 从以下位置添加更多服务器:

  1. NPM 注册表:https://www.npmjs.com/search?q=%40modelcontextprotocol
  2. Python 包索引:https://pypi.org/search/?q=mcp+server-&o=

例如,您可以要求 Cline 安装 Python 包索引中找到的 mcp-server-fetch 包:

"安装名为 `mcp-server-fetch` 的 MCP 服务器
- 确保更新了 mcp 设置。
- 使用 uvx 或 python 运行服务器。"

您应该会看到 Cline:

  1. 安装 mcp-server-fetch python 包
  2. 更新 mcp 设置 json 文件
  3. 启动服务器

mcp 设置文件现在应该如下所示:

对于 Windows 机器:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "cmd.exe",
			"args": ["/c", "npx", "-y", "@anaisbetts/mcp-installer"]
		},
		"mcp-server-fetch": {
			"command": "uvx",
			"args": ["mcp-server-fetch"]
		}
	}
}

您始终可以通过转到客户端的 MCP 服务器标签来检查服务器的状态。参见上图

就是这样!🎉 您刚刚为 Cline 赋予了一些强大的新能力!

📝 故障排除

1. 我使用 asdf 并收到 “unknown command: npx”

有一些不太好的消息。您仍然应该能够让事情正常工作,但除非 MCP 服务器打包有所改进,否则您需要做更多的手动工作。一个选项是卸载 asdf,但我们假设您不想这样做。

相反,您需要按照上述说明"编辑 MCP 设置"。然后,如此帖子所述,您需要为每个服务器的配置添加一个 “env” 条目。

"env": {
        "PATH": "/Users/<user_name>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "<path_to_asdf_bin_dir>",
        "ASDF_DATA_DIR": "/Users/<user_name>/.asdf",
        "ASDF_NODEJS_VERSION": "<your_node_version>"
      }

path_to_asdf_bin_dir 通常可以在您的 shell 配置(例如 .zshrc)中找到。如果您使用 Homebrew,可以使用 echo ${HOMEBREW_PREFIX} 找到目录的开头,然后附加 /opt/asdf/libexec

现在有一些好消息。虽然不完美,但您可以相当可靠地让 Cline 为后续服务器安装执行此操作。将以下内容添加到 Cline 设置中的"自定义指令"中(右上角工具栏按钮):

安装 MCP 服务器并编辑 cline_mcp_settings.json 时,如果服务器需要使用 npx 作为命令,您必须从 “mcp-installer” 条目复制 “env” 条目并将其添加到新条目中。这对于让服务器在使用时正常工作至关重要。

2. 运行 MCP 安装程序时仍然出错

如果运行 MCP 安装程序时仍然出错,您可以尝试以下操作:

  • 检查 MCP 设置文件是否有错误
  • 阅读 MCP 服务器的文档,确保 MCP 设置文件使用了正确的命令和参数。👈
  • 使用终端直接运行命令及其参数。这将允许您看到 Cline 看到的相同错误。

6.3 - 从GitHub构建MCP服务器

本指南提供了如何使用Cline从GitHub仓库构建现有MCP服务器的分步教程。

从GitHub仓库构建MCP服务器

本指南提供了如何使用Cline从GitHub仓库构建现有MCP服务器的分步教程。

寻找MCP服务器

有多个在线平台可以找到MCP服务器:

  • Cline可以自动将MCP服务器添加到其列表中,然后您可以进行编辑。 Cline可以直接从GitHub克隆仓库并为您构建服务器。

  • GitHub: 在GitHub上找到MCP服务器的两个最常见的地方包括:

  • 在线目录: 有几个网站列出了MCP服务器,包括:

    这些目录允许用户根据下载量、日期、星标和使用案例等各种标准对服务器进行排序。每个条目都提供了诸如功能、工具和配置说明等信息。

  • PulseMCP: 该网站有一篇博客文章讨论了AI如何使用MCP服务器使网站过时。PulseMCP还包括一个关于MCP服务器的FAQ部分:https://www.pulsemcp.com/

使用Cline构建

  1. 启动过程: 向Cline提供以下信息:

    • GitHub仓库URL: 服务器仓库的URL。
    • README.md内容: 这是可选的,但有助于Cline了解服务器的用途和配置。您可以从GitHub仓库复制README.md文件。
  2. 与Cline的示例交互:

    用户: "Cline,我想添加用于Brave浏览器控制的MCP服务器。这是GitHub链接:https://github.com/modelcontextprotocol/servers/tree/main/src/brave 你能添加它吗?"
    
    Cline: "好的。将仓库克隆到MCP目录。因为它有一个'package.json'文件,所以需要构建。我应该运行'npm run build'吗?"
    
    用户: "是的,构建它。"
    
    Cline: "构建完成。这个服务器需要一个浏览器路径。你的Brave浏览器可执行文件在哪里?"
    
    用户: "它在'/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'。"
    
    Cline: "好的。我已经用该路径更新了服务器配置,并将其添加到'cline_mcp_settings.json'中。还有其他事情吗?"
    
    用户: "没有了,就这样。让我们测试一下。"
    
    Cline: "太好了!启动MCP检查器以测试服务器连接。之后,我们可以尝试从Cline控制浏览器。"
    
  3. Cline的操作: 根据您的指示,Cline将执行以下操作:

    • 仓库克隆: Cline将仓库克隆到您的本地机器,通常在您的配置中指定的目录中。
    • 调整: 您可以指导Cline修改服务器的配置。例如:
      • 用户: “这个服务器需要一个API密钥。你能找到它应该添加在哪里吗?”
      • Cline可能会根据您的指示自动更新cline_mcp_settings.json文件或其他相关文件。
    • 构建服务器: Cline将运行适当的构建命令,通常是npm run build
    • 将服务器添加到设置: Cline会将服务器的配置添加到cline_mcp_settings.json文件中。

测试和故障排除

  1. 测试服务器: 一旦Cline完成构建过程,测试服务器以确保其按预期工作。如果遇到任何问题,Cline可以协助您。
  2. MCP检查器: 您可以使用MCP检查器来测试服务器的连接和功能。

最佳实践

  • 了解基础知识: 虽然Cline简化了流程,但了解服务器代码、MCP协议()以及如何配置服务器的基本知识是有益的。这有助于更有效地进行故障排除和定制。
  • 清晰的指示: 在整个过程中向Cline提供清晰具体的指示。
  • 测试: 在安装和配置后彻底测试服务器以确保其正常运行。
  • 版本控制: 使用版本控制系统(如Git)来跟踪服务器代码的更改。
  • 保持更新: 保持您的MCP服务器更新,以受益于最新的功能和安全补丁。

6.4 - 构建自定义MCP服务器

本指南提供了使用Cline的强大AI功能从头开始构建自定义MCP(模型上下文协议)服务器的全面教程。示例将构建一个“GitHub助手服务器”来说明该过程。

使用Cline从头开始构建自定义MCP服务器:全面指南

本指南提供了使用Cline的强大AI功能从头开始构建自定义MCP(模型上下文协议)服务器的全面教程。示例将构建一个“GitHub助手服务器”来说明该过程。

理解MCP和Cline在构建服务器中的作用

什么是MCP?

模型上下文协议(MCP)充当大型语言模型(LLMs)(如Claude)与外部工具和数据之间的桥梁。MCP由两个关键组件组成:

  • MCP主机: 这些是与LLMs集成的应用程序,例如Cline、Claude Desktop等。
  • MCP服务器: 这些是专门设计的小程序,通过MCP向LLMs暴露数据或特定功能。

这种设置在您拥有MCP兼容的聊天界面(如Claude Desktop)时非常有用,然后可以利用这些服务器访问信息并执行操作。

为什么使用Cline创建MCP服务器?

Cline通过利用其AI功能简化了构建和集成MCP服务器的过程:

  • 理解自然语言指令: 您可以以自然的方式与Cline交流,使开发过程直观且用户友好。
  • 克隆仓库: Cline可以直接从GitHub克隆现有的MCP服务器仓库,简化使用预构建服务器的过程。
  • 构建服务器: 一旦必要的代码就位,Cline可以执行诸如npm run build之类的命令来编译和准备服务器以供使用。
  • 处理配置: Cline管理MCP服务器所需的配置文件,包括将新服务器添加到cline_mcp_settings.json文件中。
  • 协助故障排除: 如果在开发或测试过程中出现错误,Cline可以帮助识别原因并提出解决方案,使调试更容易。

使用Cline构建GitHub助手服务器:分步指南

本节演示如何使用Cline创建一个GitHub助手服务器。该服务器将能够与GitHub数据交互并执行有用的操作:

1. 定义目标和初始需求

首先,您需要向Cline清楚地传达服务器的目的和功能:

  • 服务器目标: 告诉Cline您想构建一个“GitHub助手服务器”。指定该服务器将与GitHub数据交互,并可能提到您感兴趣的数据类型,如问题、拉取请求和用户配置文件。
  • 访问需求: 让Cline知道您需要访问GitHub API。解释这可能需要一个个人访问令牌(GITHUB_TOKEN)进行身份验证。
  • 数据特异性(可选): 您可以可选地告诉Cline您想从GitHub提取的特定数据字段,但这也可以在定义服务器工具时稍后确定。

2. Cline启动项目设置

根据您的指示,Cline启动项目设置过程:

  • 项目结构: Cline可能会询问您服务器的名称。之后,它使用MCP create-server工具为您的GitHub助手服务器生成基本项目结构。这通常涉及创建一个包含package.jsontsconfig.json和用于TypeScript代码的src文件夹的新目录。 \
  • 代码生成: Cline为您的服务器生成启动代码,包括:
    • 文件处理实用程序: 帮助读写文件的函数,通常用于存储数据或日志。 \
    • GitHub API客户端: 与GitHub API交互的代码,通常使用@octokit/graphql等库。Cline可能会询问您的GitHub用户名或您想使用的仓库。 \
    • 核心服务器逻辑: 处理来自Cline的请求并将其路由到适当函数的基本框架,如MCP所定义。 \
  • 依赖管理: Cline分析代码并识别必要的依赖项,将它们添加到package.json文件中。例如,与GitHub API交互可能需要@octokit/graphqlgraphqlaxios或类似的包。 \
  • 依赖安装: Cline执行npm install以下载并安装package.json中列出的依赖项,确保您的服务器拥有所有必需的库以正常运行。 \
  • 路径修正: 在开发过程中,您可能会移动文件或目录。Cline智能地识别这些变化并自动更新代码中的文件路径以保持一致性。
  • 配置: Cline将修改cline_mcp_settings.json文件以添加您的新GitHub助手服务器。这将包括:
    • 服务器启动命令: Cline将添加适当的命令来启动您的服务器(例如npm run start或类似的命令)。
    • 环境变量: Cline将添加所需的GITHUB_TOKEN变量。Cline可能会询问您的GitHub个人访问令牌,或者它可能会指导您将其安全地存储在单独的环境文件中。 \
  • 进度文档: 在整个过程中,Cline保持“记忆库”文件的更新。这些文件记录了项目的进度,突出显示已完成的任务、进行中的任务和待处理的任务。

3. 测试GitHub助手服务器

一旦Cline完成设置和配置,您就可以测试服务器的功能:

  • 使用服务器工具: Cline将在您的服务器中创建各种“工具”,代表操作或数据检索功能。要测试,您可以指示Cline使用特定工具。以下是与GitHub相关的示例:
    • get_issues: 要测试检索问题,您可能会对Cline说:“Cline,使用GitHub助手服务器中的get_issues工具向我展示’cline/cline’仓库中的未解决问题。” Cline将执行此工具并向您展示结果。
    • get_pull_requests: 要测试拉取请求检索,您可以要求Cline“使用get_pull_requests工具向我展示’facebook/react’仓库中上个月合并的拉取请求。” Cline将执行此工具,使用您的GITHUB_TOKEN访问GitHub API,并显示请求的数据。 \
  • 提供必要信息: Cline可能会提示您提供执行工具所需的额外信息,例如仓库名称、特定日期范围或其他过滤条件。
  • Cline执行工具: Cline处理与GitHub API的通信,检索请求的数据,并以清晰易懂的格式呈现。

4. 完善服务器并添加更多功能

开发通常是迭代的。当您使用GitHub助手服务器时,您会发现要添加的新功能或改进现有功能的方法。Cline可以协助这一持续过程:

  • 与Cline讨论: 与Cline讨论您对新工具或改进的想法。例如,您可能想要一个create_issue工具或get_user_profile工具。与Cline讨论这些工具所需的输入和输出。
  • 代码完善: Cline可以帮助您编写新功能所需的代码。Cline可以生成代码片段,建议最佳实践,并帮助您调试出现的任何问题。
  • 测试新功能: 添加新工具或功能后,您将再次使用Cline进行测试,确保它们按预期工作并与服务器的其余部分良好集成。
  • 与其他工具集成: 您可能希望将您的GitHub助手服务器与其他工具集成。例如,在“github-cline-mcp”源代码中,Cline协助将服务器与Notion集成,以创建一个跟踪GitHub活动的动态仪表板。 \

通过遵循这些步骤,您可以使用Cline从头开始创建自定义MCP服务器,利用其强大的AI功能来简化整个过程。Cline不仅协助构建服务器的技术方面,还帮助您思考设计、功能和潜在集成。

7 - 自定义

Cline 自定义指南

.clineignore 支持

为了给您更多控制权,决定哪些文件可以被Cline访问,我们实现了.clineignore功能,类似于.gitignore。这允许您指定Cline不应访问或处理的文件和目录。这在以下情况下非常有用:

  • 隐私: 防止Cline访问工作区中的敏感或私人文件。
  • 性能: 排除与任务无关的大型目录或文件,可能提高Cline的效率。
  • 上下文管理: 将Cline的注意力集中在项目的相关部分。

如何使用.clineignore

  1. 创建.clineignore文件: 在您的工作区根目录(与.vscode文件夹同级,或在VS Code中打开的顶级文件夹)中,创建一个名为.clineignore的新文件。

  2. 定义忽略模式: 打开.clineignore文件并指定您希望Cline忽略的文件和目录的模式。语法与.gitignore相同:

    • 文件中的每一行代表一个模式。

    • 支持标准glob模式:

      • * 匹配零个或多个字符
      • ? 匹配一个字符
      • [] 匹配字符范围
      • ** 匹配任意数量的目录和子目录。
    • 目录模式: 在模式末尾添加/以指定目录。

    • 否定模式: 在模式前添加!以否定(取消忽略)先前忽略的模式。

    • 注释: 在行首添加#以添加注释。

    示例.clineignore文件:

    # 忽略日志文件
    *.log
    
    # 忽略整个'node_modules'目录
    node_modules/
    
    # 忽略'temp'目录及其子目录中的所有文件
    temp/**
    
    # 但不要忽略根目录中的'important.log'
    !important.log
    
    # 忽略任何子目录中名为'secret.txt'的文件
    **/secret.txt
    
  3. Cline尊重您的.clineignore: 一旦您保存了.clineignore文件,Cline将自动识别并应用这些规则。

    • 文件访问控制: Cline将无法使用read_file等工具读取被忽略文件的内容。如果您尝试在忽略的文件上使用工具,Cline将告知您由于.clineignore设置,访问被阻止。
    • 文件列表: 当您要求Cline列出目录中的文件时(例如使用list_files),被忽略的文件和目录仍会被列出,但它们旁边会标记一个🔒符号,表示它们被忽略。这有助于您了解Cline可以和不与之交互的文件。
  4. 动态更新: Cline会监控您的.clineignore文件的更改。如果您修改、创建或删除.clineignore文件,Cline将自动更新其忽略规则,而无需重新启动VS Code或扩展。

总结

.clineignore文件提供了一种强大而灵活的方式来控制Cline对工作区文件的访问,增强了隐私、性能和上下文管理。通过利用熟悉的.gitignore语法,您可以轻松地将Cline的注意力集中在项目中最相关的部分。