记忆类型 | 位置 | 用途 | 使用场景示例 | 共享范围 |
用户记忆 | ~/.codebuddy/CODEBUDDY.md | 适用于所有项目的个人偏好 | 代码风格偏好、个人工具快捷方式 | 仅限本人(所有项目) |
用户规则 | ~/.codebuddy/rules/*.md | 模块化的个人规则 | 个人编码习惯、常用工作流 | 仅限本人(所有项目) |
项目记忆 | ./CODEBUDDY.md 或 ./.codebuddy/CODEBUDDY.md | 项目的团队共享指令 | 项目架构、编码标准、常用工作流程 | 通过源代码管理与团队成员共享 |
项目规则 | ./.codebuddy/rules/*.md | 模块化的、按主题划分的项目指令 | 语言特定指南、测试规范、API 标准 | 通过源代码管理与团队成员共享 |
项目记忆(本地) | ./CODEBUDDY.local.md | 个人的项目特定偏好 | 您的沙箱 URL、首选测试数据 | 仅限本人(当前项目) |
~/.codebuddy/CODEBUDDY.md 等主文件及 ~/.codebuddy/rules/ 下的所有规则CODEBUDDY.md 和 CODEBUDDY.local.md.codebuddy/rules/ 下的规则(不加载父目录的规则)CODEBUDDY.md./CODEBUDDY.local.md@path/to/import 语法导入其他文件。以下示例导入了 3 个文件:查看 @README 了解项目概述,@package.json 了解可用的 npm 命令。# 附加说明- Git 工作流程 @docs/git-instructions.md
# 个人偏好- @~/.codebuddy/my-project-instructions.md
此代码范围不会被视为导入:`@tencent-ai/codebuddy-code`
/memory 命令查看已加载的记忆文件。/),并读取找到的任何 CODEBUDDY.md 或 CODEBUDDY.local.md 文件。这在大型仓库中特别方便,当您在 foo/bar/ 目录中运行 CodeBuddy Code,并且在 foo/CODEBUDDY.md 和 foo/bar/CODEBUDDY.md 两处都有记忆时。/memory 管理记忆/memory 斜杠命令,打开记忆管理面板。在该面板中您可以:MEMORY.md 索引文件./CODEBUDDY.md 或 ./.codebuddy/CODEBUDDY.md 中。> /init
.codebuddy/rules/ 实现模块化规则.codebuddy/rules/ 目录将指令组织到多个文件中。这允许团队维护专注的、组织良好的规则文件,而不是一个庞大的 CODEBUDDY.md。.codebuddy/rules/ 目录中:your-project/├── .codebuddy/│ ├── CODEBUDDY.md # 主要项目指令│ └── rules/│ ├── code-style.md # 代码风格指南│ ├── testing.md # 测试规范│ └── security.md # 安全要求
.codebuddy/rules/ 中的所有 .md 文件都会自动作为项目记忆加载,优先级与 .codebuddy/CODEBUDDY.md 相同。.codebuddy/rules/ 加载,不会加载父目录的规则文件夹。这确保规则的作用域清晰明确。字段 | 类型 | 默认值 | 说明 |
enabled | boolean | true | 是否加载此规则。设为 false 时规则完全不加载 |
alwaysApply | boolean | true | 是否始终应用此规则 |
paths | string/string[] | - | 触发规则的文件路径 glob 模式 |
alwaysApply 和 paths 共同决定:alwaysApply | paths | 规则类型 | 行为 |
true(默认) | 任意 | ALWAYS | 始终注入到上下文 |
false | 有值 | MANUAL(条件触发) | 仅在操作匹配文件时触发 |
false | 无 | 不支持 | 规则不会加载 |
---# alwaysApply 默认为 true,可省略---# 通用代码规范- 使用 2 空格缩进- 文件末尾保留空行
---alwaysApply: falsepaths: src/api/**/*.ts---# API 开发规则- 所有 API 端点必须包含输入验证- 使用标准错误响应格式- 包含 OpenAPI 文档注释
---enabled: false---# 暂时不使用的规则
paths 字段不仅限于 .codebuddy/rules/ 目录,在所有记忆文件(包括 CODEBUDDY.md、CODEBUDDY.local.md)中都可以使用。paths 字段支持标准 glob 模式,并启用了 matchBase 选项:模式 | 匹配 |
**/*.ts | 任意目录下的所有 TypeScript 文件 |
*.ts | 任意目录下的所有 TypeScript 文件(matchBase 模式) |
src/**/* | src/ 目录下的所有文件 |
*.md | 任意目录下的 Markdown 文件 |
src/components/*.tsx | 特定目录下的 React 组件 |
*.ts)会匹配任意目录下的文件。例如 *.ts 可以匹配 src/utils/helper.ts。---paths: src/**/*.{ts,tsx}---# TypeScript/React 规则
src/**/*.ts 和 src/**/*.tsx。您也可以用逗号组合多个模式:---paths: {src,lib}/**/*.ts, tests/**/*.test.ts---
.codebuddy/rules/├── frontend/│ ├── react.md│ └── styles.md├── backend/│ ├── api.md│ └── database.md└── general.md
.md 文件都会被递归发现。.codebuddy/rules/ 目录支持符号链接,允许您在多个项目之间共享通用规则:# 符号链接共享规则目录ln -s ~/shared-codebuddy-rules .codebuddy/rules/shared# 符号链接单个规则文件ln -s ~/company-standards/security.md .codebuddy/rules/security.md
~/.codebuddy/rules/ 中创建适用于所有项目的个人规则:~/.codebuddy/rules/├── preferences.md # 您的个人编码偏好└── workflows.md # 您首选的工作流程
testing.md、api-design.md)paths frontmatterfrontend/、backend/)> /config# 选择 Language,输入您的首选语言,如"简体中文"
## CodeBuddy Added Memories### 语言偏好- 代码注释使用中文- 提交信息使用中文
~/.codebuddy/CODEBUDDY.md)## CodeBuddy Added Memories### 工具偏好- 使用 pnpm 而非 npm### 代码偏好- 倾向函数式编程风格- 优先代码可读性
/config 设置,而非在记忆文件中配置。./CODEBUDDY.md)## CodeBuddy Added Memories### 项目架构- 使用微服务架构- 前端:React + TypeScript- 后端:Node.js + Express### 团队约定- PR 需要 2 人审查- 遵循 Conventional Commits
./CODEBUDDY.local.md)## CodeBuddy Added Memories### 本地开发配置- 数据库端口:5433- 使用 debug 模式- 跳过 CI 快速测试
~/.codebuddy/memories/{project-id}/~/.codebuddy/memories/global/MEMORY.md 索引文件,其前 200 行会自动加载到会话上下文。详细的记忆内容应存储在独立的主题文件中(如 preferences.md、decisions.md),并从 MEMORY.md 链接引用。/config 面板切换 Auto Memory 开关/memory 命令面板切换settings.json 配置:"memory": { "autoMemoryEnabled": false }CODEBUDDY_DISABLE_AUTO_MEMORY=1类型 | 用途 | 示例 |
user | 用户的角色、目标、偏好和知识背景 | “用户是高级后端工程师,擅长 Go” |
feedback | 用户对 CodeBuddy 行为的纠正和指导 | “不要在测试中 mock 数据库” |
project | 项目进行中的工作、目标和决策 | “下周三起冻结非关键合并” |
reference | 外部系统和资源的指引 | “bug 跟踪在 Linear 项目 INGEST 中” |
---name: 用户角色description: 用户的职业背景和技术专长type: user---用户是资深后端工程师,拥有 10 年 Go 语言经验,但首次接触项目的 React 前端部分。
settings.json 配置:"memory": { "typedMemory": false }CODEBUDDY_TYPED_MEMORY_ENABLED=false操作 | 重新加载 | 说明 |
进程重启 | 是 | 缓存清空 |
通过 /memory 编辑 | 是 | 自动清除缓存 |
/clear 命令 | 否 | 仅清除消息历史 |
手动修改文件 | 否 | 需手动重启 |
新增/删除规则文件 | 否 | 需手动重启 |
CODEBUDDY.md 文件,项目级记忆将使用 CODEBUDDY.md,否则使用 AGENTS.mdAGENTS.md 为 CODEBUDDY.md 即可。系统自动检测,CODEBUDDY.md 优先加载。@path/to/file 引用文件时/memory 查看已加载的规则列表--- 分隔符)@import 语法引用而非直接包含。文档反馈