company-desktop
|
6559cdf6f5
|
docs: 记录 Phase 0 实测结果、AutoCAD 自动化实测环境与属性 key 的取舍
Phase 0 在本机跑通(big1.dwg / AutoCAD 2020 / R230 Debug,开图 108 s):
RegionTexts=5641 UniqueHashes=2597 SimulatedHits=3044 HitRate=54.0%
TempFiles=6773 TempBytes=9,341,125 WriteBacks=1140
CoreTools::StringToRegion 2559 次 14.6 s 平均 5.7 ms 最长 321 ms
EwPipe::RegionAcisIn 3082 次 8.3 s 平均 2.7 ms
EwPipe::RegionAcisout 1140 次 2.3 s 平均 2.0 ms
结论:一次开图做 5641 次 SAT 恢复,共 22.9 s(约占 108 s 的 21%)。
此前基于 CPU 采样的估算只有 550~1000 次,低估了 5~10 倍——说明采样只能算占比,
算不出调用次数,这类结论必须靠计数器。
按 54% 命中率折算,Phase 1 缓存净省约 12 s(约 11%),并少约 4000 次临时文件写盘。
同时记录三个待追查项:命中率为何只有 54%、StringToRegion 为何比 RegionAcisIn 贵一倍、
开图期间为何回写 1140 次 SAT。
文档里补充了"用管子属性做 key"的思路与风险:属性相同则截面相同,业务上成立,
但不能单独当 key——DWG 里的 SAT 文本可能来自旧版本/旧路径/手工编辑的异形截面,
属性漏一项就会静默复用错误几何。若要做,采用 L1 内容 hash + L2 属性 key 的两级结构,
L2 命中后仍比对 textHash,不一致按 miss 处理;落地前先加一路属性 key 命中率计数比较。
另外新增 tools/run_acad_perf.ps1 并在 AGENTS.md 记录本机 CAD 实测环境:
acad.exe 路径、/p SHS-ENVI2026 启动参数、测试图纸、部署目录,
以及"PowerShell 5.1 把无 BOM 的 UTF-8 当 ANSI 读"这个坑(脚本保持 ASCII)。
验证:文档与脚本;脚本语法检查通过,本次实测就是用它的等价命令跑出来的。
|
2026-10-28 19:52:18 +08:00 |
|
company-desktop
|
dff08b17a3
|
feat: 需要用户决策时主动通知(桌面 toast / 决策日志 / IM 机器人)
背景:用户可能不在终端前面(远程连过来、或者走开了),agent 把问题打在终端里就停住,
人根本不知道,等于空等。
新增:
- tools/notify_decision.ps1
- Windows toast(WinRT),失败则回退到模态弹窗(120 秒自动关),并带提示音
- 追加写入 %USERPROFILE%\.pi\agent\decisions\pending.md,漏看 toast 也不丢问题
- 可选 webhook:-Url 或环境变量 PI_NOTIFY_WEBHOOK;
企业微信/钉钉用 {"msgtype":"text",...},URL 含 feishu/lark 时自动换飞书格式
- 中文必须走 -MessageFile(UTF-8 读取),避免命令行参数被控制台代码页弄乱
- 任何失败都 exit 0,通知出问题不能反过来中断 agent
- .pi/skills/notify-decision/SKILL.md:什么时候该通知、消息里必须写清"要决定什么 /
选项与代价 / 我的建议与默认动作"三件事、通道配置方式
- AGENTS.md:加一小节指向该 skill,并在仓库内 skill 表格里登记
验证:本机跑通三种调用(ASCII -Message、中文 -MessageFile、加 -NoBeep),
中文在决策日志里显示正常;toast 通过 PowerShell appId 注册,WinRT 接口检测为可用。
仅新增工具与文档,未触碰任何编译产物与源码。
|
2026-10-28 15:48:23 +08:00 |
|
company-desktop
|
6337ee45bc
|
docs: 增加 pi agent 使用说明
新增 pi-agent-setup.md,把这几轮摸出来的 pi 使用知识固定下来,供三台机器
共用:
- 仓库里放了什么:AGENTS.md、4 个 skill、3 个 prompt 模板,以及加载规则
(AGENTS.md 作为 context file 不需要项目信任,.pi/ 下需要)。
并说明 AGENTS.md 为何不复制 CODEBUDDY.md 正文。
- 常用命令:启动参数(-c/-r/--session/--fork/--tui-mode/-e/--offline)、
会话命令(/new /resume /tree /fork /clone /compact)、资源命令。
- 重点澄清 /reload 不恢复会话:它只重载 skill/prompt/AGENTS.md/主题/扩展,
历史靠 -c / -r / /resume;并给出 pull 之后的推荐顺序,以及"会话按工作
目录关联"这个容易踩的点。
- Windows 终端底部状态栏上下跳动:定位到三条叠加原因(cmd 的默认宿主是
conhost、terminal.clearOnShrink 默认 false、窗口不够宽导致 footer 折行),
给出按性价比排序的处理办法和 PI_TUI_WRITE_LOG 排查手段,附当前本机配置
与桌面快捷方式的实际参数。
- 三台机器的同步清单:哪些随仓库走、哪些必须各自准备、三个坑
(.pi/settings.json 冲突、项目级与用户级 skill 目录、首次要授予项目信任)。
- 插件取舍:pi-lens 对本仓库为何不建议装(clangd 需要 compile_commands.json
而本项目用 VS 生成器、编译检查不带 ARX/MFC 宏、无 .clang-format 且强制
UTF-8 BOM),以及少数值得考虑的包和明确不需要的包。
- 其他已知坑:pi 不读 CODEBUDDY.md、内置工具只有 read/write/edit/bash、
UTF-8 BOM 约定、类名与文件名不一致。
同时在 AGENTS.md 里加一行指向该文档。
|
2026-10-28 11:00:00 +08:00 |
|
company-desktop
|
d29aa70957
|
docs: 增加 AGENTS.md 与 .pi 下的 skill / prompt 模板
pi agent 只认 AGENTS.md / CLAUDE.md,不认 CODEBUDDY.md,所以此前 pi 启动时
完全没有加载本仓库的项目说明。本次补上,并把手头反复要做的流程固化成
skill 与 prompt 模板,供团队三台机器共享。
新增内容:
- AGENTS.md —— pi 每次启动自动加载。只放 pi 环境差异(内置工具只有
read/write/edit/bash,搜索用 rg;万行文件分段读;类名与文件名不一致)
和硬性红线(UTF-8 BOM、禁止 vcxproj、不直推 main、中文 commit、
匿名 namespace、#ifdef ZWCAD 判平台),其余指路 CODEBUDDY.md。
不复制 CODEBUDDY.md 正文,避免两份 170 行文档各自漂移;CODEBUDDY.md
这个名字还被 3 篇分析文档引用,保持原文件名不动。
- .pi/skills/build-arx —— preset(R180~R260 / Z2023~Z2026)与常用 target、
加密双版本 target 后缀、目录名≠target 的例外、产物与部署路径、
LNK4099 rxapi PDB 属已知噪音。
- .pi/skills/verify-utf8 —— UTF-8 BOM 自检命令与判读表、写坏后
git checkout 还原重做的流程、批量自检脚本。
- .pi/skills/pr-flow —— 分支命名(<机器名>/<英文描述>)、代码与文档分开
两个 commit、中文 message 结构、git push refs/for/main/<分支>、
提交前检查清单、私钥不入库。
- .pi/skills/analyze-big-entity —— 万行实体类的定位套路(先 rg
ACRX_DXF_DEFINE_MEMBERS 确认类名、必看的持久化/生命周期/绘制缓存/
内存所有权四个面)、性能问题的量化口径、分析文档命名与结构。
- .pi/prompts/{build,pr,chk}.md —— /build、/pr、/chk 三个模板。
全部为 Markdown,不含可执行代码。.pi/ 为项目级资源,需 pi 授予项目信任
后加载;AGENTS.md 作为 context file 不受信任限制。
|
2026-10-28 10:36:55 +08:00 |
|