Cline Memory Bank

快速设置指南

要开始使用 Cline 记忆库:

  1. 复制自定义指令 - 使用下面的代码块

  2. 粘贴到 Cline - 添加为自定义指令或在 .clinerules 文件中

  3. 初始化 - 要求 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 网络应用,具有条形码扫描功能"

  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 与以前工作的唯一联系。它的效果完全依赖于维护清晰、准确的文档,并在每次交互中确认上下文保留。

有关更多信息,请参考我们的 博客arrow-up-right 关于 Cline 记忆库


为 Cline 记忆库做出贡献

本指南由 Cline 和 Cline Discord 社区维护:

  • nickbaumann98

  • Krylo

  • snipermunyshotz


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

Last updated