- 新增 ai.memory/project_mcp_frame_dll_loader.md: 1) 运行时 acrxGetApiVersion() 有状态、不可用于版本比对; 2) DLL 工具写数据库需文档锁(应用上下文 → eLockViolation); 3) 同一 DLL 只加载一次(模块缓存)及代理不再 FreeLibrary 的原因。 - 更新索引 MEMORY.md;reference_environment.md 的 c++_dll 说明改为「只加载一次」 并指向新文件,测试脚本表补 verify_annotate.py。 - 修正 feedback_preferences.md 中 ai.memory「尚未入库」的过时说明。
4.0 KiB
4.0 KiB
name, description, type
| name | description | type |
|---|---|---|
| 用户协作偏好 | 用户在本项目中明确的工作方式偏好(调试版本、模型、代码组织、配置文件等) | feedback |
用户协作偏好
【最高优先级】提交与推送流程(Gitea PR)
-
规则:今后所有提交都 commit 到当前分支
home-ai-dev,然后自动推送到代码服务器并 创建 PR。推送必须严格使用如下格式: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;提交/推送时正常包含它。 - 现状:
ai.memory/已入库(提交chore(memory): 新增 ai.memory 记忆库),随home-ai-dev正常提交并推送。(CadProject已独立为单独仓库,远程cad-agent.git。)
【重要】新建的 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,可对照。