2026-10-09 09:43:21 +08:00
|
|
|
|
---
|
|
|
|
|
|
name: 用户协作偏好
|
|
|
|
|
|
description: 用户在本项目中明确的工作方式偏好(调试版本、模型、代码组织、配置文件等)
|
|
|
|
|
|
type: feedback
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 用户协作偏好
|
|
|
|
|
|
|
|
|
|
|
|
## 【最高优先级】提交与推送流程(Gitea PR)
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:**今后所有提交都 commit 到当前分支 `home-ai-dev`**,然后**自动推送**到代码服务器并
|
|
|
|
|
|
**创建 PR**。推送**必须严格使用**如下格式:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git push origin HEAD:refs/for/main/<你的分支名称>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- **绝对禁止**使用常规的 `git push origin <branch_name>`。
|
|
|
|
|
|
- **Why:** 必须带 `refs/for/main/` 引用格式,才能触发 **Gitea 的自动 PR 创建机制**。
|
|
|
|
|
|
其中 `main` 是**目标主分支**,`<你的分支名称>` 是当前工作的**临时特性分支**名。
|
|
|
|
|
|
- **How to apply:** 例:当前分支为 `home-ai-dev` 时执行
|
|
|
|
|
|
`git push origin HEAD:refs/for/main/home-ai-dev`。每次提交后自动完成推送 + 建 PR,无需再问。
|
|
|
|
|
|
注意 `home-ai-dev` 的 upstream 常显示 `[gone]`(合并后源分支被删),这不影响该推送方式。
|
|
|
|
|
|
|
|
|
|
|
|
## 调试用 R230 + Debug,不用 Release
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:涉及 CAD 版本的调试**只用 R230**,且配置用 **Debug**(非 Release)。
|
|
|
|
|
|
- **Why:** 用户明确要求;Release 曾造成误解(只构建了插件目标、没见基座 `.arx`)。
|
|
|
|
|
|
- **How to apply:** 任何联调/构建验证默认 `--config Debug` + `--preset R230`;
|
|
|
|
|
|
需要交叉验证时可另编 R243。
|
|
|
|
|
|
|
|
|
|
|
|
## 视觉模型用 `deepseek-flash`
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:审查脚本调用的模型是 **`deepseek-flash`**,已确认支持视觉。
|
|
|
|
|
|
- **How to apply:** 脚本默认模型名保持 `deepseek-flash`;不要擅自换成其它模型。
|
|
|
|
|
|
|
|
|
|
|
|
## 插件代码集中在 `cad_mcp_plugins`
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:DLL 工具的开发**全部实现在 `cad_mcp_plugins` 工程内**,便于统一管理。
|
|
|
|
|
|
- **How to apply:** 新增审查工具放进该工程;不要散落到其它目标。
|
|
|
|
|
|
|
|
|
|
|
|
## 封装常用函数
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:编写代码时注意**封装常用函数**,避免重复。
|
|
|
|
|
|
- **How to apply:** 公共逻辑进 `dwg_review_common`;同类工具复用同一 helper。
|
|
|
|
|
|
|
|
|
|
|
|
## `mcp_config.json` 是注册工具的枢纽
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:`mcp_config.json` 是向「基座」注册工具的**关键文件**,必须编辑它才能让工具生效。
|
|
|
|
|
|
- **How to apply:** 新增工具要同步更新模板 `src/cad_mcp_frame/cad-mcp-frame.json`
|
|
|
|
|
|
与运行时 `bin/<Config>-R230/mcp_config.json`;注意 `plugin_directory` 相对 `.arx` 目录解析。
|
|
|
|
|
|
|
|
|
|
|
|
## 命名前缀用 `dwg_review`
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:审查相关源码前缀用 **`dwg_review`**,不用 `review_`(不够明确)。
|
|
|
|
|
|
|
|
|
|
|
|
## `ai.memory/` 要入库并推送到服务器,**不要**加进 `.gitignore`
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:`CadProject/ai.memory/` 目录**不加入 `.gitignore`**,应作为 **`CadProject` 仓库的一部分**
|
|
|
|
|
|
提交并推送到远程服务器(`cad-agent.git`),以便 AI 在其它机器上接手记忆。
|
|
|
|
|
|
- **Why:** 用户希望记忆可跨机器共享/接管。
|
|
|
|
|
|
- **How to apply:** 不要建议把 `ai.memory/` 加入 `.gitignore`;提交/推送时正常包含它。
|
2026-10-09 22:37:31 +08:00
|
|
|
|
- 现状:`ai.memory/` **已入库**(提交 `chore(memory): 新增 ai.memory 记忆库`),随 `home-ai-dev`
|
|
|
|
|
|
正常提交并推送。(`CadProject` 已独立为单独仓库,远程 `cad-agent.git`。)
|
2026-10-09 15:17:54 +08:00
|
|
|
|
|
|
|
|
|
|
## 【重要】新建的 C++ 源文件必须存为 **UTF-8 with BOM**
|
|
|
|
|
|
|
|
|
|
|
|
- 规则:`src/` 下新增的 `.cpp` / `.h` 必须带 **UTF-8 BOM**(文件头 `EF BB BF`),与既有工程文件一致。
|
|
|
|
|
|
- **Why:** 工程未加 `/utf-8` 编译开关;无 BOM 的 UTF-8 文件会被 MSVC 按系统代码页(GBK)解析,
|
|
|
|
|
|
中文注释字节错位后会**吞掉紧随其后的声明/代码**,报出一堆离奇的
|
|
|
|
|
|
`C2447` / `C2039: 'xxx': is not a member of ...` / 行号错位错误,极难定位。
|
|
|
|
|
|
- **How to apply:** 用 Write 新建源文件后,立即补 BOM:
|
|
|
|
|
|
`printf '\xef\xbb\xbf' > f.tmp; cat f >> f.tmp; mv f.tmp f`(或确认 `head -c3 f | xxd -p` == `efbbbf`)。
|
|
|
|
|
|
既有文件(如 `dwg_review_*.cpp`、`StdAfx.h`)都带 BOM,可对照。
|