本路线图替换旧版插件/协议实验室优先路线,当前阶段聚焦“参考 VS Code 智能体界面,但保持 IoTCoWork 的 IoT 工程工作台定位”。
| 标识 | 含义 |
|---|---|
| ✅ | 已完成 |
| 🚧 | 正在改 |
| ⏳ | 待开始 |
| 🔁 | 持续维护 |
| ⛔ | 暂停或阻塞 |
- IoTCoWork 首屏是工程工作台,不是纯聊天页。
- VS Code 智能体界面只作为信息组织参考:三栏布局、上下文入口、能力中心、头像账户菜单、低噪声高密度。
external/IoTCoWork只承载开源外壳、布局、插件扩展点、本地工程上下文 UI。- 多租户、计费、余额、充值、企业 License、Copilot 编排等商业能力不得写入开源外壳;只允许通过上层
IoTSharp.SaaS/src/*契约或商业插件注入。 - SaaS 云端不得实现设备管理、业务遥测接收或设备数据落库;设备维度入口只能跳转用户自有 IoTSharp 实例。
- 视觉论点:克制、工程化、暗色优先,像一张可长时间工作的控制台,而不是营销页。
- 内容计划:左侧会话与任务,中间工作画布,右侧工程上下文,顶部全局状态,底部智能输入器。
- 交互论点:面板折叠要稳定,输入器上下文要清楚,账户与设置应轻量弹出再进入完整页面。
- 目标:把现有两栏工作区升级为“左侧会话 / 中间工作画布 / 右侧工程上下文”的三栏结构。
- 边界:只做开源 UI 骨架和本地工程上下文占位,不实现租户、计费、余额、云端 Copilot 编排。
- 验收:桌面端出现稳定三栏;窄屏下右侧上下文自动收到底部;现有生成流程仍可使用。
- 提示词:
在 external/IoTCoWork 中实现 UI-001。只允许修改 IoTCoWork.Workbench 的开源 UI 外壳。将 Home 页面从两栏改为三栏:左侧会话,中间现有工作画布,右侧新增工程上下文面板。右侧面板只能展示本地 workspace、边缘目标、产物、工具运行等占位信息,不得接入租户、计费、余额、充值、License、商业 Copilot 编排。保持现有生成、账户弹窗、主题切换、窗口控制功能可用。修改后运行 dotnet build 验证。
- 目标:参考 VS Code 头像菜单,把顶部“我的账户”收敛为头像按钮 + 轻量 Popover。
- 边界:开源外壳只展示本地工作台连接状态;余额、充值、预算、用量、租户、License 等商业数据已迁出到上层
IoTSharp.SaaS/src/*。 - 验收:点击头像可看到本地 AI Gateway 状态、设置、主题、退出等入口;未配置 Token 态清楚;不新增真实密钥或硬编码商业配置。
- 闭环记录:已删除
SaaSAccountClient、SaaSAccountModels、QRCoder 依赖、支付/登录弹层和账户充值样式;本地代理已从SaaSProxy改为AiGatewayProxy。 - 提示词:
在 external/IoTCoWork 中实现 UI-002。把 Home 顶部账户按钮改成头像式账户菜单,菜单只负责 UI 展示和调用现有 OpenSettings、SignOut 等本地事件。不得新增计费、余额、充值、租户、License 的业务实现;若需要展示商业字段,只能使用已有模型里的可空数据并提供未配置状态。保持键盘可访问性和暗色主题一致。
- 目标:建立“智能体 / 技能 / 指令 / 挂钩 / MCP 服务器 / 插件”的能力中心入口。
- 边界:只做分类、搜索、空状态、插件贡献点占位;不得把商业技能、付费模板、企业策略写入开源仓。
- 验收:左侧或设置中可进入能力中心;各分类有数量、状态和空态;MCP 只显示配置占位。
- 提示词:
在 external/IoTCoWork 中实现 UI-003。新增能力中心 UI,包含智能体、技能、指令、挂钩、MCP 服务器、插件六类导航。该任务只做开源 UI 和本地配置占位,不连接真实商业服务,不写入付费模板、租户策略或 License 逻辑。MCP 配置只保留本地服务展示和后续扩展点。
- 目标:把外观、快捷键、模型、网络代理、更新、能力中心入口整理成 VS Code 风格设置页。
- 边界:设置页只管理本地 UI 与本地连接配置;商业账号页通过注入入口或现有账户抽屉承载。
- 验收:设置分类清楚,搜索可见,当前功能不丢失,移动端不溢出。
- 提示词:
在 external/IoTCoWork 中实现 UI-004。重组设置抽屉为分类式设置中心:外观、快捷键、模型、本地网络、更新、能力中心。只迁移现有 UI 控件,不新增商业逻辑。网络代理仍为本地连接配置,不能写入生产密钥或真实云端凭据。
- 目标:让底部输入器明确显示当前 workspace、目标端、模型、审批模式、输出位置。
- 边界:芯片只展示或选择本地上下文;云端模型路由、配额、计费由上层服务处理。
- 验收:用户提交前能看见任务上下文;芯片不会挤压输入区;窄屏可横向滚动。
- 提示词:
在 external/IoTCoWork 中实现 UI-005。扩展底部 XSender 周围的上下文栏,加入 workspace、边缘目标、模型、审批模式、输出位置芯片。芯片只使用本地状态或占位数据,不实现云端模型路由、配额或计费。保持 Enter 提交流程和附件上传可用。
- 目标:在右侧或中间提供计划步骤、工具调用、审批节点、执行结果的统一视图。
- 边界:只展示 UI 状态模型;真实工具执行与 Copilot 编排由上层插件注入。
- 验收:覆盖空白、运行中、待确认、成功、失败、部分成功状态。
- 提示词:
在 external/IoTCoWork 中实现 UI-006。新增任务计划与审批面板,展示计划步骤、工具调用、审批节点、执行结果。只做开源 UI 状态和模拟数据,不调用商业 Copilot 编排,不执行真实远程工具。状态必须覆盖空白、加载、运行中、待确认、成功、失败、部分成功。
- 目标:把右侧上下文面板扩展为工程树、产物、工具运行、日志、风险五个 Tab。
- 边界:工程树和产物只读本地/占位数据;不得接收或展示真实业务遥测数据。
- 验收:Tab 切换稳定;长列表滚动不影响主画布;风险提示优先级高于普通摘要。
- 提示词:
在 external/IoTCoWork 中实现 UI-007。将右侧上下文面板扩展为工程树、产物、工具运行、日志、风险五个 Tab。所有数据必须来自本地占位或公开工程模型,不得接收、转发、落库业务遥测数据,不得实现设备管理 API。
- 目标:当没有活跃任务时,中间区域显示 workspace 状态、最近任务、边缘目标、最近产物和建议动作。
- 边界:总览页是本地工程视图;设备管理入口只能跳转用户 IoTSharp 实例。
- 验收:首屏不再像空白聊天页;用户能直接发起生成、调试、构建、发布动作。
- 提示词:
在 external/IoTCoWork 中实现 UI-008。为空会话状态设计工作区总览,展示 workspace 状态、最近任务、边缘目标、最近产物和 AI 建议动作。不得实现 SaaS 设备管理或遥测接收;设备入口只能作为外部 IoTSharp 实例跳转占位。
- 目标:为左侧导航、右侧 Tabs、设置中心、输入器芯片定义插件贡献点。
- 边界:只定义开源插件 SDK 和 UI 插槽;商业插件只能作为外部消费者。
- 验收:贡献点命名稳定,文档清楚,默认 UI 无商业依赖。
- 提示词:
在 external/IoTCoWork 中实现 UI-009。为左侧导航、右侧上下文 Tabs、设置中心分类、输入器上下文芯片定义插件贡献点和最小接口。接口保持开源属性,不包含租户、计费、License、付费模板字段。补充文档说明商业插件只能通过上层仓库注入。
- 目标:统一暗色/浅色主题、窄屏布局、键盘操作和文本溢出策略。
- 边界:只做 UI 质量验收和样式修复,不改变业务流程。
- 验收:桌面、平板、手机宽度下无明显重叠;按钮有 title 或可见文本;主要弹层可关闭。
- 闭环记录:清理旧认证/支付/充值 CSS,保留确认框、图片预览、设置中心、能力中心等仍在用的弹层响应式规则;本地 AI Gateway 配置未就绪时引导到设置中心网络页。
- 提示词:
在 external/IoTCoWork 中实现 UI-010。对 UI-001 到 UI-009 做主题、响应式、可访问性收尾。检查暗色/浅色主题、文本溢出、按钮 title、键盘焦点、移动端布局和弹层关闭。不得引入新业务逻辑;只修复 UI 质量问题并运行构建验证。
- 目标:把工作台从“点表编辑器”升级为资产、点位、绑定、工艺关系建模。
- 边界:只修改开源工作台信息架构和文档;不加入余额、充值、租户、License、付费模板逻辑。
- 验收:左侧出现“语义模型”入口;
/semantic-modeling页面展示资产树、点位语义表、协议绑定、工艺关系;右侧上下文默认展示资产、点位、绑定、工艺四类 Tab。 - 闭环记录:新增
SemanticModeling页面与本地草稿模型,补充 语义建模信息架构,并将工作区上下文切换到 Semantic Workspace 口径。
- 目标:支持 CSV、Excel 和手工 Modbus 点表导入,生成本地 SemanticPoint 与 Modbus Binding 草稿。
- 边界:只做开源工作台本地导入与校验;不连接边缘设备,不接收业务遥测,不加入租户、计费、License 或付费模板逻辑。
- 验收:合法点表可生成点位与绑定;缺字段点表显式标记单位、量纲、资产归属待补全;非法寄存器和重复点位给出结构化错误;覆盖对应测试。
- 闭环记录:新增
IoTCoWork.Workbench.Core导入器和测试项目,/semantic-modeling页面支持 CSV/TSV/TXT、XLSX 第一张工作表和手工文本导入。
- 目标:支持从 MQTT Topic 样例和 JSON Payload 样例推导本地 SemanticPoint 与 MQTT Binding 草稿。
- 边界:只做本地文本与 JSON 结构推导;不连接生产 Broker,不接收或保存业务数据样本到 SaaS,不加入租户、计费、License 或付费模板逻辑。
- 验收:UNS Topic、非标准 Topic、缺 timestamp、嵌套 payload 均有测试覆盖;导入结果生成 assetPath、valueField、timestampField、qualityField 候选;缺失单位、量纲、资产归属时显式标记待补全。
- 闭环记录:新增
MqttTopicPayloadImporter,/semantic-modeling页面新增 D3 导入区;Payload 样本只在本地输入框参与推导,模型元数据仅记录payloadSampleStored=false。
- 目标:支持离线 OPC UA NodeSet 导入入口,生成本地资产、SemanticPoint 与 OPC UA Binding 草稿。
- 边界:只解析本地 NodeSet 文本和样例;不连接真实现场、不接收业务遥测、不加入租户、计费、License 或付费模板逻辑。
- 验收:导入结果保留 NodeId、BrowseName、DataType、EngineeringUnits、References;缺失工程单位、重复节点和非法 XML 有结构化诊断;覆盖对应测试。
- 闭环记录:新增
OpcUaNodeSetImporter,/semantic-modeling页面新增 D4 离线导入区,测试覆盖样例导入、追溯字段、缺单位诊断和无效 NodeSet。
- 目标:工作台可把本地 Semantic Workspace 提交到 SaaS Workspace API,并展示校验结果、生成任务状态和工件引用。
- 边界:只消费 SaaS Workspace 契约;不在开源工作台实现云端设备管理、遥测接收、计费、License 或商业 Copilot 编排。
- 验收:覆盖任务创建、运行中刷新、成功返回工件、失败、校验失败和不支持目标预览;设备入口只能跳转用户自有 IoTSharp 实例。
- 闭环记录:新增
SemanticWorkspaceGenerationCoordinator,/semantic-modeling页面新增生成任务区,测试覆盖任务状态和工件引用。
- ✅ UI-001:三栏骨架已固定。
- ✅ UI-002:账户入口已收敛为本地连接菜单,商业账户/支付逻辑已迁出开源外壳。
- ✅ UI-003 与 UI-004:能力中心和设置中心已落地。
- ✅ UI-005 到 UI-008:输入器上下文、任务计划、右侧 Tabs、工作区总览已补齐。
- ✅ UI-009 与 UI-010:插件贡献点和 UI 质量验收已闭环。
- ✅ UI-011 / D1:语义建模 UI 信息架构已落地。
- ✅ UI-012 / D2:Modbus 点表导入已落地。
- ✅ UI-013 / D3:MQTT Topic / Payload 导入已落地。
- ✅ UI-014 / D4:OPC UA 离线 NodeSet 导入已落地。
- ✅ UI-015 / D5:Semantic Workspace 生成任务触发已落地。
external/IoTCoWork不再包含账户余额、充值、支付二维码、订单轮询或 SaaS 账号客户端实现。IoTCoWork.App仅保留本地 AI Gateway 代理/api/iotsharp/ai/{**path},请求头统一为X-IoTCoWork-AI-*。- 商业账户、钱包、充值订单和用量摘要的扩展骨架位于上层仓库
src/IoTSharp.SaaS/Identity/Workbench。 - 构建验证:
dotnet test external\IoTCoWork\tests\IoTCoWork.Workbench.Core.Tests\IoTCoWork.Workbench.Core.Tests.csproj --no-restore通过,19 passed;此前dotnet build .\external\IoTCoWork\IoTCoWork.Workbench\IoTCoWork.Workbench.csproj --no-restore、dotnet build .\external\IoTCoWork\IoTCoWork.App\IoTCoWork.App.csproj --no-restore、dotnet build .\IoTSharp.SaaS.slnx --no-restore -m:1均已通过;全仓构建仅保留既有 NuGet 版本解析与System.Security.Cryptography.Xml漏洞告警。