Skip to main content

Cline 记忆库完整指南

快速设置指南

开始使用 Cline 记忆库:
  1. 安装或打开 Cline
  2. 复制自定义指令 - 使用下面的代码块
  3. 粘贴到 Cline - 添加为自定义指令或在 .clinerules 文件中
  4. 初始化 - 要求 Cline “初始化记忆库”
查看详细设置说明

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 --> Execute[执行任务]
    Execute --> Document[记录更改]

## 文档更新

记忆库更新发生在:
1. 发现新的项目模式
2. 实施重大更改后
3. 当用户请求 **更新记忆库** 时(必须审查所有文件)
4. 当上下文需要澄清时

flowchart TD
    Start[更新过程]

    subgraph Process
        P1[审查所有文件]
        P2[记录当前状态]
        P3[澄清下一步]
        P4[记录见解和模式]

        P1 --> P2 --> P3 --> P4
    end

    Start --> Process

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

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

什么是 Cline 记忆库?

记忆库是一个结构化的文档系统,允许 Cline 在会话之间维护上下文。它将 Cline 从无状态助手转变为持久的开发伙伴,能够有效地”记住”您的项目详细信息。

主要优势

  • 上下文保存:在会话之间维护项目知识
  • 一致的开发:与 Cline 体验可预测的交互
  • 自我文档化项目:作为副作用创建有价值的项目文档
  • 可扩展到任何项目:适用于任何规模或复杂性的项目
  • 技术无关:适用于任何技术栈或语言

记忆库如何工作

记忆库不是 Cline 特有的功能 - 它是通过结构化文档管理 AI 上下文的方法论。当您指示 Cline “遵循自定义指令”时,它会读取记忆库文件来重建对您项目的理解。
记忆库工作流程

理解文件

记忆库文件只是您在项目中创建的 markdown 文件。它们不是隐藏或特殊文件 - 只是存储在您的仓库中的常规文档,您和 Cline 都可以访问。 文件以层次结构组织,构建您项目的完整图片:
记忆库文件结构

记忆库文件解释

核心文件

  1. projectbrief.md
    • 您项目的基础
    • 您正在构建内容的高级概述
    • 核心要求和目标
    • 示例:“构建一个带条形码扫描的库存管理 React Web 应用”
  2. productContext.md
    • 解释项目存在的原因
    • 描述正在解决的问题
    • 概述产品应该如何工作
    • 示例:“库存系统需要支持多个仓库和实时更新”
  3. activeContext.md
    • 最频繁更新的文件
    • 包含当前工作焦点和最近的更改
    • 跟踪活跃的决策和考虑因素
    • 存储重要的模式和学习
    • 示例:“当前正在实施条形码扫描器组件;上一会话完成了 API 集成”
  4. systemPatterns.md
    • 记录系统架构
    • 记录关键技术决策
    • 列出使用中的设计模式
    • 解释组件关系
    • 示例:“使用 Redux 进行状态管理,采用规范化存储结构”
  5. techContext.md
    • 列出使用的技术和框架
    • 描述开发设置
    • 注明技术约束
    • 记录依赖项和工具配置
    • 示例:“React 18、TypeScript、Firebase、Jest 用于测试”
  6. progress.md
    • 跟踪工作内容和待构建内容
    • 记录功能的当前状态
    • 列出已知问题和限制
    • 记录项目决策的演进
    • 示例:“用户身份验证完成;库存管理 80% 完成;报告尚未开始”

附加上下文

需要时创建附加文件来组织:
  • 复杂功能文档
  • 集成规范
  • API 文档
  • 测试策略
  • 部署程序

开始使用记忆库

首次设置

  1. 在项目根目录创建 memory-bank/ 文件夹
  2. 准备基本的项目简介(可以是技术性或非技术性的)
  3. 要求 Cline “初始化记忆库”
记忆库设置

项目简介提示

  • 从简单开始 - 可以是您喜欢的详细或高级程度
  • 专注于对您最重要的内容
  • Cline 将帮助填补空白并提出问题
  • 您可以随着项目发展更新它

与 Cline 协作

核心工作流程

计划模式 为策略讨论和高级规划在此模式下开始。 行动模式 用于实施和执行特定任务。

关键命令

  • “遵循您的自定义指令” - 这告诉 Cline 读取记忆库文件并从您停止的地方继续(在任务开始时使用这个)
  • “初始化记忆库” - 开始新项目时使用
  • “更新记忆库” - 在任务期间触发完整的文档审查和更新
  • 根据您当前的需求切换计划/行动模式

文档更新

记忆库更新应该在以下情况下自动发生:
  1. 您发现项目中的新模式
  2. 实施重大更改后
  3. 当您明确要求 “更新记忆库”
  4. 当您感觉上下文需要澄清时

常见问题

记忆库文件存储在哪里?

记忆库文件是存储在您的项目仓库中的常规 markdown 文件,通常在 memory-bank/ 文件夹中。它们不是隐藏的系统文件 - 它们被设计为您项目文档的一部分。

我应该使用自定义指令还是 .clinerules?

两种方法都有效 - 这基于您的偏好:
  • 自定义指令:全局应用于所有 Cline 对话。适合在所有项目中保持一致的行为。
  • .clinerules 文件:项目特定且存储在您的仓库中。适合每个项目的自定义。
两种方法都实现相同的目标 - 选择取决于您是想要全局还是本地应用记忆库系统。

管理上下文窗口

当您与 Cline 工作时,您的上下文窗口最终会填满(注意进度条)。当您注意到 Cline 的响应变慢或对对话早期部分的引用变得不太准确时,是时候:
  1. 要求 Cline “更新记忆库” 以记录当前状态
  2. 开始新的对话/任务
  3. 在新对话中要求 Cline “遵循您的自定义指令”
这个工作流程确保在清除上下文窗口之前将重要上下文保存在您的记忆库文件中,允许您在新对话中无缝继续。
记忆库上下文窗口

我应该多久更新一次记忆库?

在重大里程碑或方向改变后更新记忆库。对于活跃开发,每几个会话更新一次可能很有帮助。当您想确保保存所有上下文时使用 “更新记忆库” 命令。但是,您会注意到 Cline 也会自动更新记忆库。

这对 Cline 之外的其他 AI 工具有效吗?

是的!记忆库概念是一种文档方法论,可以与任何能够读取文档文件的 AI 助手一起工作。具体命令可能不同,但维护上下文的结构化方法适用于各种工具。

记忆库如何与上下文窗口限制相关?

记忆库通过以结构化格式存储重要信息来帮助管理上下文限制,这些信息可以在需要时高效加载。这防止了上下文膨胀,同时确保关键信息可用。

记忆库概念可以用于非编码项目吗?

绝对可以!记忆库方法适用于任何受益于结构化文档的项目 - 从写书到规划活动。文件结构可能有所不同,但概念仍然强大。

这与使用 README 文件有什么不同?

虽然在概念上相似,但记忆库提供了一种更结构化和全面的方法,专门设计用于在 AI 会话之间维护上下文。它超越了单个 README 通常涵盖的内容。

最佳实践

开始使用

  • 从基本的项目简介开始,让结构自然发展
  • 让 Cline 帮助创建初始结构
  • 根据需要审查和调整文件以匹配您的工作流程

持续工作

  • 让模式在您工作时自然出现
  • 不要强制文档更新 - 它们应该有机地发生
  • 相信过程 - 价值随时间复合
  • 在会话开始时观察上下文确认

文档流程

  • projectbrief.md 是您的基础
  • activeContext.md 变化最频繁
  • progress.md 跟踪您的里程碑
  • 所有文件共同维护项目智能

详细设置说明

对于自定义指令(全局)

  1. 打开 VSCode
  2. 点击 Cline 扩展设置 ⚙️
  3. 找到”自定义指令”
  4. 从本指南顶部复制并粘贴完整的记忆库指令

对于 .clinerules(项目特定)

  1. 在项目根目录创建 .clinerules 文件
  2. 从本指南顶部复制并粘贴记忆库指令
  3. 保存文件
  4. Cline 将在此项目中工作时自动应用这些规则

记住

记忆库是 Cline 与之前工作的唯一联系。其有效性完全取决于维护清晰、准确的文档,并在每次交互中确认上下文保存。 有关更多信息,请参考我们关于 Cline 记忆库的博客

为 Cline 记忆库贡献

本指南由 Cline 和 Cline Discord 社区维护:
  • nickbaumann98
  • Krylo
  • snipermunyshotz

记忆库方法论是 AI 上下文管理的开放方法,可以适应不同的工具和工作流程。