跳到主要内容

用 AI 完成第一个可运行应用

这一课从一个真正的空白项目开始。你负责创建项目壳、确认 AI 的修改并启动验收;AI 负责创建第一张操作员页面和多语言文案。

完成后,你会得到一个名为“包装工作站”的应用。它能在运行页显示工作站名称、模拟模式、当前状态和包装计数,但还不会控制任何设备。

本节目标

  • 在应用中心创建空白项目
  • 用 AI 创建并校验第一张 .qxpage 页面
  • 看懂 AI 修改了哪些资源
  • 人工把页面设为首页
  • 启动应用并从运行页验收

只需要先懂三个概念

概念现在只需知道
App一个独立的 Theseus 工程,包含页面、对象、Graph 和配置。
Page操作员在运行终端看到的 HMI 画面,文件扩展名是 .qxpage
Widget页面上的标题、状态文字、数字和按钮等可视元素。

AI Command Center 只能修改当前已打开的 App,不能替你在应用中心创建、导入或注册项目。因此第一步必须由你完成。

开始前

  • 使用 Theseus 桌面端;应用创建和 AI 工程工具不在 runtime-only 浏览器中提供。
  • AI 输入区已经能选择模型。如果没有可用模型,先完成 AI 提供方设置
  • 准备并选择一个内容为空的项目目录作为工作区。

第 1 步:创建“包装工作站”

  1. 在应用中心点击 创建
  2. 选择 空白项目
  3. App 名称填写 包装工作站
  4. 在工作区路径中选择刚才准备的空项目目录。不要留空,也不要选择已有文件的目录。
  5. 点击 保存。创建成功后会自动进入编辑器。

空白项目只创建基础配置,不自带页面。左侧 资源(Resources)→ 页面(Pages) 为空是正常现象。

第 2 步:把目标交给 AI

点击标题栏的 AI 图标,或按 Cmd+I(macOS)/ Ctrl+I(Windows、Linux),打开 AI Command Center。新建对话,在输入区输入 @ 并选择 qxpage skill,然后粘贴下面的指令:

目标:为当前“包装工作站”App 创建第一张可运行的操作员首页。

页面内容:
- 页面标题“包装工作站”
- 明确显示“模拟模式”
- 状态显示“未启动”
- 包装计数显示 0
- 使用清晰、克制、便于现场扫读的布局

范围:
- 新增 pages/packaging-station.qxpage
- 为页面可见文案补充当前 app 的 i18n.json 中文和英文翻译
- 不修改 manifest.json、objects.json、variables.json、Graph、自定义 C#、PLC、Pulsar 或 Safety

要求:
- 使用当前编辑器支持的原生控件,并保持结构可在属性面板中检查
- 不生成物理设备动作,也不放置看似能启动真实设备的按钮
- 完成后校验页面和 i18n.json
- 最后列出修改的文件、页面中的主要 Widget,以及校验结果

这条指令把目标、范围、禁止项和验收结果都说清楚了。以后交给 AI 的工程任务也尽量保持这个结构。

本节的主要工程产物

发送任务前,先打开 Git 面板或任务详情,记下工作区已经存在的改动。任务详情显示的是整个当前工作区,不是本轮 AI 任务的独占清单。

这一步的主要工程产物是:

  • pages/packaging-station.qxpage
  • i18n.json

AI 可能读取其他配置来理解当前 App;会话结束后,AGENTS.md 的自动管理区也可能记录稳定的设计信息。完成后打开全屏 AI Command Center 右上角的任务详情,将当前文件清单与刚才记录的基线比较。

如果出现 objects.json.qxgraph.cspulsar.json 或 PLC 文件,先不要运行。先让 AI 解释每项改动的来源;只有确认某项是本轮任务产生且超出范围时,才恢复那一项。不要删除或覆盖任务开始前已经存在、来源不明或属于他人的改动。

第 3 步:在编辑器中检查

AI 保存文件后,资源视图会自动刷新。按下面顺序检查:

  1. 左侧 资源 → 页面 出现 packaging-station
  2. 双击页面,确认画布上有标题、模拟模式、状态和计数。
  3. 点击画布中的 Widget,右侧属性面板应显示可理解的 ID 和内容字段。
  4. 打开底部问题(Problems),确认该页面和 i18n.json 没有错误。
  5. 在 AI 最终回复中核对文件清单与编辑器看到的内容一致。

如果你在 AI 修改前已经打开并手工改过同一个页面,编辑器会保留未保存草稿并提示磁盘冲突。先决定保留哪一份,不要直接覆盖。

人工微调:把页面设为首页

AI 工程工具不负责 App 的创建和注册元数据。由你完成这个小但关键的决定:

  1. 资源 → 页面中右键 packaging-station
  2. 选择 设为首页
  3. 确认页面名称旁出现灰色的“首页”标记。

首页决定应用中心的 打开运行页 和 Player 最终打开哪一页。Theseus 不会在未配置首页时随便选择第一页。

第 4 步:启动并验收

  1. 确认页面已保存;Tab 标题不再显示未保存圆点。
  2. 在标题栏运行控制组点击 开始(Start 图标)。
  3. 等待状态变为 运行中
  4. 打开左上角 App 菜单,选择 返回应用中心
  5. 在“包装工作站”的应用卡片上点击 打开运行页

验收结果应同时满足:

  • 运行页直接打开 packaging-station 首页
  • 标题、模拟模式、未启动状态和计数 0 都能看到
  • 页面没有真实设备控制入口
  • 刷新运行页后仍能正常加载

安全边界

注意

这一课只做静态模拟画面。不要把“未启动”改成真实设备状态,也不要让 AI 猜测 PLC 地址、轴、IO、相机或联锁含义。物理设备和业务语义必须由工程人员明确提供后,才能进入对象和 Graph 设计。

页面看起来正确不代表设备逻辑正确。运行前仍要人工确认 AI 没有创建隐藏动作或越界文件。

出问题时怎么恢复

症状处理
没有可用模型打开 设置(Settings) 中的 AI 提供方设置,完成认证或模型刷新。
资源中没出现新页面文件(Files) 视图确认文件是否存在;若当前页面有未保存冲突,先处理冲突,再使用当前 Tab 的刷新操作。
问题中出现页面错误在 AI 输入区 @ 引用 pages/packaging-station.qxpage,要求“只修复当前诊断,不增加功能”,然后再次检查问题。
打开运行页提示未配置首页回到资源,右键目标页面并选择设为首页
AI 似乎修改了对象、Graph 或脚本不要启动。先和任务开始前的基线比较并让 AI 解释;只恢复确认由本轮任务产生的越界改动,保留原有和来源不明的改动。

下一步

下一课会在这张页面上加入页面变量、按钮和 Page Method,并让你亲手完成一次小修改:页面变量、按钮与 Page Method