
# Cline高级功能
Cline提供了多种高级功能，帮助您提升开发效率和代码质量。本文档将介绍六项核心技巧：Rules（项目规则）、Workflows（自动化工作流）、MCP Servers（能力扩展）、Skills（技能包）、Hooks（钩子机制）和@提及（上下文引用）。
表1核心能力列表 
| **功能**      | **定位**   | **核心价值**               | **典型场景**            |
|:---|:---|:---|:---|
| Rules       | 项目级规则配置。 | 让Cline自动遵守编码规范，无需重复说明。 | 团队项目统一代码风格。         |
| Workflows   | 可复用任务模板。 | 将常用操作固化为命令，一键执行。       | 批量创建组件、自动部署。        |
| MCP Servers | 工具扩展协议。  | 为Cline增加数据库、浏览器等外部能力。  | 查询数据库、操作GitHub。     |
| Skills      | 领域技能包。   | 注入专业工作流和参考模板。          | 特定类型任务的规范化执行。       |
| Hooks       | 工作流钩子。   | 在关键时刻注入自定义逻辑。          | 安全拦截、质量门禁、审计日志。     |
| @提及         | 上下文引用。   | 无需复制粘贴，直接引用文件、URL等。    | 让Cline参考配置文件或API文档。 |
   
#### Rules（项目级规则配置）
Rules是Cline的项目级持久化规则，相当于给Cline写一份"行为守则"。每次对话时Cline都会自动遵守，无需重复说明。
#### 配置方式
在项目根目录创建.clinerules文件（无扩展名），Cline会自动读取。
**建议：**团队项目务必配置.clinerules，确保所有成员使用Cline时产出风格一致的代码。
图1配置Rules   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002682762178.png "点击放大")
#### 实战案例
以贪吃蛇与华容道游戏项目为例，.clinerules文件内容如下：
```
## 技术栈
- 纯HTML/CSS/JS，无框架依赖
- Node.js原生http模块作为服务器
- 所有前端代码内联在HTML文件中
## 代码风格
- CSS使用BEM命名或简短语义化类名
- JS使用ES6+语法
- 游戏逻辑与渲染逻辑分离
## 游戏规范
- 必须支持键盘和触屏两种操作方式
- 必须有计分系统
- 必须有重新开始功能
- 适配移动端视口
```
创建.clinerules后，在Cline对话中输入需求，观察生成的代码是否符合上述规则。如代码风格不符，请检查文件是否位于项目根目录。
#### Workflows（自动化工作流）
Workflows是Cline的**可复用任务模板**，将常用操作流程固化为一个命令，一键执行。适合重复性的开发任务，如创建组件、提交代码、部署等。
图2Workflows   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002712641787.png "点击放大")
#### 使用内置Workflow
在Cline对话框中输入/即可查看所有内置Workflow命令。
图3查看内置Workflow命令
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002682392799.png "点击放大")
| 命令           | 用途             | 示例                |
|:---|:---|:---|
| /new-task    | 开始一个新任务，清空上下文。 | /new-task 实现用户登录页 |
| /code-review | 对当前变更进行代码审查。   | /code-review      |
| /explain     | 解释选中的代码。       | /explain          |
| /fix         | 修复当前报错。        | /fix              |
| /test        | 为当前代码生成测试。     | /test             |
   
#### 自定义Workflow
在项目根目录的.cline/workflows/下创建.md文件即可定义自定义Workflow。目录示例如下：
```
.cline/
└── workflows/
    ├── create-component.md
    ├── deploy.md
    └── fix-lint.md
```
**示例** **：创建组件Workflow**
文件目录为.cline/workflows/create-component.md，.md文件内容如下：
```
# 创建React组件
请根据以下规范创建一个新的React组件：
1. 在src/components/下创建组件目录，命名为{{componentName}}
2. 创建以下文件：
- index.tsx：组件主体，使用函数式组件+TypeScript
- styles.module.css：组件样式，使用CSS Modules
- index.test.tsx：组件测试，使用Vitest+Testing Library
3. 在src/components/index.ts中导出该组件
4. 组件必须接受children 和className属性
5. 完成后运行npm run lint和npm test验证
```
**使用方式：**在Cline对话框中输入如下内容。
```
/create-component componentName=UserCard
```
自定义Workflow创建后，在Cline对话框中输入/查看是否出现在命令列表中。
#### MCP Servers（扩展Cline能力）
MCP（Model Context Protocol）是Cline的**工具扩展协议**。通过接入外部MCP Server，让Cline获得额外能力，如数据库操作、API调用、文件转换等。
图4MCP Servers   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002712641783.png "点击放大")
**配置方式**：在CodeServer的./settings/cline_mcp_settings.json中添加。
**常用MCP Server**：
| MCP Server        | 能力                 | 安装命令                                                   |
|:---|:---|:---|
| server-postgres   | 查询PostgreSQL数据库。   | ``` npx -y @modelcontextprotocol/server-postgres ```   |
| server-filesystem | 安全的文件系统访问。         | ``` npx -y @modelcontextprotocol/server-filesystem ``` |
| server-github     | GitHub Issue/PR操作。 | ``` npx -y @modelcontextprotocol/server-github ```     |
| server-puppeteer  | 浏览器自动化操作。          | ``` npx -y @modelcontextprotocol/server-puppeteer ```  |
   
**注意：**MCP Server启动需要时间，配置后首次使用会稍慢，后续会复用进程，速度恢复正常。
配置MCP Server后，在Cline对话中尝试使用对应能力（如"查询数据库中的用户表"），如果Cline能调用MCP Server的工具并返回结果，说明配置成功。如果提示工具不可用，请检查cline_mcp_settings.json中的配置格式是否正确，以及npx命令是否能正常执行。
#### Skills（技能扩展）
Skills是Cline的**领域技能包**，为特定类型的任务注入专业的工作流、参考模板和指令。与Workflows不同，Skills更侧重于领域知识的注入，而非操作步骤的固化。
图5Skills   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002712521923.png "点击放大")
**使用方式**：无需手动配置，在Cline对话中直接描述匹配Skill场景的需求即可。Cline会自动识别并加载对应的Skill。
例如，当您描述一个前端设计需求时，Cline会自动加载前端设计相关的Skill，提供更专业的实现方案。
当Cline自动加载某个Skill时，对话界面中会显示Skill加载提示。如果您描述的需求与某个Skill场景匹配但Cline未加载，请确认该Skill是否已正确安装在Cline的Skills目录中。
#### Hooks（技能扩展）
Hooks是Cline提供的扩展机制，允许您在关键时刻将自定义逻辑注入到Cline的工作流中。Hooks会在开发过程中发生特定事件时自动运行，可以在有问题的操作引起问题之前将其阻止，并且可以注入上下文来指导未来的AI决策。
图6Hooks   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002682922056.png "点击放大")
#### Hooks的核心价值
通过组合运用Hooks，可以实现以下能力：
表2Hooks说明 
| **能力** | **说明**         | **典型场景**                               |
|:---|:---|:---|
| 前置拦截   | 在问题发生前阻止操作。    | 在TypeScript项目中阻止创建.js文件、阻止向main分支直接提交。 |
| 知识沉淀   | 从每次操作中提取模式。    | 逐步积累项目专属规则与约定。                         |
| 质量门禁   | 在关键节点自动触发检查。   | 自动运行lint、typecheck、测试。                 |
| 全链路审计  | 记录所有工具调用与决策路径。 | 支撑回溯分析与合规审查。                           |
| 外部联动   | 触发外部服务。        | 通知、CI流水线、部署脚本。                         |
   
#### 配置步骤
1. 访问Hooks界面。
   图7Hooks   
   ![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002712521927.png "点击放大") 
2. 确定Hooks位置。
   Hooks支持两种作用范围：
   
   | **位置**  | **路径**                    | **适用场景**                               |
   |:---|:---|:---|
   | 全局Hooks | \~/Documents/Cline/Hooks/ | 跨所有工作区生效，适合个人编码规范和通用规则。                |
   | 项目Hooks | \<仓库\>/.clinerules/hooks/ | 仅对当前项目生效，适合项目级校验与团队工作流，可提交至版本控制实现团队共享。 |
      
   
3. 根据需求创建对应类型的Hook文件。
4. 测试Hook。 开发调试Hook时，需要反复触发以验证行为。不同Hook类型在Cline工作流的不同节点触发：
   
   | **Hook类型**       | **触发时机**              | **适用场景**            |
   |:---|:---|:---|
   | UserPromptSubmit | 用户提交Prompt后、Cline处理前。 | 意图分析、指令增强与输入预处理。    |
   | TaskStart        | 新任务启动时（尚无历史消息）。       | 注入项目上下文与初始化环境状态。    |
   | TaskResume       | 中断任务恢复时（如VSCode重启后）。  | 重建状态一致性与恢复执行进度。     |
   | TaskCancel       | 任务被取消时（手动取消或异常中断）。    | 清理子进程与释放临时资源。       |
   | TaskComplete     | 任务成功完成时。              | 生成总结报告与触发后续构建部署流程。  |
   | PreToolUse       | Cline调用工具前。           | 安全拦截、参数校验与修改工具调用参数。 |
   | PostToolUse      | 工具调用完成并返回结果后。         | 审计日志、性能分析与自动补充后续指令。 |
   | PreCompact       | 对话历史即将被压缩前。           | 保留关键决策上下文与防止信息丢失。   |
      
   
 
#### @提及（上下文引用）
@提及是Cline强大的功能之一，可让您将外部上下文无缝地引入对话中。您无需复制粘贴代码、错误消息或文档，只需使用@符号来引用它们。
图8@提及   
![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002682922058.png "点击放大")
**使用方式**
在聊天输入中输入@时，Cline会显示一个可用提及类型的菜单，允许您在对话中直接引用文件、文件夹、问题、终端输出、Git更改甚至网页内容。
| 类型   | 说明                            | 典型场景                  |
|:---|:---|:---|
| 文件   | 将指定文件内容加入上下文。                 | 让Cline参考某个配置文件、接口文档。  |
| URL  | 抓取网页内容加入上下文。                  | 让Cline阅读API文档、技术博客。   |
| 错误信息 | 将终端报错信息加入上下文。                 | 粘贴编译错误、运行时异常让Cline修复。 |
| 剪贴板  | 将剪贴板内容加入上下文。                  | 快速粘贴任意文本、日志片段。        |
| 问题   | 选择当前CodeServer中的问题（Problems）。 | 让Cline处理lint错误、类型报错。  |
   
