]>
acesimba.cloud Git - StationBuilder.git/commit
feat: AI 助手会话隔离与 StationBuilder 概览接入;fix: 点击站点卡片误建空站点
## AI 助手:会话隔离 + 基于注入上下文回答 StationBuilder 自身信息
- ai-sidecar: 每次会话使用独立 sessionId,配合 --no-session-persistence 与 --tools "",
实现会话隔离(不跨会话、不查其他会话、不触碰服务器/文件/命令);
守卫明确仅允许基于前端注入的只读上下文作答 StationBuilder 配置与已生成内容。
- 前端在 /api/chat 请求中注入 overview(站点总数 + 每站点的领域/状态/设备数/Cube 数/
已生成数)与当前站点的已生成文件名;db-sidecar siteList 增加 gen_count 列。
- 会话上下文前端持久化到 sessionStorage,刷新不丢失。
## fix: 点击站点卡片误建空站点(未命名站点)
根因:go() 在卡片点击后读取过期的 siteId 闭包(首次打开仍为 null),误判"未选站点"
而自动 createSite,生成多余空站点,导致首次打开为空、二次才正常。
- go(target, sid?) 显式接收站点 id;卡片/表格点击传 row.id,不再依赖闭包。
- "新建站点" 改用 go("basic","new") 哨兵,始终新建空白站点。
- Projects 组件 go 属性类型同步放宽。
验证:已通过 tsc 类型检查与实机测试(站点总数/已生成内容可答,服务器 IP/编程/无关请求仍拒;
多次点击站点不再产生未命名站点)。