furniture-3d-system-Wu/会话恢复摘要-20260415.json

327 lines
17 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"摘要类型": "会话恢复摘要(Conversation Resume Summary)",
"摘要版本": "2026-04-15",
"说明": "本摘要不包含系统级/开发级隐藏提示原文,只包含用户显式提供的信息、用户可见规则、项目状态、基础设施、关键决策、完成度和待办,目标是让新的模型尽量无缝继续本会话。",
"工作区": {
"根目录": "D:\\AI Code\\3danzhuang",
"主项目目录": "D:\\AI Code\\3danzhuang\\furniture-3d-system",
"默认执行口径": "用户未指定目录时,默认在 furniture-3d-system(主项目)下工作"
},
"用户可见规则": {
"语言与表达": [
"默认中文",
"按非程序员也能听懂的方式表达",
"先给结论,再给必要解释",
"如必须出现英文术语、状态、模块名、报错,统一写成 English(中文) 格式"
],
"工作原则": [
"优先根因修复,不做表面补丁",
"前端默认极简、克制、低干扰",
"发现用户方向不对要及时纠偏",
"不主动创建 commit(提交)/ push(推送)/ branch(分支),除非用户明确要求"
],
"协作边界": {
"Gemini(前端专家)": "负责前端代码、UI(界面)视觉、排版动效、3D(立体)表现层、低干扰前端收口",
"Codex(后端 / 逻辑 / 联调)": "负责接口、数据、数据库、算法、部署、脚本、同步、非前端部分"
},
"仓库规则补充": [
"任务发生在 furniture-3d-system(主项目)时,先读取 3 份工作流文档",
"必须包含规范审查结论",
"如果不是独立复审,必须明确写“这是自审,不是独立复审”"
]
},
"已读协作文档": [
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\docs\\workflow\\团队协作模式.md",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\docs\\workflow\\模块边界说明.md",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\docs\\workflow\\主线同步操作手册.md"
],
"当前产品级关键决策": {
"首页定位": "首页不是总工作台,不承接大 3D(立体) 工作区;首页目标是“已正式入库产品 + 当前账号下的草稿组”",
"自动组合": "auto-combinations(自动组合)已废弃,主线改为 assisted assembly(辅助装配)",
"材质主链": "材质对业务统一表达为 finish(花色);花色负责默认视觉定义;资产录入阶段 3D(立体) 视口只做 UV(贴图方向与缩放)校准;业务阶段不再自由换材质",
"辅助装配": "目标是孔位级准确吸附,不再接受中心点假吸附;拖动过程中允许临时穿模,但最终吸附位姿不能穿模;最终判断对象不是最近单孔,而是 mountPattern(安装图样)",
"用户系统": "DingTalk(钉钉) 登录 + 本地 User(用户)/ Department(部门) + 外部 HR(人事) 只读同步 + 管理员激活",
"人员来源": "公司员工与项目账号分层存储:EmployeeDirectory(员工目录) 作为公司底册,User(项目账号) 作为项目登录与权限载体",
"账户激活规则": {
"公司员工命中本地员工目录": "DingTalk(钉钉) 登录后自动激活",
"DingTalk(钉钉) 登录但未命中员工目录": "创建项目账号,状态 PENDING(待激活)",
"普通 Register(注册) 用户": "创建项目账号,状态 PENDING(待激活)",
"激活权限": "只有 ADMIN(管理员) 和 SUPER_ADMIN(超级管理员) 可后台激活"
}
},
"前端对接板状态": {
"文件": "D:\\AI Code\\3danzhuang\\docs\\前端UI改动清单.md",
"当前定位": "只作为当前轮次前端协作对接板,不是长期规范来源、不是历史总账",
"Gemini(前端专家)当前状态": "独立前端任务已清零,只等待 Codex(后端 / 逻辑 / 联调) 的数据链就绪后做最终验收",
"Codex(后端 / 逻辑 / 联调)当前剩余前后端联调职责": [
"准确吸附数据主链",
"Users(用户管理) 最终联调",
"给 Gemini(前端专家) 提供稳定数据、权限和跳转承接"
]
},
"已完成事项": {
"资料库与材质链": {
"状态": "基本完成",
"已完成": [
"基础资料库中花色 / 基材主链已收口",
"主贴图 / 缩略图显示链路已打通",
"PBR(物理材质) 参数在新资料库已补回主要项",
"法线图(normal map) 已从新资料库业务入口拿掉",
"统一了 previewUrl(统一预览地址) 逻辑,解决默认占位图误判问题",
"material-categories(花色分类) 已补出创建闭环并修掉 403(禁止访问)"
],
"关键文件": [
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\asset-center\\material-library\\MaterialLibraryClient.tsx",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\material.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\material-categories\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\lib\\material-thumbnail.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\lib\\material-asset-path.ts"
]
},
"首页与导航底座": {
"状态": "已完成底座",
"已完成": [
"首页 tab(标签) 深链支持已完成",
"支持 /?tab=products 和 /?tab=drafts",
"首页产品区已按“正式产品”方向收口",
"HomeClient(首页客户端) 与 page(页面入口) 已承接深链"
],
"关键文件": [
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\page.tsx",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\HomeClient.workspace.tsx",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\home\\home-client.types.ts"
]
},
"用户系统": {
"状态": "代码主链基本完成,待真人联调封板",
"已完成": [
"UserStatus(用户状态) 已引入 PENDING(待激活)",
"EmployeeDirectory(员工目录) 已落地",
"内部 HR Sync(人事同步) 接口已落地",
"DingTalk(钉钉) 登录自动命中员工目录并自动激活",
"未命中员工目录的 DingTalk(钉钉) 登录创建 PENDING(待激活) 账号",
"普通 Register(注册) 创建 PENDING(待激活) + DESIGNER(设计师) 账号",
"Users(用户管理) 后端已有 PENDING(待激活) 筛选、激活接口、loginSource(登录来源)、employeeDirectoryId(员工目录关联) 标记"
],
"关键文件": [
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\internal\\hr-sync\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\dingtalk-auth.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\auth\\register\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\users\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\users\\[id]\\activate\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\user-management.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\user.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\auth.service.ts"
]
},
"DingTalk(钉钉) 登录生产联通": {
"状态": "已完成",
"线上入口": "https://cp.jiansun.vip/login",
"回调地址": "https://cp.jiansun.vip/api/auth/dingtalk/callback",
"已解决问题": [
"白屏问题",
"回调错误跳到 0.0.0.0 问题",
"HTTPS(加密访问) 已接通"
]
},
"HR(人事) 同步生产化": {
"状态": "已完成",
"同步服务器": "180.97.215.57",
"运行方式": "systemd(系统服务) + timer(定时器)",
"频率": "每天两次(03:00 和 15:00)",
"最近已验证同步统计": {
"departments(部门)": 1112,
"employees(员工)": 1394,
"dimissions(离职)": 4499
}
},
"缩略图回填": {
"状态": "已完成",
"执行环境": "生产服务器",
"关键结果": [
"修复 chrome-headless-shell(无头浏览器壳) 执行权限",
"最终生产 backfill(回填) 已跑完",
"后续再次执行显示“没有需要处理的规格款”"
],
"统计": {
"首次小样本回填": "3 成功 / 0 fallback(回退) / 0 failure(失败)",
"最终剩余任务回填": "3 成功 / 0 fallback(回退) / 0 failure(失败)"
}
},
"生产部署": {
"状态": "已完成,可用",
"部署方式": "增量部署(只同步变更)",
"原因": "当前更适合 PM2(进程管理) + 独立目录 + 独立端口,不走整套 Docker(容器) 方案",
"项目进程": "furniture-3d-system-prod",
"生产目录": "/opt/furniture-3d-system-prod/furniture-3d-system",
"应用本地端口": 3001,
"公网入口": "https://cp.jiansun.vip",
"入口机": "180.97.215.57",
"生产机": "ltai5tdb2ogyj59fquyedh.yydd.ai:60022"
},
"S3(对象存储) / MinIO(对象存储服务)": {
"状态": "已接通到共享生产桶",
"桶": "gongxiangpan",
"前缀": "3danzhuang/furniture-3d-system/",
"公开域名": "https://s3.jiansun.vip/gongxiangpan",
"已完成": [
"存储配置兼容共享桶",
"支持独立前缀",
"修掉公开地址双桶名拼接问题",
"兼容 S3_PUBLIC_DOMAIN(公开访问域名)"
],
"敏感配置说明": "生产密钥不在摘要中明文展开;非敏感说明在 D:\\AI Code\\gongxiangp2\\docs\\生产存储桶接入信息.md;临时本地忽略配置在 D:\\AI Code\\gongxiangp2\\.env.furniture-3d-system.local"
},
"域名与入口": {
"当前正式入口": "https://cp.jiansun.vip",
"状态": "HTTP(普通访问) 和 HTTPS(加密访问) 已切到当前项目",
"历史说明": {
"ok.yydd.ai": "不是当前项目,也不是本次部署动坏的;当前解析到 45.192.99.48,打开是默认 Nginx(反向代理) 页",
"shujuku2": "仍然在线,实际在当前服务器的 8080 入口,对外旧域名已偏离当前机器"
}
},
"其他项目影响检查": {
"shujuku2": "仍在线,未被本项目部署破坏",
"ai-chatbot": "按用户之前明确要求停用并让出 3001 端口,目录仍在,不是误删"
},
"规则与文档清理": {
"状态": "已完成",
"已做": [
"项目级 AGENTS(协作规则) 已精简",
"docs/前端UI改动清单.md 已从旧总账改为前端对接板",
"清掉明显台账 / agent-memory(代理记忆) / 会话交接文档",
"未碰账号、密码、公钥文件"
]
}
},
"未完成事项": {
"辅助装配_准确吸附": {
"状态": "DOING(进行中)",
"这是当前最主要未完成项": true,
"目标": [
"插件输出更准的孔位语义",
"web(网页端) 严格按 mountFace(吸附面) + holeGroup(孔组) + mountPattern(安装图样) 工作",
"多孔位 / 多孔组匹配",
"最终位姿不能穿模",
"板材占位与孔位容量规则成立"
],
"已具备": [
"代码里已有 snapStatus(吸附状态) = hole-snap(孔位吸附已验证) / manual-unverified(手工摆放未验证)",
"工作台已有 candidate(候选)/ hole(孔位)/ highlight(高亮) 数据插槽",
"插件与 web(网页端) 已推进到 mountPattern(安装图样) 方向"
],
"还差": [
"真实样本资产用新插件重导后做真人拖拽验收",
"把最终数据链喂给 Gemini(前端专家) 做极简高亮收口"
]
},
"用户系统_最终验收": {
"状态": "待真人联调",
"待验收场景": [
"公司员工 DingTalk(钉钉) 登录 -> 自动激活 -> 可登录",
"非员工 DingTalk(钉钉) 登录 -> PENDING(待激活)",
"普通 Register(注册) 用户 -> PENDING(待激活)",
"ADMIN(管理员) / SUPER_ADMIN(超级管理员) 后台激活 -> 用户可登录"
]
},
"Gemini(前端专家)待收口项": [
"材质一致性最终肉眼验收",
"准确吸附极简高亮最终收口"
]
},
"当前前后端协作真实状态": {
"Gemini(前端专家)": "独立前端任务已清零;只等 Codex(后端 / 逻辑 / 联调) 数据链稳定后做验收",
"Codex(后端 / 逻辑 / 联调)": [
"继续推进准确吸附数据主链",
"完成 Users(用户管理) 真实联调验收",
"必要时继续做生产联调与部署"
]
},
"生产环境与基础设施": {
"生产应用服务器": {
"主机": "ltai5tdb2ogyj59fquyedh.yydd.ai",
"SSH 端口": 60022,
"说明": "运行当前项目与 shujuku2(旧项目)"
},
"公网入口服务器": {
"主机": "180.97.215.57",
"作用": "承接当前项目公网访问入口、frp(内网穿透)/ Nginx(反向代理)"
},
"当前项目正式访问地址": "https://cp.jiansun.vip",
"对象存储": {
"内网端点": "http://192.168.58.20:9000",
"公开域名": "https://s3.jiansun.vip/gongxiangpan"
},
"HR(人事) 外部库": {
"类型": "SQL Server(数据库)",
"只对白名单开放": "180.97.215.57",
"用途": "员工 / 组织 / 离职只读同步源,不做实时登录依赖"
}
},
"关键统计数据": {
"HR(人事) 同步最近一次有效结果": {
"departments(部门)": 1112,
"employees(员工)": 1394,
"dimissions(离职)": 4499
},
"缩略图回填": {
"样本修复后成功": 3,
"剩余任务再次回填成功": 3,
"当前剩余待回填": 0
},
"首页深链相关测试": {
"Jest(测试)": "2 组 6 项通过"
}
},
"外部系统与表": {
"HR(人事) 首选同步表": [
"dbo.hr_employee(在职员工主表)",
"dbo.hr_groups(组织架构表)",
"dbo.hr_employee_register(员工详情表)",
"dbo.hr_employee_dimission(离职员工表)"
],
"当前不纳入登录主链": [
"dbo.ding_Workflow(流程主表)",
"dbo.ding_WorkflowScheme(OA 流程表单字段表)",
"dbo.ding_WorkflowTask(OA 流程审批日志表)"
]
},
"已确认存在的关键文件": [
"D:\\AI Code\\3danzhuang\\docs\\前端UI改动清单.md",
"D:\\AI Code\\3danzhuang\\AGENTS.md",
"C:\\Users\\54972\\.codex\\AGENTS.md",
"D:\\AI Code\\3danzhuang\\scripts\\create-yydd-prod-deploy.ps1",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\dingtalk-auth.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\internal\\hr-sync\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\auth\\register\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\app\\api\\users\\[id]\\activate\\route.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\user-management.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\server\\services\\user.service.ts",
"D:\\AI Code\\3danzhuang\\furniture-3d-system\\src\\lib\\open-product\\assembly-workspace.ts",
"D:\\AI Code\\3danzhuang\\autocad-plugin\\FurnitureExporter\\MountPatternAnalyzer.cs"
],
"敏感信息策略": {
"本摘要不内嵌明文": [
"生产服务器密码",
"公网入口机密码",
"DingTalk(钉钉) AppSecret(应用密钥)",
"SQL Server(数据库) 密码",
"S3(对象存储) Access Key / Secret Key(访问密钥 / 密钥)"
],
"原因": "为了避免复用摘要时泄漏明文敏感信息",
"已知存放位置": [
"D:\\AI Code\\gongxiangp2\\docs\\生产存储桶接入信息.md(非敏感说明)",
"D:\\AI Code\\gongxiangp2\\.env.furniture-3d-system.local(临时本地忽略配置)",
"/opt/furniture-3d-system-prod/.env(生产环境变量,远端)"
]
},
"下一步建议顺序": [
"1. 继续完成 辅助装配(assisted assembly) 的准确吸附数据主链",
"2. 用新插件重导一组标准样本资产,做真实拖拽吸附验收",
"3. 让 Gemini(前端专家) 完成吸附极简高亮与材质一致性的最后肉眼验收",
"4. 用真实公司员工 / 非员工 / 注册用户 / 管理员做用户系统闭环验收",
"5. 验收通过后,再决定是否继续推进更完整的后台或包装 / 仓库协作链"
],
"恢复提示模板": "请基于以上 JSON(结构化摘要)继续工作。默认目录为 D:\\\\AI Code\\\\3danzhuang\\\\furniture-3d-system。继续遵守:中文优先、英文术语写成 English(中文)、Gemini(前端专家) 负责前端样式,Codex(后端 / 逻辑 / 联调) 负责后端、数据、数据库、部署和联调。当前最主要未完成项是辅助装配的准确吸附数据主链,其次是用户系统的最终真人联调验收。"
}