CodeBuddy(或同类 AI 编程助手)里的**「上下文注入(Context Injection)」功能模块**,作用是把项目/环境信息喂给 AI,让它"看得懂你的项目",而不是凭空瞎编代码。
插件市场

###ai对对话框
逐个拆解每个选项的作用
-
File & Folders(选择文件和文件夹)
让 AI 读取你项目里的指定文件/目录(比如
src/、package.json),理解你的项目结构、现有代码风格和依赖。- 效果:AI 写代码时会自动匹配你现有的变量名、函数命名和项目规范,而不是生成和你项目格格不入的代码。
-
Git(添加 git 作为上下文)
把当前 Git 仓库的状态、提交记录、分支差异喂给 AI。
- 效果:
- 能基于你当前的分支/修改,做代码审查、写 Commit Message
- 能帮你对比分支差异,分析潜在冲突
- 甚至能根据 Git 历史,理解你的项目迭代逻辑
- 效果:
-
Docs(添加知识库作为上下文)
上传外部文档(API 文档、设计规范、产品需求),作为 AI 的参考资料。
- 效果:AI 写代码时会严格遵守你上传的文档规范,比如"按这个接口文档写请求函数""遵循这份前端规范写组件",避免和团队规范冲突。
-
Terminal(终端最后执行的命令)
把你终端里最近执行的命令、错误日志传给 AI。
- 效果:比如你刚跑了个报错的命令,AI 能直接根据日志定位问题,给出针对性修复方案,不用你手动复制粘贴错误信息。
-
Rules(添加 Rule 作为上下文)
注入你自定义的规则文件(比如
.rules、.cursorrules这类配置),给 AI 定死编码规范、风格约束。- 效果:强制 AI 按你的要求写代码,比如"必须用 TypeScript 严格模式""所有函数都要写 JSDoc 注释""禁止使用 var",保证输出风格统一。
核心价值
这些功能本质上是给 AI 提供**"专属背景信息"**,解决 AI 编程的最大痛点:
- 脱离项目实际情况,生成"看起来对但跑不起来"的代码
- 不理解你的项目结构和团队规范,输出的代码无法直接集成
- 对本地错误、Git 状态等环境信息一无所知,只能泛泛回答问题
通过注入这些上下文,AI 能变成**"懂你项目的专属助手"**,生成的代码、修复方案会和你的项目无缝兼容,大幅减少你手动修改的成本。
FastAdmin + CodeBuddy 完整规则配置
我直接给你可直接复制使用 的 CodeBuddy 规则(Rules) ,专门适配 FastAdmin ,并且强制 AI 修改代码前自动备份文件 ,格式:文件名.日期时间.扩展名。
一、FastAdmin 专用 AI 编码规则
直接复制下面全部内容,粘贴到 CodeBuddy 的 Rules(规则) 里即可使用:
# FastAdmin 开发规范 - 必须严格遵守
1. 框架类型:FastAdmin(基于 ThinkPHP + Bootstrap + AdminLTE)
2. 控制器目录:application/admin/controller/
3. 模型目录:application/common/model/
4. 视图目录:application/admin/view/
5. JS 目录:public/assets/js/
6. 语言包目录:application/admin/lang/zh-cn/
7. 数据库配置:application/database.php
8. 命令行工具:php think
# 后端开发规则
- 控制器必须继承 AdminController
- 必须使用 $this->request->param() 获取参数
- 列表必须使用 index 方法 + 分页
- 新增/修改使用 add/edit 方法
- 删除必须使用 del 方法
- 快速搜索、筛选、排序遵循 FastAdmin 内置机制
- 权限节点自动生成:控制器/方法名
- 验证器必须放在 application/admin/validate/
# 前端开发规则
- 表格使用 Bootstrap Table
- 表单使用 Form API
- 弹窗使用 Layer
- 按钮遵循 btn btn-primary btn-sm 等规范
- 前端 JS 必须使用 require.js 加载
- 事件绑定使用 $(document).on()
# 数据库规则
- 表前缀:fa_
- 主键必须是 id int(10) unsigned NOT NULL AUTO_INCREMENT
- 必须包含 createtime、updatetime 字段
- 软删除使用 deletetime 字段
# 代码生成规则
- 一键生成CRUD:控制器 + 模型 + 视图 + JS + 语言包 + 菜单
- 遵循 FastAdmin 标准目录结构
- 不随意修改框架核心文件
- 不修改 thinkphp 核心目录
二、强制 AI:修改代码前必须自动备份(关键!)
直接把这段追加到规则最下方 ,AI 会100%遵守:
# 重要:文件修改与备份规则(必须严格执行)
1. 在修改任何文件之前,必须先对原文件进行备份,禁止直接覆盖
2. 备份文件命名格式:原文件名.年月日时分秒.原扩展名
示例:
原文件:User.php
备份后:User.20250407153025.php
原文件:index.js
备份后:index.20250407153025.js
3. 备份文件必须与原文件放在同一目录
4. 备份完成后,再生成新代码
5. 如果是新增文件,则不需要备份
6. 任何情况下不得跳过备份直接修改源代码
三、最终完整规则(直接复制全量)
# FastAdmin 开发规范 - 必须严格遵守
1. 框架类型:FastAdmin(基于 ThinkPHP + Bootstrap + AdminLTE)
2. 控制器目录:application/admin/controller/
3. 模型目录:application/common/model/
4. 视图目录:application/admin/view/
5. JS 目录:public/assets/js/
6. 语言包目录:application/admin/lang/zh-cn/
7. 数据库配置:application/database.php
8. 命令行工具:php think
# 后端开发规则
- 控制器必须继承 AdminController
- 必须使用 $this->request->param() 获取参数
- 列表必须使用 index 方法 + 分页
- 新增/修改使用 add/edit 方法
- 删除必须使用 del 方法
- 快速搜索、筛选、排序遵循 FastAdmin 内置机制
- 权限节点自动生成:控制器/方法名
- 验证器必须放在 application/admin/validate/
# 前端开发规则
- 表格使用 Bootstrap Table
- 表单使用 Form API
- 弹窗使用 Layer
- 按钮遵循 btn btn-primary btn-sm 等规范
- 前端 JS 必须使用 require.js 加载
- 事件绑定使用 $(document).on()
# 数据库规则
- 表前缀:fa_
- 主键必须是 id int(10) unsigned NOT NULL AUTO_INCREMENT
- 必须包含 createtime、updatetime 字段
- 软删除使用 deletetime 字段
# 代码生成规则
- 一键生成CRUD:控制器 + 模型 + 视图 + JS + 语言包 + 菜单
- 遵循 FastAdmin 标准目录结构
- 不随意修改框架核心文件
- 不修改 thinkphp 核心目录
# 重要:文件修改与备份规则(必须严格执行)
1. 在修改任何文件之前,必须先对原文件进行备份,禁止直接覆盖
2. 备份文件命名格式:原文件名.年月日时分秒.原扩展名
示例:
原文件:User.php
备份后:User.20250407153025.php
原文件:index.js
备份后:index.20250407153025.js
3. 备份文件必须与原文件放在同一目录
4. 备份完成后,再生成新代码
5. 如果是新增文件,则不需要备份
6. 任何情况下不得跳过备份直接修改源代码
四、使用效果
- AI 完全懂 FastAdmin 结构,不会生成错误代码
- 控制器、模型、视图、JS 路径完全正确
- 修改任何文件前自动备份
- 备份文件示例:
User.php→User.20250407153025.phpindex.html→index.20250407153110.html
- 绝不乱改框架核心文件
怎么填写

这几个选项是用来控制 规则什么时候生效 的,对应不同的使用场景,给你讲清楚怎么选:
1. 「总是」(推荐给 FastAdmin + 备份规则用)
✅ 用法 :你写的 FastAdmin 开发规范、修改文件前必须备份这类规则,全部设为「总是」。
- 效果:每一次对话、每一次 AI 生成代码,都会自动带上这些规则,不会忘记备份、不会写错框架结构。
- 适用:强制生效的项目级规范,比如备份规则、FastAdmin 目录结构、编码规范。
2. 「手动」
✅ 用法:只有你手动点选这条规则时,它才会生效。
- 适用:不常用的规则,比如「只在生成复杂报表时生效的特殊格式要求」「调试专用的详细日志规则」。
- 不推荐:备份规则别用这个,容易忘记手动开启,导致文件没备份就被修改。
3. 「智能体请求」
✅ 用法:只有 AI 调用工具/执行命令时,才会带上这条规则。
- 适用:比如限制 AI 执行命令的权限、规范终端操作的规则。
- 不推荐:备份和编码规范用这个,因为对话里直接写代码的场景也需要遵守规则。
最终推荐配置(直接照着做)
- 把你之前写的 FastAdmin 开发规范 这条规则,设置为「总是」
- 把 文件修改前必须备份 这条规则,也设置为「总是」
- 其他临时/特殊规则(比如调试、特殊格式),再用「手动」或「智能体请求」
这样设置后,你每次和 AI 对话,它都会自动遵守备份规则和 FastAdmin 规范,不用额外操作。
如果你愿意,我可以帮你把之前的规则拆成两条,分别设置不同的生效方式,要不要我帮你拆?
五、你只需要做什么?
把上面全部文字复制 → 打开 CodeBuddy 的 Rules → 粘贴进去 → 保存即可。
给你一套可以直接复制用的 FastAdmin CRUD 指令模板,配合刚才的规则,AI 会自动:备份原文件 → 生成控制器/模型/视图/JS/语言包 → 按 FastAdmin 规范写好增删改查和分页。
📝 通用 CRUD 模板(复制即用)
你可以直接把下面的句子发给 AI,改一下表名和字段就能生成完整功能:
text
我要给表 `fa_goods` 生成 FastAdmin 标准 CRUD,包含以下字段:
- id(主键)
- name 商品名称 varchar(100)
- price 价格 decimal(10,2)
- stock 库存 int(11)
- status 状态 tinyint(1) 0=下架 1=上架
- createtime 添加时间
- updatetime 更新时间
请生成:
1. 控制器:application/admin/controller/Goods.php(继承 AdminController)
2. 模型:application/common/model/Goods.php
3. 验证器:application/admin/validate/Goods.php
4. 视图:application/admin/view/goods/index.html / add.html / edit.html
5. JS:public/assets/js/backend/goods.js
6. 语言包:application/admin/lang/zh-cn/goods.php
要求:
- 列表页支持:快速搜索(按名称)、状态筛选、分页
- 新增/编辑页:价格/库存必填,状态默认上架
- 列表页价格/库存格式化显示,状态用开关组件
- 删除用软删除,保留 deletetime 字段
- 所有文件修改前先按规则备份原文件
✨ 几个常用场景的模板
1. 订单管理(含状态流转)
text
为表 `fa_order` 生成 FastAdmin CRUD,字段:
- id
- order_sn 订单号 varchar(32)
- user_id 用户ID int(11)
- total_amount 订单金额 decimal(10,2)
- status 订单状态 tinyint(1) 0=待付款 1=已付款 2=已发货 3=已完成 4=已关闭
- paytime 付款时间
- sendtime 发货时间
- createtime
- updatetime
生成完整 CRUD,列表支持:订单号搜索、状态筛选、时间范围筛选;
编辑页状态只能从当前状态向后流转,不能反向修改;
订单号不可编辑,付款时间/发货时间由状态变更自动更新。
修改文件前先备份。
2. 管理员角色管理(含权限控制)
text
为表 `fa_auth_group` 生成 FastAdmin 角色管理 CRUD,字段:
- id
- name 角色名称 varchar(50)
- rules 权限规则 text
- status 状态 tinyint(1) 0=禁用 1=启用
- createtime
- updatetime
生成控制器、模型、验证器、视图和JS;
编辑页支持多选权限节点,列表显示角色名称和状态;
权限规则字段用树形选择组件,修改文件前先备份。
💡 使用小技巧
- 每次发指令前,记得先在 CodeBuddy 里把
application/和public/目录加入File & Folders上下文,AI 能更准确识别项目结构。 - 如果是修改已有 CRUD,指令开头加一句:
基于当前项目已有的 Goods CRUD 进行修改,修改文件前先备份,AI 会基于现有代码调整,而不是从头生成。