agentworkshop 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (895) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +631 -0
  2. package/.AgentWorkShop/prompts/lead-supervise.md +42 -0
  3. package/.AgentWorkShop/prompts/mode-goal.md +26 -0
  4. package/.AgentWorkShop/prompts/mode-loop.md +10 -0
  5. package/.AgentWorkShop/prompts/mode-pipeline.md +16 -0
  6. package/.AgentWorkShop/prompts/peer-lead-roster.md +3 -0
  7. package/.AgentWorkShop/prompts/peer-message.md +14 -0
  8. package/.AgentWorkShop/prompts/peer-reply-optional.md +2 -0
  9. package/.AgentWorkShop/prompts/peer-reply-required.md +8 -0
  10. package/.AgentWorkShop/prompts/scenario-default.md +11 -0
  11. package/.AgentWorkShop/prompts/system-manual.md +18 -0
  12. package/.AgentWorkShop/prompts/team-roster.md +9 -0
  13. package/.AgentWorkShop/prompts/worker-workflow.md +19 -0
  14. package/.env.example +34 -0
  15. package/README-zh.md +424 -0
  16. package/README.md +424 -0
  17. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.json +1 -0
  18. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/1459e6269990a5d229b9228c8b2f62ffaa7d350068380ae8b875fee0db45cca6.source +180 -0
  19. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/c2991e909c70c5c12b90a407c7adcf63384c51668a2b334e6e047fa675c268fe.source +305 -0
  20. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/e09129039d1e27e3fac24becc9bdafd2d1a7c8049bff24173df007be865f0165.source +264 -0
  21. package/app/.mimosa/hook-status/sess_05189059-e42d-4188-8911-4f7baabe009b-28ef7c75ea.json +14 -0
  22. package/app/app.vue +139 -0
  23. package/app/assets/css/main.css +1257 -0
  24. package/app/components/AppHeader.vue +675 -0
  25. package/app/components/AppSidebar.vue +286 -0
  26. package/app/components/AwChart.vue +44 -0
  27. package/app/components/AwLogo.vue +75 -0
  28. package/app/components/workshop/A2aRpcDebugger.vue +237 -0
  29. package/app/components/workshop/AgentInspectorDrawer.vue +424 -0
  30. package/app/components/workshop/AgentLanesView.vue +947 -0
  31. package/app/components/workshop/ArtifactCard.vue +120 -0
  32. package/app/components/workshop/AssetLibrary.vue +450 -0
  33. package/app/components/workshop/ChannelSessionList.vue +593 -0
  34. package/app/components/workshop/CommandPalette.vue +270 -0
  35. package/app/components/workshop/Composer.vue +731 -0
  36. package/app/components/workshop/DeviceTwinPanel.vue +607 -0
  37. package/app/components/workshop/EventBlock.vue +602 -0
  38. package/app/components/workshop/FileSelectorModal.vue +188 -0
  39. package/app/components/workshop/InspectorPanel.vue +265 -0
  40. package/app/components/workshop/LiveAgentBar.vue +362 -0
  41. package/app/components/workshop/MemoryPanel.vue +364 -0
  42. package/app/components/workshop/MentionHoverCard.vue +155 -0
  43. package/app/components/workshop/MultiChannelView.vue +189 -0
  44. package/app/components/workshop/PaneSplitter.vue +142 -0
  45. package/app/components/workshop/StatsPanel.vue +168 -0
  46. package/app/components/workshop/TaskBoardView.vue +636 -0
  47. package/app/components/workshop/TaskInspectorDrawer.vue +390 -0
  48. package/app/components/workshop/TranscriptTimeline.vue +545 -0
  49. package/app/components/workshop/blocks/ClusterArtifact.vue +77 -0
  50. package/app/components/workshop/blocks/ClusterError.vue +85 -0
  51. package/app/components/workshop/blocks/ClusterLife.vue +87 -0
  52. package/app/components/workshop/blocks/ClusterMember.vue +93 -0
  53. package/app/components/workshop/blocks/ClusterMemory.vue +84 -0
  54. package/app/components/workshop/blocks/ClusterOther.vue +67 -0
  55. package/app/components/workshop/blocks/ClusterRoute.vue +359 -0
  56. package/app/components/workshop/blocks/ClusterStatus.vue +147 -0
  57. package/app/components/workshop/blocks/ClusterStream.vue +325 -0
  58. package/app/components/workshop/blocks/ClusterTask.vue +151 -0
  59. package/app/components/workshop/blocks/ClusterTool.vue +158 -0
  60. package/app/components/workshop/lanes/LaneBlocks.vue +149 -0
  61. package/app/components/workshop/terminal/OmpTerminalPanel.vue +1010 -0
  62. package/app/components/workshop/town/ModelPreview3D.vue +276 -0
  63. package/app/components/workshop/town/TownScene.ts +1355 -0
  64. package/app/components/workshop/town/TownScene3D.ts +4533 -0
  65. package/app/components/workshop/town/TownView.vue +7071 -0
  66. package/app/composables/useCodeCopy.ts +30 -0
  67. package/app/composables/useHttp.ts +8 -0
  68. package/app/composables/useRouteMeta.ts +50 -0
  69. package/app/composables/useSiteConfig.ts +21 -0
  70. package/app/composables/workshop/apiClient.ts +95 -0
  71. package/app/composables/workshop/useCharacterAssets.ts +292 -0
  72. package/app/composables/workshop/useClusteredBlocks.ts +150 -0
  73. package/app/composables/workshop/useComposerBus.ts +16 -0
  74. package/app/composables/workshop/useDaqStream.ts +379 -0
  75. package/app/composables/workshop/useDcwStream.ts +300 -0
  76. package/app/composables/workshop/useDeviceTwins.ts +147 -0
  77. package/app/composables/workshop/useEventBlocks.ts +662 -0
  78. package/app/composables/workshop/useLocalTime.ts +33 -0
  79. package/app/composables/workshop/useOpsLog.ts +164 -0
  80. package/app/composables/workshop/useSceneLayouts.ts +166 -0
  81. package/app/composables/workshop/useTownBus.ts +47 -0
  82. package/app/composables/workshop/useVisibleInterval.ts +42 -0
  83. package/app/composables/workshop/useWorkshopApi.ts +224 -0
  84. package/app/composables/workshop/useWorkshopWs.ts +113 -0
  85. package/app/config/index.ts +66 -0
  86. package/app/config/schema.ts +68 -0
  87. package/app/error.vue +76 -0
  88. package/app/layouts/default.vue +100 -0
  89. package/app/layouts/town.vue +16 -0
  90. package/app/pages/daq/[id].vue +796 -0
  91. package/app/pages/daq/index.vue +2577 -0
  92. package/app/pages/dcw/[id].vue +2259 -0
  93. package/app/pages/dcw/index.vue +1079 -0
  94. package/app/pages/index.vue +830 -0
  95. package/app/pages/logs/index.vue +621 -0
  96. package/app/pages/monitor.vue +665 -0
  97. package/app/pages/settings.vue +757 -0
  98. package/app/pages/tokens.vue +610 -0
  99. package/app/pages/town.vue +145 -0
  100. package/app/pages/users.vue +257 -0
  101. package/app/pages/workshop/agents.vue +382 -0
  102. package/app/pages/workshop/channel-templates.vue +456 -0
  103. package/app/pages/workshop/index.vue +604 -0
  104. package/app/pages/workshop/teams.vue +448 -0
  105. package/app/pages/workshop/w/[wsId].vue +516 -0
  106. package/app/plugins/http.ts +71 -0
  107. package/app/plugins/locale-restore.client.ts +13 -0
  108. package/app/plugins/runtime-config.client.ts +65 -0
  109. package/app/plugins/session-restore.client.ts +24 -0
  110. package/app/plugins/theme.client.ts +15 -0
  111. package/app/stores/app.ts +32 -0
  112. package/app/stores/route-trail.ts +45 -0
  113. package/app/stores/runtime-config.ts +212 -0
  114. package/app/stores/workshop/connection.ts +184 -0
  115. package/app/stores/workshop/entities.ts +350 -0
  116. package/app/stores/workshop/events.ts +292 -0
  117. package/app/stores/workshop/user.ts +176 -0
  118. package/app/stores/workshop/workspaces.ts +133 -0
  119. package/bin/aw.mjs +13 -0
  120. package/cli/aw.mjs +184 -0
  121. package/cli/commands/build.mjs +33 -0
  122. package/cli/commands/config.mjs +157 -0
  123. package/cli/commands/dev.mjs +74 -0
  124. package/cli/commands/doctor.mjs +120 -0
  125. package/cli/commands/home.mjs +75 -0
  126. package/cli/commands/init.mjs +150 -0
  127. package/cli/commands/register.mjs +123 -0
  128. package/cli/commands/start.mjs +106 -0
  129. package/cli/commands/status.mjs +67 -0
  130. package/cli/commands/update.mjs +116 -0
  131. package/cli/commands/version.mjs +32 -0
  132. package/cli/core/args.mjs +95 -0
  133. package/cli/core/context.mjs +264 -0
  134. package/cli/core/errors.mjs +18 -0
  135. package/cli/core/help.mjs +68 -0
  136. package/cli/core/logger.mjs +40 -0
  137. package/cli/core/registry.mjs +111 -0
  138. package/config.yml +70 -0
  139. package/docker-compose.yml +34 -0
  140. package/docs/cli.md +220 -0
  141. package/i18n/dicts/_en.json +1097 -0
  142. package/i18n/dicts/_en2.json +300 -0
  143. package/i18n/dicts/_en3.json +102 -0
  144. package/i18n/dicts/_en4.json +115 -0
  145. package/i18n/dicts/_en5.json +33 -0
  146. package/i18n/dicts/a2aRpcDebugger.json +10 -0
  147. package/i18n/dicts/agentInspectorDrawer.json +25 -0
  148. package/i18n/dicts/agentLanesView.json +57 -0
  149. package/i18n/dicts/agents.json +27 -0
  150. package/i18n/dicts/appHeader.json +7 -0
  151. package/i18n/dicts/appSidebar.json +1 -0
  152. package/i18n/dicts/artifactCard.json +6 -0
  153. package/i18n/dicts/assetLibrary.json +18 -0
  154. package/i18n/dicts/awChart.json +1 -0
  155. package/i18n/dicts/awLogo.json +1 -0
  156. package/i18n/dicts/channelSessionList.json +45 -0
  157. package/i18n/dicts/clusterArtifact.json +4 -0
  158. package/i18n/dicts/clusterError.json +3 -0
  159. package/i18n/dicts/clusterLife.json +5 -0
  160. package/i18n/dicts/clusterMember.json +3 -0
  161. package/i18n/dicts/clusterMemory.json +3 -0
  162. package/i18n/dicts/clusterOther.json +3 -0
  163. package/i18n/dicts/clusterRoute.json +15 -0
  164. package/i18n/dicts/clusterStatus.json +3 -0
  165. package/i18n/dicts/clusterStream.json +3 -0
  166. package/i18n/dicts/clusterTask.json +10 -0
  167. package/i18n/dicts/clusterTool.json +3 -0
  168. package/i18n/dicts/commandPalette.json +16 -0
  169. package/i18n/dicts/composer.json +38 -0
  170. package/i18n/dicts/ctpl.json +32 -0
  171. package/i18n/dicts/daq.json +157 -0
  172. package/i18n/dicts/daqDetail.json +55 -0
  173. package/i18n/dicts/dcw.json +68 -0
  174. package/i18n/dicts/dcwDetail.json +199 -0
  175. package/i18n/dicts/deviceTwinPanel.json +12 -0
  176. package/i18n/dicts/eventBlock.json +8 -0
  177. package/i18n/dicts/fileSelectorModal.json +6 -0
  178. package/i18n/dicts/inspectorPanel.json +12 -0
  179. package/i18n/dicts/laneBlocks.json +6 -0
  180. package/i18n/dicts/liveAgentBar.json +8 -0
  181. package/i18n/dicts/logs.json +39 -0
  182. package/i18n/dicts/memoryPanel.json +20 -0
  183. package/i18n/dicts/mentionHoverCard.json +4 -0
  184. package/i18n/dicts/modelPreview3D.json +1 -0
  185. package/i18n/dicts/monitor.json +5 -0
  186. package/i18n/dicts/multiChannelView.json +13 -0
  187. package/i18n/dicts/ompTerminalPanel.json +7 -0
  188. package/i18n/dicts/paneSplitter.json +3 -0
  189. package/i18n/dicts/settings.json +1 -0
  190. package/i18n/dicts/statsPanel.json +6 -0
  191. package/i18n/dicts/taskBoardView.json +22 -0
  192. package/i18n/dicts/taskInspectorDrawer.json +19 -0
  193. package/i18n/dicts/teams.json +33 -0
  194. package/i18n/dicts/tokens.json +30 -0
  195. package/i18n/dicts/town.json +7 -0
  196. package/i18n/dicts/townView.json +209 -0
  197. package/i18n/dicts/transcriptTimeline.json +31 -0
  198. package/i18n/dicts/users.json +15 -0
  199. package/i18n/dicts/wsHome.json +33 -0
  200. package/i18n/dicts/wsView.json +15 -0
  201. package/i18n/locales/en.ts +1737 -0
  202. package/i18n/locales/zh-CN.ts +1736 -0
  203. package/nuxt.config.ts +209 -0
  204. package/package.json +123 -0
  205. package/public/assets/game/character/bot.png +0 -0
  206. package/public/assets/game/character/device-3d.glb +0 -0
  207. package/public/assets/game/character/hero-3d.glb +0 -0
  208. package/public/assets/game/character/hero-anime-1.glb +0 -0
  209. package/public/assets/game/character/hero-anime-2.glb +0 -0
  210. package/public/assets/game/character/hero-anime-3.glb +0 -0
  211. package/public/assets/game/character/hero-anime-4.glb +0 -0
  212. package/public/assets/game/character/knight.png +0 -0
  213. package/public/assets/game/character/mage.png +0 -0
  214. package/public/assets/game/coin.png +0 -0
  215. package/public/assets/game/devices/agv.glb +0 -0
  216. package/public/assets/game/devices/caster.glb +0 -0
  217. package/public/assets/game/devices/device-console.glb +0 -0
  218. package/public/assets/game/devices/device-robot-arm.glb +0 -0
  219. package/public/assets/game/devices/device-scanner.glb +0 -0
  220. package/public/assets/game/devices/extruder.glb +0 -0
  221. package/public/assets/game/devices/mdo.glb +0 -0
  222. package/public/assets/game/devices/power-cabinet.glb +0 -0
  223. package/public/assets/game/devices/pump.glb +0 -0
  224. package/public/assets/game/devices/tdo.glb +0 -0
  225. package/public/assets/game/devices/thickness-scanner.glb +0 -0
  226. package/public/assets/game/devices/winder.glb +0 -0
  227. package/public/assets/game/npc/boltnu-sheet.png +0 -0
  228. package/public/assets/game/npc/fluttaflap-sheet.png +0 -0
  229. package/public/assets/game/npc/rockitten-sheet.png +0 -0
  230. package/public/assets/game/npc/tux-sheet.png +0 -0
  231. package/public/assets/game/player/misa-back-walk.000.png +0 -0
  232. package/public/assets/game/player/misa-back-walk.001.png +0 -0
  233. package/public/assets/game/player/misa-back-walk.002.png +0 -0
  234. package/public/assets/game/player/misa-back-walk.003.png +0 -0
  235. package/public/assets/game/player/misa-back.png +0 -0
  236. package/public/assets/game/player/misa-front-walk.000.png +0 -0
  237. package/public/assets/game/player/misa-front-walk.001.png +0 -0
  238. package/public/assets/game/player/misa-front-walk.002.png +0 -0
  239. package/public/assets/game/player/misa-front-walk.003.png +0 -0
  240. package/public/assets/game/player/misa-front.png +0 -0
  241. package/public/assets/game/player/misa-left-walk.000.png +0 -0
  242. package/public/assets/game/player/misa-left-walk.001.png +0 -0
  243. package/public/assets/game/player/misa-left-walk.002.png +0 -0
  244. package/public/assets/game/player/misa-left-walk.003.png +0 -0
  245. package/public/assets/game/player/misa-left.png +0 -0
  246. package/public/assets/game/player/misa-right-walk.000.png +0 -0
  247. package/public/assets/game/player/misa-right-walk.001.png +0 -0
  248. package/public/assets/game/player/misa-right-walk.002.png +0 -0
  249. package/public/assets/game/player/misa-right-walk.003.png +0 -0
  250. package/public/assets/game/player/misa-right.png +0 -0
  251. package/public/assets/game/player-sheet.png +0 -0
  252. package/public/assets/game/tuxemon-town.json +1 -0
  253. package/public/assets/game/tuxmon-sample-32px-extruded.png +0 -0
  254. package/public/assets/game/wuwa/scene-map.png +0 -0
  255. package/public/assets/game/wuwa/world-far.png +0 -0
  256. package/public/assets/game/wuwa/world-middle.png +0 -0
  257. package/public/assets/game/wuwa/world-near.png +0 -0
  258. package/public/assets/game/wuwa/wu-aura.png +0 -0
  259. package/public/assets/game/wuwa/wu-lead.png +0 -0
  260. package/public/assets/game/wuwa/wu-ring.png +0 -0
  261. package/public/assets/game/wuwa/wu-slash.png +0 -0
  262. package/public/assets/game/wuwa/wu-worker-0.png +0 -0
  263. package/public/assets/game/wuwa/wu-worker-1.png +0 -0
  264. package/public/assets/game/wuwa/wu-worker-2.png +0 -0
  265. package/public/favicon.svg +14 -0
  266. package/public/scene/background/cyber-town-background.svg +110 -0
  267. package/scripts/_daq-realtime-probe.mjs +68 -0
  268. package/scripts/_daq-warn-probe.mjs +50 -0
  269. package/scripts/_dbg-agent-tools-audit.mjs +154 -0
  270. package/scripts/_dbg-agent-workflow-audit.mjs +177 -0
  271. package/scripts/_dbg-anim-verify.mjs +81 -0
  272. package/scripts/_dbg-audit-all-pages.mjs +43 -0
  273. package/scripts/_dbg-autoframe.mjs +103 -0
  274. package/scripts/_dbg-beacon-final.mjs +181 -0
  275. package/scripts/_dbg-bind-bidi-e2e.mjs +239 -0
  276. package/scripts/_dbg-callout-near.mjs +108 -0
  277. package/scripts/_dbg-chan-focus.mjs +49 -0
  278. package/scripts/_dbg-cleanup.mjs +31 -0
  279. package/scripts/_dbg-closedloop-ui-shot.mjs +61 -0
  280. package/scripts/_dbg-console-audit.mjs +61 -0
  281. package/scripts/_dbg-console-probe.mjs +23 -0
  282. package/scripts/_dbg-context-inject-audit.mjs +231 -0
  283. package/scripts/_dbg-crash-recovery.mjs +143 -0
  284. package/scripts/_dbg-crop-shot.mjs +16 -0
  285. package/scripts/_dbg-daq-acc-probe.mjs +24 -0
  286. package/scripts/_dbg-daq-attrib.mjs +34 -0
  287. package/scripts/_dbg-daq-bind-audit.mjs +119 -0
  288. package/scripts/_dbg-daq-cadence.mjs +104 -0
  289. package/scripts/_dbg-daq-debug.mjs +22 -0
  290. package/scripts/_dbg-daq-diag.mjs +33 -0
  291. package/scripts/_dbg-daq-e2e.mjs +171 -0
  292. package/scripts/_dbg-daq-film.mjs +136 -0
  293. package/scripts/_dbg-daq-filter-e2e.mjs +109 -0
  294. package/scripts/_dbg-daq-filter-e2e2.mjs +62 -0
  295. package/scripts/_dbg-daq-final-regression.mjs +78 -0
  296. package/scripts/_dbg-daq-full-check.mjs +179 -0
  297. package/scripts/_dbg-daq-line-note-verify.mjs +61 -0
  298. package/scripts/_dbg-daq-linebanner-audit.mjs +107 -0
  299. package/scripts/_dbg-daq-pages-shot.mjs +37 -0
  300. package/scripts/_dbg-daq-perf.mjs +61 -0
  301. package/scripts/_dbg-daq-probe.mjs +27 -0
  302. package/scripts/_dbg-daq-recipe-e2e.mjs +30 -0
  303. package/scripts/_dbg-daq-redesign-shot.mjs +88 -0
  304. package/scripts/_dbg-daq-rows-probe.mjs +26 -0
  305. package/scripts/_dbg-daq-rowstate-e2e.mjs +152 -0
  306. package/scripts/_dbg-daq-rowstate-shot.mjs +45 -0
  307. package/scripts/_dbg-daq-rowstate-shot2.mjs +38 -0
  308. package/scripts/_dbg-daq-tpl.mjs +144 -0
  309. package/scripts/_dbg-dash-console-check.mjs +49 -0
  310. package/scripts/_dbg-dash-deep-probe.mjs +61 -0
  311. package/scripts/_dbg-dash-hitpoint.mjs +44 -0
  312. package/scripts/_dbg-dash-live-shot.mjs +36 -0
  313. package/scripts/_dbg-dash-shot.mjs +21 -0
  314. package/scripts/_dbg-dashboard-shot.mjs +35 -0
  315. package/scripts/_dbg-dcw-audit.mjs +126 -0
  316. package/scripts/_dbg-dcw-card-e2e.mjs +108 -0
  317. package/scripts/_dbg-dcw-channel-ui.mjs +144 -0
  318. package/scripts/_dbg-dcw-examples.mjs +81 -0
  319. package/scripts/_dbg-dcw-light-shot.mjs +19 -0
  320. package/scripts/_dbg-dcw-line-audit.mjs +107 -0
  321. package/scripts/_dbg-dcw-pause-tpl-audit.mjs +161 -0
  322. package/scripts/_dbg-dcw-pause-ui.mjs +175 -0
  323. package/scripts/_dbg-dcw-scene.mjs +72 -0
  324. package/scripts/_dbg-dcw-shot2.mjs +14 -0
  325. package/scripts/_dbg-dcw-twin-e2e.mjs +192 -0
  326. package/scripts/_dbg-dt-interact.mjs +193 -0
  327. package/scripts/_dbg-error-probe.mjs +54 -0
  328. package/scripts/_dbg-filter-light-verify.mjs +54 -0
  329. package/scripts/_dbg-final-acceptance-2.mjs +72 -0
  330. package/scripts/_dbg-final-acceptance.mjs +192 -0
  331. package/scripts/_dbg-final-agent-e2e.mjs +151 -0
  332. package/scripts/_dbg-final-full-e2e.mjs +218 -0
  333. package/scripts/_dbg-final-line-e2e.mjs +173 -0
  334. package/scripts/_dbg-final-t6-hitl.mjs +38 -0
  335. package/scripts/_dbg-focus-range.mjs +115 -0
  336. package/scripts/_dbg-fresh-scene-e2e.mjs +125 -0
  337. package/scripts/_dbg-full-feature-e2e.mjs +219 -0
  338. package/scripts/_dbg-fullchain-e2e.mjs +178 -0
  339. package/scripts/_dbg-gate-debug.mjs +37 -0
  340. package/scripts/_dbg-gif-encode.mjs +111 -0
  341. package/scripts/_dbg-gizmo.mjs +95 -0
  342. package/scripts/_dbg-glass-probe.mjs +57 -0
  343. package/scripts/_dbg-glass-shot.mjs +50 -0
  344. package/scripts/_dbg-glass-sweep.mjs +25 -0
  345. package/scripts/_dbg-glb-probe.mjs +43 -0
  346. package/scripts/_dbg-hardening-probe.mjs +90 -0
  347. package/scripts/_dbg-hero-btn-probe.mjs +21 -0
  348. package/scripts/_dbg-hidden-check.mjs +21 -0
  349. package/scripts/_dbg-hitl-timeout-e2e.mjs +93 -0
  350. package/scripts/_dbg-hmi-audit.mjs +164 -0
  351. package/scripts/_dbg-home-repro.mjs +24 -0
  352. package/scripts/_dbg-home-stack.mjs +13 -0
  353. package/scripts/_dbg-huashu-survey.mjs +31 -0
  354. package/scripts/_dbg-huashu-survey2.mjs +35 -0
  355. package/scripts/_dbg-huashu-verify.mjs +25 -0
  356. package/scripts/_dbg-huashu-verify2.mjs +26 -0
  357. package/scripts/_dbg-hydration-detail.mjs +18 -0
  358. package/scripts/_dbg-i18n-debug.mjs +27 -0
  359. package/scripts/_dbg-i18n-debug2.mjs +26 -0
  360. package/scripts/_dbg-i18n-final.mjs +42 -0
  361. package/scripts/_dbg-i18n-scan.mjs +38 -0
  362. package/scripts/_dbg-infra-lifecycle.mjs +44 -0
  363. package/scripts/_dbg-line-aura-shots.mjs +54 -0
  364. package/scripts/_dbg-line-control-e2e.mjs +120 -0
  365. package/scripts/_dbg-line-gate-audit.mjs +108 -0
  366. package/scripts/_dbg-line-live-e2e.mjs +144 -0
  367. package/scripts/_dbg-line-scenario-e2e.mjs +256 -0
  368. package/scripts/_dbg-minimal-omp.mjs +77 -0
  369. package/scripts/_dbg-mode-nav.mjs +173 -0
  370. package/scripts/_dbg-mqtt-chain-e2e.mjs +90 -0
  371. package/scripts/_dbg-nav-rpg.mjs +84 -0
  372. package/scripts/_dbg-nav-shot.mjs +28 -0
  373. package/scripts/_dbg-nav.mjs +27 -0
  374. package/scripts/_dbg-opslog-e2e.mjs +121 -0
  375. package/scripts/_dbg-opslog-shots.mjs +62 -0
  376. package/scripts/_dbg-opt-team-e2e.mjs +133 -0
  377. package/scripts/_dbg-optimization-e2e.mjs +94 -0
  378. package/scripts/_dbg-orbit.mjs +58 -0
  379. package/scripts/_dbg-panesplitter-fix-check.mjs +62 -0
  380. package/scripts/_dbg-phase-e3-monitor.mjs +25 -0
  381. package/scripts/_dbg-pop-clamp-verify.mjs +77 -0
  382. package/scripts/_dbg-preset-e2e.mjs +116 -0
  383. package/scripts/_dbg-preview-console.mjs +28 -0
  384. package/scripts/_dbg-preview-minrepro.mjs +156 -0
  385. package/scripts/_dbg-preview-pixels.mjs +93 -0
  386. package/scripts/_dbg-quality-pages-e2e.mjs +84 -0
  387. package/scripts/_dbg-query-cancel.ts +12 -0
  388. package/scripts/_dbg-rail-tree-e2e.mjs +183 -0
  389. package/scripts/_dbg-real-driver-e2e.mjs +55 -0
  390. package/scripts/_dbg-redesign-shots.mjs +34 -0
  391. package/scripts/_dbg-restart-persist.mjs +41 -0
  392. package/scripts/_dbg-rollback-mgr-audit.mjs +169 -0
  393. package/scripts/_dbg-rpg.mjs +71 -0
  394. package/scripts/_dbg-sc001-dispatch.mjs +63 -0
  395. package/scripts/_dbg-scenario-final-shot.mjs +24 -0
  396. package/scripts/_dbg-scenario-phase-e2.mjs +75 -0
  397. package/scripts/_dbg-scenario-phase-e3.mjs +96 -0
  398. package/scripts/_dbg-scenario-phase1.mjs +90 -0
  399. package/scripts/_dbg-scenario-phase2.mjs +105 -0
  400. package/scripts/_dbg-scenario-phase3-monitor.mjs +48 -0
  401. package/scripts/_dbg-scenario-phase3.mjs +111 -0
  402. package/scripts/_dbg-scene-polish-shot.mjs +118 -0
  403. package/scripts/_dbg-selring-probe.mjs +47 -0
  404. package/scripts/_dbg-sideinfo.mjs +101 -0
  405. package/scripts/_dbg-splitter.mjs +88 -0
  406. package/scripts/_dbg-team-repro.mjs +76 -0
  407. package/scripts/_dbg-town-alarm-e2e.mjs +40 -0
  408. package/scripts/_dbg-town-beauty-shots.mjs +54 -0
  409. package/scripts/_dbg-town-daq-shot.mjs +26 -0
  410. package/scripts/_dbg-town-full-e2e.mjs +104 -0
  411. package/scripts/_dbg-town-gate.mjs +44 -0
  412. package/scripts/_dbg-town-ins-probe.mjs +37 -0
  413. package/scripts/_dbg-town-perf.mjs +50 -0
  414. package/scripts/_dbg-town-polish-shots.mjs +82 -0
  415. package/scripts/_dbg-town-realtime.mjs +42 -0
  416. package/scripts/_dbg-town-shot3.mjs +17 -0
  417. package/scripts/_dbg-town-truth.mjs +37 -0
  418. package/scripts/_dbg-town-truth2.mjs +27 -0
  419. package/scripts/_dbg-transform-audit.mjs +98 -0
  420. package/scripts/_dbg-trend-expand-test.mjs +38 -0
  421. package/scripts/_dbg-twindaq-focus.mjs +81 -0
  422. package/scripts/_dbg-ui-polish-shot.mjs +43 -0
  423. package/scripts/_dbg-ui-polish-verify1.mjs +92 -0
  424. package/scripts/_dbg-ui-polish-verify2.mjs +50 -0
  425. package/scripts/_dbg-ui-polish-verify3.mjs +51 -0
  426. package/scripts/_dbg-ui-polish-verify4.mjs +50 -0
  427. package/scripts/_dbg-ui-shot.mjs +26 -0
  428. package/scripts/_dbg-unify-shot.mjs +43 -0
  429. package/scripts/_dbg-uplink-probe.mjs +36 -0
  430. package/scripts/_dbg-wizard-preview-shot.mjs +58 -0
  431. package/scripts/_dbg-wizard-ui-e2e.mjs +93 -0
  432. package/scripts/_dbg-ws-probe.mjs +86 -0
  433. package/scripts/_dbg-ws-shot2.mjs +23 -0
  434. package/scripts/_dbg-wsdot-sanity.mjs +25 -0
  435. package/scripts/_dev-stack.mjs +46 -0
  436. package/scripts/_http-driver-probe.mjs +30 -0
  437. package/scripts/_lib-dcw-line.mjs +24 -0
  438. package/scripts/_mqtt-driver-probe.mjs +30 -0
  439. package/scripts/_newdriver-rest-probe.mjs +100 -0
  440. package/scripts/_node-state-probe.mjs +5 -0
  441. package/scripts/_opcua-driver-probe.mjs +31 -0
  442. package/scripts/_rtu-debug.mjs +41 -0
  443. package/scripts/_rtu-direct.mjs +6 -0
  444. package/scripts/_rtu-driver-probe.mjs +53 -0
  445. package/scripts/_rtu-mini-slave.mjs +63 -0
  446. package/scripts/_townview_style.css +1185 -0
  447. package/scripts/_townview_template.html +1215 -0
  448. package/scripts/_wizard-shots.mjs +90 -0
  449. package/scripts/acceptance-suite.py +207 -0
  450. package/scripts/api-live-e2e.mjs +467 -0
  451. package/scripts/build-anime-models.mjs +339 -0
  452. package/scripts/build-character-models.mjs +175 -0
  453. package/scripts/build-film-devices.mjs +227 -0
  454. package/scripts/build-model-3d.mjs +173 -0
  455. package/scripts/build-player-sheet.mjs +58 -0
  456. package/scripts/build-world-map.mjs +188 -0
  457. package/scripts/build-wuwa-assets.mjs +345 -0
  458. package/scripts/collab-live-test.py +177 -0
  459. package/scripts/debug-mcp-http.ts +64 -0
  460. package/scripts/demo-lead-worker.ts +256 -0
  461. package/scripts/demo-modes.ts +415 -0
  462. package/scripts/demo-omp-channel.ts +135 -0
  463. package/scripts/design-preflight.mjs +223 -0
  464. package/scripts/design-verify-templates.mjs +110 -0
  465. package/scripts/design-verify.mjs +170 -0
  466. package/scripts/dev-guard.mjs +74 -0
  467. package/scripts/dev-modbus-simulator.mjs +55 -0
  468. package/scripts/dev-opcua-simulator.mjs +57 -0
  469. package/scripts/dev-protocol-simulators.mjs +145 -0
  470. package/scripts/dev-window.cmd +6 -0
  471. package/scripts/device-line-restore.mjs +34 -0
  472. package/scripts/diag-lead-status.ts +101 -0
  473. package/scripts/e2e-a2a-steer-live.mjs +193 -0
  474. package/scripts/e2e-agent-channel-task.ts +151 -0
  475. package/scripts/e2e-agent-team.mjs +168 -0
  476. package/scripts/e2e-auth-matrix.mjs +119 -0
  477. package/scripts/e2e-channel-isolation.ts +325 -0
  478. package/scripts/e2e-dual-drive-comm.ts +259 -0
  479. package/scripts/e2e-lead-team-mgmt.ts +217 -0
  480. package/scripts/e2e-memory-persistence.ts +320 -0
  481. package/scripts/e2e-memory-system.ts +332 -0
  482. package/scripts/e2e-omp-modes.ts +274 -0
  483. package/scripts/e2e-omp-realtime.ts +258 -0
  484. package/scripts/e2e-omp-workspace.ts +180 -0
  485. package/scripts/e2e-parallel-execution.mjs +151 -0
  486. package/scripts/e2e-rest-memory.mjs +251 -0
  487. package/scripts/e2e-rest-robustness.mjs +177 -0
  488. package/scripts/e2e-resume-crash.mjs +254 -0
  489. package/scripts/e2e-tab-close.mjs +136 -0
  490. package/scripts/e2e-task-queue.ts +277 -0
  491. package/scripts/e2e-template-isolation.mjs +267 -0
  492. package/scripts/e2e-token-ui.mjs +149 -0
  493. package/scripts/final-soup-run.py +192 -0
  494. package/scripts/final-soup-watch.py +83 -0
  495. package/scripts/home-bootstrap.mjs +117 -0
  496. package/scripts/i18n-codemod.mjs +173 -0
  497. package/scripts/i18n-fix-en.py +28 -0
  498. package/scripts/i18n-fix-en2.py +31 -0
  499. package/scripts/i18n-merge.mjs +67 -0
  500. package/scripts/omp-real-test.py +328 -0
  501. package/scripts/smoke-optimization-verify.ts +72 -0
  502. package/scripts/start.mjs +60 -0
  503. package/scripts/test-a2a-relay.mjs +222 -0
  504. package/scripts/test-a2a-types.ts +296 -0
  505. package/scripts/test-agent-brain.ts +135 -0
  506. package/scripts/test-agent-multi-channel.ts +160 -0
  507. package/scripts/test-agent-runtime.ts +348 -0
  508. package/scripts/test-api-client.ts +108 -0
  509. package/scripts/test-api-suite.mjs +271 -0
  510. package/scripts/test-block-consumption.mjs +194 -0
  511. package/scripts/test-channel-routing.ts +301 -0
  512. package/scripts/test-cmd-render.mjs +218 -0
  513. package/scripts/test-collab-e2e.mjs +136 -0
  514. package/scripts/test-collab-omp.mjs +192 -0
  515. package/scripts/test-dedup-logic.ts +132 -0
  516. package/scripts/test-dual-drive.ts +227 -0
  517. package/scripts/test-e2e-collaboration.ts +262 -0
  518. package/scripts/test-e2e-monitor.ts +192 -0
  519. package/scripts/test-event-history.ts +112 -0
  520. package/scripts/test-event-persistence.mjs +169 -0
  521. package/scripts/test-exec-modes.ts +316 -0
  522. package/scripts/test-fifo-realtime.mjs +193 -0
  523. package/scripts/test-final-e2e.mjs +290 -0
  524. package/scripts/test-full-system.ts +439 -0
  525. package/scripts/test-game-session.ts +160 -0
  526. package/scripts/test-goal-summary.ts +202 -0
  527. package/scripts/test-harness-liveness.ts +109 -0
  528. package/scripts/test-harness-terminal.ts +164 -0
  529. package/scripts/test-header-trail.mjs +95 -0
  530. package/scripts/test-hitl.ts +360 -0
  531. package/scripts/test-koda-restyle.mjs +105 -0
  532. package/scripts/test-lane-history-live.mjs +103 -0
  533. package/scripts/test-lane-raw.ts +67 -0
  534. package/scripts/test-lanes-history-render.mjs +138 -0
  535. package/scripts/test-loop-omp.mjs +154 -0
  536. package/scripts/test-mcp-tools.ts +285 -0
  537. package/scripts/test-mdlite.ts +53 -0
  538. package/scripts/test-memory-dynamic.ts +99 -0
  539. package/scripts/test-memory-maintenance.ts +117 -0
  540. package/scripts/test-memory-vector.ts +154 -0
  541. package/scripts/test-memory.ts +431 -0
  542. package/scripts/test-mock-collab.mjs +226 -0
  543. package/scripts/test-modern-render.mjs +174 -0
  544. package/scripts/test-omp-terminal.mjs +187 -0
  545. package/scripts/test-orchestration.ts +425 -0
  546. package/scripts/test-persistence-lazy.ts +323 -0
  547. package/scripts/test-prompt-system.mjs +181 -0
  548. package/scripts/test-prompts-loader.ts +56 -0
  549. package/scripts/test-protocol.ts +156 -0
  550. package/scripts/test-real-scenario.mjs +290 -0
  551. package/scripts/test-route-reason.mjs +111 -0
  552. package/scripts/test-scheduler-loop.ts +469 -0
  553. package/scripts/test-stream-render.ts +37 -0
  554. package/scripts/test-task-drawer.mjs +204 -0
  555. package/scripts/test-task-engine.ts +433 -0
  556. package/scripts/test-task-invariants.mjs +169 -0
  557. package/scripts/test-terminal-e2e.mjs +264 -0
  558. package/scripts/test-town-3d.mjs +121 -0
  559. package/scripts/test-town-drag.mjs +218 -0
  560. package/scripts/test-town-layout.mjs +200 -0
  561. package/scripts/test-town-page.mjs +136 -0
  562. package/scripts/test-town-scene-math.ts +169 -0
  563. package/scripts/test-town-twin.mjs +121 -0
  564. package/scripts/test-town-upload.mjs +89 -0
  565. package/scripts/test-town-user-flow.mjs +619 -0
  566. package/scripts/test-town-world.mjs +76 -0
  567. package/scripts/test-town-wuwa.mjs +198 -0
  568. package/scripts/test-user-isolation.mjs +193 -0
  569. package/scripts/test-workshop-db.ts +280 -0
  570. package/scripts/test-workshop-entries.ts +370 -0
  571. package/scripts/test-workspace-api.ts +329 -0
  572. package/scripts/test-ws-aep.mjs +187 -0
  573. package/scripts/test-ws-protocol.ts +134 -0
  574. package/scripts/test-ws-stress.mjs +208 -0
  575. package/scripts/town-demo-seed.mjs +75 -0
  576. package/scripts/town-scene-clear.mjs +56 -0
  577. package/scripts/ui-screenshot.mjs +128 -0
  578. package/scripts/verify-a2a-live.mjs +124 -0
  579. package/scripts/verify-exec-modes-report.ts +248 -0
  580. package/scripts/verify-game.mjs +477 -0
  581. package/scripts/verify-lead-mail.ts +188 -0
  582. package/scripts/verify-page-smoke.mjs +87 -0
  583. package/scripts/verify-ws-events.mjs +123 -0
  584. package/scripts/ws-test.mjs +176 -0
  585. package/scripts/ws-test.py +4 -0
  586. package/server/api/health.get.ts +32 -0
  587. package/server/api/mcp/workshop.ts +78 -0
  588. package/server/api/metrics.ts +75 -0
  589. package/server/api/system/config.get.ts +12 -0
  590. package/server/api/system/monitor/terminal/ws.ts +177 -0
  591. package/server/api/system/monitor/terminate.post.ts +36 -0
  592. package/server/api/system/monitor.get.ts +13 -0
  593. package/server/api/system/settings/events.get.ts +28 -0
  594. package/server/api/system/settings/index.get.ts +14 -0
  595. package/server/api/system/settings/index.patch.ts +22 -0
  596. package/server/api/system/settings/reset.post.ts +12 -0
  597. package/server/api/users/[id].delete.ts +11 -0
  598. package/server/api/users/[id].get.ts +11 -0
  599. package/server/api/users/[id].put.ts +14 -0
  600. package/server/api/users/index.get.ts +13 -0
  601. package/server/api/users/index.post.ts +13 -0
  602. package/server/api/users/login.post.ts +11 -0
  603. package/server/api/users/logout.post.ts +9 -0
  604. package/server/api/users/me.get.ts +9 -0
  605. package/server/api/users/register.post.ts +11 -0
  606. package/server/api/users/tokens/[id]/token.get.ts +11 -0
  607. package/server/api/users/tokens/[id].delete.ts +11 -0
  608. package/server/api/users/tokens/[id].patch.ts +14 -0
  609. package/server/api/users/tokens/index.get.ts +9 -0
  610. package/server/api/users/tokens/index.post.ts +13 -0
  611. package/server/api/workshop/[...path].ts +13 -0
  612. package/server/api/workshop/a2a/[agentId]/card/index.get.ts +75 -0
  613. package/server/api/workshop/a2a/[agentId]/rpc/index.post.ts +429 -0
  614. package/server/api/workshop/a2a/send.post.ts +28 -0
  615. package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +21 -0
  616. package/server/api/workshop/agent-tools/approvals/index.get.ts +18 -0
  617. package/server/api/workshop/agent-tools/bindings/[id].delete.ts +21 -0
  618. package/server/api/workshop/agent-tools/bindings/[id].patch.ts +14 -0
  619. package/server/api/workshop/agent-tools/bindings/index.get.ts +14 -0
  620. package/server/api/workshop/agent-tools/bindings/index.post.ts +20 -0
  621. package/server/api/workshop/agent-tools/invoke.post.ts +34 -0
  622. package/server/api/workshop/agents/[id].delete.ts +20 -0
  623. package/server/api/workshop/agents/[id].get.ts +19 -0
  624. package/server/api/workshop/agents/[id].patch.ts +30 -0
  625. package/server/api/workshop/agents/index.get.ts +13 -0
  626. package/server/api/workshop/agents/index.post.ts +29 -0
  627. package/server/api/workshop/agents/subscribe.post.ts +21 -0
  628. package/server/api/workshop/approvals/[id]/decide.post.ts +30 -0
  629. package/server/api/workshop/approvals/index.get.ts +22 -0
  630. package/server/api/workshop/assets/character/[id].delete.ts +33 -0
  631. package/server/api/workshop/assets/character/index.get.ts +17 -0
  632. package/server/api/workshop/assets/character/index.post.ts +87 -0
  633. package/server/api/workshop/assets/devices/[id].delete.ts +43 -0
  634. package/server/api/workshop/assets/devices/index.get.ts +103 -0
  635. package/server/api/workshop/assets/devices/index.post.ts +53 -0
  636. package/server/api/workshop/audit.get.ts +43 -0
  637. package/server/api/workshop/caller.ts +141 -0
  638. package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +31 -0
  639. package/server/api/workshop/channel-templates/[id].delete.ts +20 -0
  640. package/server/api/workshop/channel-templates/[id].get.ts +19 -0
  641. package/server/api/workshop/channel-templates/[id].patch.ts +48 -0
  642. package/server/api/workshop/channel-templates/from-channel.post.ts +31 -0
  643. package/server/api/workshop/channel-templates/index.get.ts +13 -0
  644. package/server/api/workshop/channel-templates/index.post.ts +61 -0
  645. package/server/api/workshop/channels/[id]/activate.post.ts +19 -0
  646. package/server/api/workshop/channels/[id]/agents/[agentId]/memories/[memoryId].delete.ts +30 -0
  647. package/server/api/workshop/channels/[id]/agents/[agentId]/memories/index.get.ts +29 -0
  648. package/server/api/workshop/channels/[id]/agents/[agentId]/memories/index.post.ts +48 -0
  649. package/server/api/workshop/channels/[id]/agents/[agentId]/memories/search.post.ts +43 -0
  650. package/server/api/workshop/channels/[id]/agents/[agentId]/model.patch.ts +39 -0
  651. package/server/api/workshop/channels/[id]/agents/[agentId]/position.patch.ts +33 -0
  652. package/server/api/workshop/channels/[id]/agents/[agentId]/range.patch.ts +54 -0
  653. package/server/api/workshop/channels/[id]/agents/[agentId]/stop.post.ts +25 -0
  654. package/server/api/workshop/channels/[id]/agents/[agentId].delete.ts +23 -0
  655. package/server/api/workshop/channels/[id]/agents/[agentId].patch.ts +28 -0
  656. package/server/api/workshop/channels/[id]/agents/index.get.ts +27 -0
  657. package/server/api/workshop/channels/[id]/agents/index.post.ts +61 -0
  658. package/server/api/workshop/channels/[id]/events.get.ts +55 -0
  659. package/server/api/workshop/channels/[id]/index.get.ts +18 -0
  660. package/server/api/workshop/channels/[id]/index.patch.ts +30 -0
  661. package/server/api/workshop/channels/[id]/memories/[memoryId].delete.ts +29 -0
  662. package/server/api/workshop/channels/[id]/memories/index.get.ts +28 -0
  663. package/server/api/workshop/channels/[id]/memories/index.post.ts +42 -0
  664. package/server/api/workshop/channels/[id]/messages/index.get.ts +56 -0
  665. package/server/api/workshop/channels/[id]/messages/index.post.ts +75 -0
  666. package/server/api/workshop/channels/[id]/queue.get.ts +25 -0
  667. package/server/api/workshop/channels/[id]/tasks/index.get.ts +24 -0
  668. package/server/api/workshop/channels/[id]/tasks/index.post.ts +79 -0
  669. package/server/api/workshop/channels/[id]/terminals.get.ts +21 -0
  670. package/server/api/workshop/channels/[id].delete.ts +18 -0
  671. package/server/api/workshop/channels.get.ts +11 -0
  672. package/server/api/workshop/channels.post.ts +48 -0
  673. package/server/api/workshop/daq/[id]/bind.post.ts +19 -0
  674. package/server/api/workshop/daq/[id]/samples.get.ts +22 -0
  675. package/server/api/workshop/daq/[id]/test.post.ts +17 -0
  676. package/server/api/workshop/daq/[id].delete.ts +30 -0
  677. package/server/api/workshop/daq/[id].patch.ts +31 -0
  678. package/server/api/workshop/daq/alarms/[id]/ack.post.ts +15 -0
  679. package/server/api/workshop/daq/alarms.get.ts +16 -0
  680. package/server/api/workshop/daq/controller.post.ts +52 -0
  681. package/server/api/workshop/daq/index.get.ts +40 -0
  682. package/server/api/workshop/daq/index.post.ts +33 -0
  683. package/server/api/workshop/daq/infra/reconnect.post.ts +17 -0
  684. package/server/api/workshop/daq/infra.get.ts +11 -0
  685. package/server/api/workshop/daq/templates/[key].delete.ts +17 -0
  686. package/server/api/workshop/daq/templates/[key].patch.ts +18 -0
  687. package/server/api/workshop/daq/templates/index.post.ts +17 -0
  688. package/server/api/workshop/daq/test-driver.post.ts +23 -0
  689. package/server/api/workshop/dcw/[id]/bind.post.ts +17 -0
  690. package/server/api/workshop/dcw/[id]/param-ledger.get.ts +15 -0
  691. package/server/api/workshop/dcw/[id]/test.post.ts +15 -0
  692. package/server/api/workshop/dcw/[id]/write.post.ts +19 -0
  693. package/server/api/workshop/dcw/[id].delete.ts +30 -0
  694. package/server/api/workshop/dcw/[id].patch.ts +18 -0
  695. package/server/api/workshop/dcw/controller.post.ts +43 -0
  696. package/server/api/workshop/dcw/index.get.ts +25 -0
  697. package/server/api/workshop/dcw/index.post.ts +20 -0
  698. package/server/api/workshop/dcw/journal/index.get.ts +21 -0
  699. package/server/api/workshop/dcw/journal/node/[nodeId]/rollback.post.ts +22 -0
  700. package/server/api/workshop/dcw/line/query.get.ts +31 -0
  701. package/server/api/workshop/dcw/lines/[id]/start.post.ts +35 -0
  702. package/server/api/workshop/dcw/lines/[id]/stop.post.ts +34 -0
  703. package/server/api/workshop/dcw/lines/[id].delete.ts +35 -0
  704. package/server/api/workshop/dcw/lines/[id].patch.ts +15 -0
  705. package/server/api/workshop/dcw/lines/index.get.ts +14 -0
  706. package/server/api/workshop/dcw/lines/index.post.ts +31 -0
  707. package/server/api/workshop/dcw/optimizations/[id]/judge.post.ts +24 -0
  708. package/server/api/workshop/dcw/optimizations/[id]/rollback.post.ts +29 -0
  709. package/server/api/workshop/dcw/optimizations/[id]/series.get.ts +18 -0
  710. package/server/api/workshop/dcw/optimizations/[id].get.ts +17 -0
  711. package/server/api/workshop/dcw/optimizations/index.get.ts +23 -0
  712. package/server/api/workshop/dcw/products/[id].delete.ts +16 -0
  713. package/server/api/workshop/dcw/products/[id].patch.ts +17 -0
  714. package/server/api/workshop/dcw/products/index.post.ts +16 -0
  715. package/server/api/workshop/dcw/recipes/[id]/apply.post.ts +40 -0
  716. package/server/api/workshop/dcw/recipes/[id]/mark-good.post.ts +21 -0
  717. package/server/api/workshop/dcw/recipes/[id]/rollback-good.post.ts +19 -0
  718. package/server/api/workshop/dcw/recipes/[id].delete.ts +14 -0
  719. package/server/api/workshop/dcw/recipes/[id].patch.ts +16 -0
  720. package/server/api/workshop/dcw/recipes/index.get.ts +12 -0
  721. package/server/api/workshop/dcw/recipes/index.post.ts +15 -0
  722. package/server/api/workshop/dcw/runs/[id]/close.post.ts +15 -0
  723. package/server/api/workshop/dcw/runs/[id]/data.get.ts +15 -0
  724. package/server/api/workshop/dcw/runs/[id]/rollback.post.ts +20 -0
  725. package/server/api/workshop/dcw/runs/index.get.ts +11 -0
  726. package/server/api/workshop/dcw/templates/[key].delete.ts +14 -0
  727. package/server/api/workshop/dcw/templates/[key].patch.ts +16 -0
  728. package/server/api/workshop/dcw/templates/index.post.ts +15 -0
  729. package/server/api/workshop/dcw/test-driver.post.ts +16 -0
  730. package/server/api/workshop/device-twins/[id]/control.post.ts +21 -0
  731. package/server/api/workshop/device-twins/[id]/telemetry.post.ts +21 -0
  732. package/server/api/workshop/device-twins/[id].delete.ts +25 -0
  733. package/server/api/workshop/device-twins/[id].patch.ts +29 -0
  734. package/server/api/workshop/device-twins/index.get.ts +16 -0
  735. package/server/api/workshop/device-twins/index.post.ts +32 -0
  736. package/server/api/workshop/fs/dirs.get.ts +40 -0
  737. package/server/api/workshop/mailbox/all.get.ts +19 -0
  738. package/server/api/workshop/mailbox.get.ts +14 -0
  739. package/server/api/workshop/memories/maintenance.post.ts +15 -0
  740. package/server/api/workshop/ops-logs/index.get.ts +30 -0
  741. package/server/api/workshop/ops-logs/index.post.ts +39 -0
  742. package/server/api/workshop/runtime.get.ts +11 -0
  743. package/server/api/workshop/scene/layouts/[channelId].delete.ts +23 -0
  744. package/server/api/workshop/scene/layouts/[channelId].put.ts +31 -0
  745. package/server/api/workshop/scene/layouts.get.ts +13 -0
  746. package/server/api/workshop/tasks/[id]/cancel/index.post.ts +34 -0
  747. package/server/api/workshop/tasks/[id]/complete.post.ts +32 -0
  748. package/server/api/workshop/tasks/[id]/dispatch.post.ts +30 -0
  749. package/server/api/workshop/tasks/[id]/report.post.ts +38 -0
  750. package/server/api/workshop/tasks/[id]/retry.post.ts +33 -0
  751. package/server/api/workshop/tasks/[id].get.ts +32 -0
  752. package/server/api/workshop/tasks.get.ts +13 -0
  753. package/server/api/workshop/teams/[id]/deploy.post.ts +40 -0
  754. package/server/api/workshop/teams/[id]/members/[agentId].delete.ts +19 -0
  755. package/server/api/workshop/teams/[id]/members/index.get.ts +19 -0
  756. package/server/api/workshop/teams/[id]/members/index.post.ts +32 -0
  757. package/server/api/workshop/teams/[id].delete.ts +20 -0
  758. package/server/api/workshop/teams/[id].get.ts +19 -0
  759. package/server/api/workshop/teams/[id].patch.ts +32 -0
  760. package/server/api/workshop/teams/index.get.ts +13 -0
  761. package/server/api/workshop/teams/index.post.ts +27 -0
  762. package/server/api/workshop/users/me.get.ts +23 -0
  763. package/server/api/workshop/users/register.post.ts +33 -0
  764. package/server/api/workshop/workspaces/[id]/channel-templates/[tplId].post.ts +31 -0
  765. package/server/api/workshop/workspaces/[id]/channels/[channelId].delete.ts +15 -0
  766. package/server/api/workshop/workspaces/[id]/channels/[channelId].post.ts +15 -0
  767. package/server/api/workshop/workspaces/[id]/index.delete.ts +14 -0
  768. package/server/api/workshop/workspaces/index.get.ts +11 -0
  769. package/server/api/workshop/workspaces/index.post.ts +17 -0
  770. package/server/api/workshop/ws.ts +694 -0
  771. package/server/data/agent-node-bindings.json +554 -0
  772. package/server/data/daq-templates.json +16 -0
  773. package/server/data/daqs.json +2680 -0
  774. package/server/data/dcw-lines.json +919 -0
  775. package/server/data/dcw-products.json +835 -0
  776. package/server/data/dcw-recipes.json +1650 -0
  777. package/server/data/dcw-rollback.json +9339 -0
  778. package/server/data/dcw-runs.json +4633 -0
  779. package/server/data/dcw-templates.json +26 -0
  780. package/server/data/dcw-writes.json +9770 -0
  781. package/server/data/dcws.json +1736 -0
  782. package/server/data/device-twins.json +133 -0
  783. package/server/data/line-runs.json +152 -0
  784. package/server/data/scene-layouts.json +200 -0
  785. package/server/mcp/workshop-server.ts +510 -0
  786. package/server/middleware/request-log.ts +15 -0
  787. package/server/plugins/backup.ts +85 -0
  788. package/server/plugins/daq.ts +65 -0
  789. package/server/plugins/dev-stability-guard.ts +42 -0
  790. package/server/plugins/security.ts +29 -0
  791. package/server/plugins/system-config.ts +38 -0
  792. package/server/plugins/workshop.ts +145 -0
  793. package/server/repositories/user.repository.ts +391 -0
  794. package/server/schemas/user.schema.ts +67 -0
  795. package/server/services/system-config.ts +356 -0
  796. package/server/services/user.service.ts +186 -0
  797. package/server/services/workshop/agents/adapters/omp-rpc-client.ts +539 -0
  798. package/server/services/workshop/agents/adapters/to-a2a.ts +40 -0
  799. package/server/services/workshop/agents/agent-interface.ts +219 -0
  800. package/server/services/workshop/agents/claude-agent.ts +47 -0
  801. package/server/services/workshop/agents/factory.ts +24 -0
  802. package/server/services/workshop/agents/harness-process.ts +158 -0
  803. package/server/services/workshop/agents/harness-terminal.ts +545 -0
  804. package/server/services/workshop/agents/industrial-context.ts +222 -0
  805. package/server/services/workshop/agents/industrial-tools.ts +362 -0
  806. package/server/services/workshop/agents/mock-agent.ts +396 -0
  807. package/server/services/workshop/agents/node-bindings.repo.ts +165 -0
  808. package/server/services/workshop/agents/omp-agent.ts +1598 -0
  809. package/server/services/workshop/agents/tool-approvals.ts +174 -0
  810. package/server/services/workshop/assets/character-asset.repo.ts +120 -0
  811. package/server/services/workshop/assets/device-twin.repo.ts +236 -0
  812. package/server/services/workshop/daq/alarm-notify.ts +100 -0
  813. package/server/services/workshop/daq/bus/index.ts +46 -0
  814. package/server/services/workshop/daq/bus/inproc.adapter.ts +62 -0
  815. package/server/services/workshop/daq/bus/mqtt.adapter.ts +112 -0
  816. package/server/services/workshop/daq/bus/queue-port.ts +36 -0
  817. package/server/services/workshop/daq/daq-controller.ts +778 -0
  818. package/server/services/workshop/daq/daq-node.repo.ts +96 -0
  819. package/server/services/workshop/daq/daq-node.ts +247 -0
  820. package/server/services/workshop/daq/daq-runtime.ts +168 -0
  821. package/server/services/workshop/daq/daq-templates.ts +157 -0
  822. package/server/services/workshop/daq/drivers.ts +771 -0
  823. package/server/services/workshop/daq/host-bindings.ts +71 -0
  824. package/server/services/workshop/daq/host-ports.ts +64 -0
  825. package/server/services/workshop/daq/infra.ts +202 -0
  826. package/server/services/workshop/daq/storage/index.ts +96 -0
  827. package/server/services/workshop/daq/storage/sqlite.adapter.ts +205 -0
  828. package/server/services/workshop/daq/storage/timescale.adapter.ts +185 -0
  829. package/server/services/workshop/daq/storage/tsdb-port.ts +74 -0
  830. package/server/services/workshop/db/agent.repo.ts +105 -0
  831. package/server/services/workshop/db/channel-agent.repo.ts +119 -0
  832. package/server/services/workshop/db/channel-event.repo.ts +154 -0
  833. package/server/services/workshop/db/channel-template.repo.ts +113 -0
  834. package/server/services/workshop/db/channel.repo.ts +101 -0
  835. package/server/services/workshop/db/database.ts +934 -0
  836. package/server/services/workshop/db/memory.repo.ts +249 -0
  837. package/server/services/workshop/db/message.repo.ts +149 -0
  838. package/server/services/workshop/db/ops.repo.ts +323 -0
  839. package/server/services/workshop/db/schema.sql +143 -0
  840. package/server/services/workshop/db/subscription.repo.ts +62 -0
  841. package/server/services/workshop/db/task.repo.ts +175 -0
  842. package/server/services/workshop/db/team-member.repo.ts +70 -0
  843. package/server/services/workshop/db/team.repo.ts +109 -0
  844. package/server/services/workshop/db/user.repo.ts +100 -0
  845. package/server/services/workshop/dcw/dcw-controller.ts +841 -0
  846. package/server/services/workshop/dcw/dcw-line.repo.ts +86 -0
  847. package/server/services/workshop/dcw/dcw-node.repo.ts +89 -0
  848. package/server/services/workshop/dcw/dcw-node.ts +200 -0
  849. package/server/services/workshop/dcw/dcw-product.repo.ts +95 -0
  850. package/server/services/workshop/dcw/dcw-recipe.repo.ts +349 -0
  851. package/server/services/workshop/dcw/dcw-runtime.ts +82 -0
  852. package/server/services/workshop/dcw/dcw-templates.ts +138 -0
  853. package/server/services/workshop/dcw/drivers.ts +523 -0
  854. package/server/services/workshop/dcw/line-run.ts +101 -0
  855. package/server/services/workshop/dcw/recipe-rollback-manager.ts +702 -0
  856. package/server/services/workshop/dcw/recipe-rollback.repo.ts +197 -0
  857. package/server/services/workshop/logger.ts +58 -0
  858. package/server/services/workshop/ops/ops.ts +78 -0
  859. package/server/services/workshop/prompts/loader.ts +112 -0
  860. package/server/services/workshop/runtime/agent-runtime.ts +698 -0
  861. package/server/services/workshop/runtime/channel-runtime.ts +202 -0
  862. package/server/services/workshop/runtime/embedding-provider.ts +79 -0
  863. package/server/services/workshop/runtime/execution-mode.ts +215 -0
  864. package/server/services/workshop/runtime/mailbox.ts +148 -0
  865. package/server/services/workshop/runtime/manager.ts +2543 -0
  866. package/server/services/workshop/runtime/memory.ts +439 -0
  867. package/server/services/workshop/runtime/monitor.ts +194 -0
  868. package/server/services/workshop/runtime/scheduler-loop.ts +773 -0
  869. package/server/services/workshop/runtime/task-engine.ts +574 -0
  870. package/server/services/workshop/scene/scene-layout.repo.ts +112 -0
  871. package/server/services/workshop/scene-events.ts +63 -0
  872. package/server/services/workshop/types/a2a.ts +61 -0
  873. package/server/services/workshop/types/task.ts +85 -0
  874. package/server/types/user.ts +53 -0
  875. package/server/utils/approval-gate.ts +67 -0
  876. package/server/utils/auth.ts +13 -0
  877. package/server/utils/config.ts +40 -0
  878. package/server/utils/errors.ts +24 -0
  879. package/server/utils/response.ts +49 -0
  880. package/server/utils/validate.ts +19 -0
  881. package/shared/config/engine.d.mts +41 -0
  882. package/shared/config/engine.mjs +291 -0
  883. package/shared/config/home.d.mts +48 -0
  884. package/shared/config/home.mjs +146 -0
  885. package/shared/config/schema.json +30 -0
  886. package/shared/daq-protocol.ts +361 -0
  887. package/shared/dcw-protocol.ts +576 -0
  888. package/shared/terminal-protocol.ts +70 -0
  889. package/shared/town-anim.ts +56 -0
  890. package/shared/town-behavior.ts +136 -0
  891. package/shared/town-protocol.ts +110 -0
  892. package/shared/town-scene-math.ts +283 -0
  893. package/shared/workshop-protocol.ts +199 -0
  894. package/tsconfig.json +10 -0
  895. package/uno.config.ts +37 -0
@@ -0,0 +1,2680 @@
1
+ [
2
+ {
3
+ "id": "dn-lg-dev-mtbagkfu-8qd40",
4
+ "templateRef": "daq-pressure-tx",
5
+ "name": "压力变送器 01",
6
+ "driver": "mock",
7
+ "enabled": false,
8
+ "intervalMs": null,
9
+ "publishIntervalMs": null,
10
+ "unit": "MPa",
11
+ "decimals": 2,
12
+ "min": 0.6,
13
+ "max": 1.2,
14
+ "warnLow": 0.65,
15
+ "warnHigh": 1.15,
16
+ "deviceBindingId": "dev-mtgnirc0-skbbh",
17
+ "driverConfig": {},
18
+ "posX": 1345,
19
+ "posZ": 1135,
20
+ "lineId": "ln-af002514",
21
+ "value": 0.81,
22
+ "state": "offline",
23
+ "lastAt": "2026-09-01T08:05:10.560Z",
24
+ "createdAt": "2026-08-27T12:39:08.055Z"
25
+ },
26
+ {
27
+ "id": "dn-lg-dev-mtballrl-zq77c",
28
+ "templateRef": "daq-pressure-tx",
29
+ "name": "压力变送器 02",
30
+ "driver": "mock",
31
+ "enabled": true,
32
+ "intervalMs": null,
33
+ "publishIntervalMs": null,
34
+ "unit": "MPa",
35
+ "decimals": 2,
36
+ "min": 0.6,
37
+ "max": 1.2,
38
+ "warnLow": 0.65,
39
+ "warnHigh": 1.15,
40
+ "deviceBindingId": null,
41
+ "driverConfig": {},
42
+ "lineId": "",
43
+ "value": 0.81,
44
+ "state": "ok",
45
+ "lastAt": "2026-08-29T03:07:26.673Z",
46
+ "createdAt": "2026-08-27T12:39:08.055Z"
47
+ },
48
+ {
49
+ "id": "dn-43f55a32",
50
+ "templateRef": "daq-temp-tc",
51
+ "name": "温度传感器 01",
52
+ "driver": "mock",
53
+ "enabled": true,
54
+ "intervalMs": null,
55
+ "publishIntervalMs": null,
56
+ "unit": "℃",
57
+ "decimals": 1,
58
+ "min": 150,
59
+ "max": 185,
60
+ "warnLow": 152.8,
61
+ "warnHigh": 182.2,
62
+ "deviceBindingId": "dev-mtgnircy-iwbdo",
63
+ "driverConfig": {},
64
+ "posX": 1695,
65
+ "posZ": 1135,
66
+ "lineId": "ln-af002514",
67
+ "value": 171,
68
+ "state": "ok",
69
+ "lastAt": "2026-09-01T12:27:19.605Z",
70
+ "createdAt": "2026-08-27T12:39:08.110Z"
71
+ },
72
+ {
73
+ "id": "dn-14140dac",
74
+ "templateRef": "daq-pressure-tx",
75
+ "name": "压力变送器 03",
76
+ "driver": "mock",
77
+ "enabled": true,
78
+ "intervalMs": 300,
79
+ "publishIntervalMs": null,
80
+ "unit": "MPa",
81
+ "decimals": 2,
82
+ "min": 0.6,
83
+ "max": 1.2,
84
+ "warnLow": 0.65,
85
+ "warnHigh": 1.15,
86
+ "deviceBindingId": null,
87
+ "driverConfig": {},
88
+ "lineId": "",
89
+ "value": 0.84,
90
+ "state": "ok",
91
+ "lastAt": "2026-08-29T03:07:26.673Z",
92
+ "createdAt": "2026-08-27T12:39:08.140Z"
93
+ },
94
+ {
95
+ "id": "dn-0ccdab03",
96
+ "templateRef": "daq-power-meter",
97
+ "name": "电参采集器 02",
98
+ "driver": "mock",
99
+ "enabled": true,
100
+ "intervalMs": null,
101
+ "publishIntervalMs": null,
102
+ "unit": "kW",
103
+ "decimals": 1,
104
+ "min": 38,
105
+ "max": 55,
106
+ "warnLow": 39.4,
107
+ "warnHigh": 53.6,
108
+ "deviceBindingId": null,
109
+ "driverConfig": {},
110
+ "lineId": "",
111
+ "value": 46.7,
112
+ "state": "ok",
113
+ "lastAt": "2026-08-29T03:07:26.673Z",
114
+ "createdAt": "2026-08-27T14:36:19.172Z"
115
+ },
116
+ {
117
+ "id": "dn-lg-dev-mtccyr9t-xusw4",
118
+ "templateRef": "daq-temp-tc",
119
+ "name": "温度传感器 01",
120
+ "driver": "mock",
121
+ "enabled": true,
122
+ "intervalMs": null,
123
+ "publishIntervalMs": null,
124
+ "unit": "℃",
125
+ "decimals": 1,
126
+ "min": 150,
127
+ "max": 185,
128
+ "warnLow": 152.8,
129
+ "warnHigh": 182.2,
130
+ "deviceBindingId": null,
131
+ "driverConfig": {},
132
+ "lineId": "",
133
+ "value": 169.6,
134
+ "state": "ok",
135
+ "lastAt": "2026-08-29T03:07:26.673Z",
136
+ "createdAt": "2026-08-28T02:54:31.872Z"
137
+ },
138
+ {
139
+ "id": "dn-lg-dev-mtcdkkkg-r0xfr",
140
+ "templateRef": "daq-temp-tc",
141
+ "name": "温度传感器 01",
142
+ "driver": "mock",
143
+ "enabled": true,
144
+ "intervalMs": null,
145
+ "publishIntervalMs": null,
146
+ "unit": "℃",
147
+ "decimals": 1,
148
+ "min": 150,
149
+ "max": 185,
150
+ "warnLow": 152.8,
151
+ "warnHigh": 182.2,
152
+ "deviceBindingId": null,
153
+ "driverConfig": {},
154
+ "lineId": "",
155
+ "value": 168.3,
156
+ "state": "ok",
157
+ "lastAt": "2026-08-29T03:07:26.673Z",
158
+ "createdAt": "2026-08-28T03:11:29.583Z"
159
+ },
160
+ {
161
+ "id": "dn-lg-dev-mtcdkkkw-xgz5t",
162
+ "templateRef": "daq-tension-cell",
163
+ "name": "张力传感器 01",
164
+ "driver": "mock",
165
+ "enabled": false,
166
+ "intervalMs": null,
167
+ "publishIntervalMs": null,
168
+ "unit": "kN",
169
+ "decimals": 1,
170
+ "min": 18,
171
+ "max": 26,
172
+ "warnLow": 18.6,
173
+ "warnHigh": 25.4,
174
+ "deviceBindingId": "dev-mtgnirdd-gvnsh",
175
+ "driverConfig": {},
176
+ "posX": 2045,
177
+ "posZ": 1135,
178
+ "lineId": "ln-af002514",
179
+ "value": 21.7,
180
+ "state": "offline",
181
+ "lastAt": "2026-09-01T07:30:07.215Z",
182
+ "createdAt": "2026-08-28T03:11:29.583Z"
183
+ },
184
+ {
185
+ "id": "dn-lg-dev-mtcfblci-mliuu",
186
+ "templateRef": "daq-temp-tc",
187
+ "name": "温度传感器 01",
188
+ "driver": "mock",
189
+ "enabled": true,
190
+ "intervalMs": null,
191
+ "publishIntervalMs": null,
192
+ "unit": "℃",
193
+ "decimals": 1,
194
+ "min": 150,
195
+ "max": 185,
196
+ "warnLow": 152.8,
197
+ "warnHigh": 182.2,
198
+ "deviceBindingId": null,
199
+ "driverConfig": {},
200
+ "lineId": "",
201
+ "value": 170.4,
202
+ "state": "ok",
203
+ "lastAt": "2026-08-29T03:07:26.673Z",
204
+ "createdAt": "2026-08-28T04:00:30.062Z"
205
+ },
206
+ {
207
+ "id": "dn-lg-dev-mtcfblcx-g4jhz",
208
+ "templateRef": "daq-tension-cell",
209
+ "name": "张力传感器 01",
210
+ "driver": "mock",
211
+ "enabled": true,
212
+ "intervalMs": null,
213
+ "publishIntervalMs": null,
214
+ "unit": "kN",
215
+ "decimals": 1,
216
+ "min": 18,
217
+ "max": 26,
218
+ "warnLow": 18.6,
219
+ "warnHigh": 25.4,
220
+ "deviceBindingId": null,
221
+ "driverConfig": {},
222
+ "lineId": "",
223
+ "value": 21.8,
224
+ "state": "ok",
225
+ "lastAt": "2026-08-29T03:07:26.673Z",
226
+ "createdAt": "2026-08-28T04:00:30.063Z"
227
+ },
228
+ {
229
+ "id": "dn-lg-dev-mtcq5on0-i04cg",
230
+ "templateRef": "daq-temp-tc",
231
+ "name": "温度传感器 01",
232
+ "driver": "mock",
233
+ "enabled": true,
234
+ "intervalMs": null,
235
+ "publishIntervalMs": null,
236
+ "unit": "℃",
237
+ "decimals": 1,
238
+ "min": 150,
239
+ "max": 185,
240
+ "warnLow": 152.8,
241
+ "warnHigh": 182.2,
242
+ "deviceBindingId": null,
243
+ "driverConfig": {},
244
+ "lineId": "",
245
+ "value": 170.7,
246
+ "state": "ok",
247
+ "lastAt": "2026-08-29T03:07:26.673Z",
248
+ "createdAt": "2026-08-28T09:03:51.930Z"
249
+ },
250
+ {
251
+ "id": "dn-lg-dev-mtcq5ong-ehqx6",
252
+ "templateRef": "daq-power-meter",
253
+ "name": "电参采集器 09",
254
+ "driver": "mock",
255
+ "enabled": true,
256
+ "intervalMs": null,
257
+ "publishIntervalMs": null,
258
+ "unit": "kW",
259
+ "decimals": 1,
260
+ "min": 38,
261
+ "max": 55,
262
+ "warnLow": 39.4,
263
+ "warnHigh": 53.6,
264
+ "deviceBindingId": null,
265
+ "driverConfig": {},
266
+ "lineId": "",
267
+ "value": 46.8,
268
+ "state": "ok",
269
+ "lastAt": "2026-08-29T03:07:26.673Z",
270
+ "createdAt": "2026-08-28T09:03:51.931Z"
271
+ },
272
+ {
273
+ "id": "dn-d473cccf",
274
+ "templateRef": "daq-pressure-tx",
275
+ "name": "压力变送器 08",
276
+ "driver": "mock",
277
+ "enabled": true,
278
+ "intervalMs": null,
279
+ "publishIntervalMs": null,
280
+ "unit": "MPa",
281
+ "decimals": 2,
282
+ "min": 0.6,
283
+ "max": 1.2,
284
+ "warnLow": 0.65,
285
+ "warnHigh": 1.15,
286
+ "deviceBindingId": null,
287
+ "driverConfig": {},
288
+ "lineId": "",
289
+ "value": 0.83,
290
+ "state": "ok",
291
+ "lastAt": "2026-08-29T03:07:26.673Z",
292
+ "createdAt": "2026-08-28T09:04:03.409Z"
293
+ },
294
+ {
295
+ "id": "dn-544a76f5",
296
+ "templateRef": "daq-line-encoder",
297
+ "name": "速度编码器 02",
298
+ "driver": "mock",
299
+ "enabled": true,
300
+ "intervalMs": null,
301
+ "publishIntervalMs": null,
302
+ "unit": "m/min",
303
+ "decimals": 0,
304
+ "min": 280,
305
+ "max": 360,
306
+ "warnLow": 286,
307
+ "warnHigh": 354,
308
+ "deviceBindingId": null,
309
+ "driverConfig": {},
310
+ "lineId": "ln-af002514",
311
+ "value": 320,
312
+ "state": "ok",
313
+ "lastAt": "2026-09-01T12:27:19.605Z",
314
+ "createdAt": "2026-08-28T09:37:38.518Z"
315
+ },
316
+ {
317
+ "id": "dn-68a4323b",
318
+ "templateRef": "daq-temp-tc",
319
+ "name": "温度传感器(示例)",
320
+ "driver": "mock",
321
+ "enabled": true,
322
+ "intervalMs": null,
323
+ "publishIntervalMs": null,
324
+ "unit": "℃",
325
+ "decimals": 1,
326
+ "min": 150,
327
+ "max": 185,
328
+ "warnLow": 152.8,
329
+ "warnHigh": 182.2,
330
+ "deviceBindingId": null,
331
+ "driverConfig": {},
332
+ "lineId": "ln-af002514",
333
+ "value": 169.2,
334
+ "state": "ok",
335
+ "lastAt": "2026-09-01T12:27:19.605Z",
336
+ "createdAt": "2026-08-29T03:30:57.463Z"
337
+ },
338
+ {
339
+ "id": "dn-df0b2f33",
340
+ "templateRef": "daq-temp-tc",
341
+ "name": "诊断-温度",
342
+ "driver": "mock",
343
+ "enabled": true,
344
+ "intervalMs": 500,
345
+ "publishIntervalMs": null,
346
+ "unit": "℃",
347
+ "decimals": 1,
348
+ "min": 150,
349
+ "max": 185,
350
+ "warnLow": 152.8,
351
+ "warnHigh": 182.2,
352
+ "deviceBindingId": null,
353
+ "driverConfig": {},
354
+ "lineId": "ln-ab1f050b",
355
+ "value": null,
356
+ "state": "offline",
357
+ "lastAt": null,
358
+ "createdAt": "2026-08-29T04:03:24.527Z"
359
+ },
360
+ {
361
+ "id": "dn-dd962f38",
362
+ "templateRef": "daq-temp-tc",
363
+ "name": "工具审计-温度采集",
364
+ "driver": "mock",
365
+ "enabled": true,
366
+ "intervalMs": 500,
367
+ "publishIntervalMs": null,
368
+ "unit": "℃",
369
+ "decimals": 1,
370
+ "min": 150,
371
+ "max": 185,
372
+ "warnLow": 152.8,
373
+ "warnHigh": 182.2,
374
+ "deviceBindingId": "dev-mthzr991-ujuad",
375
+ "driverConfig": {},
376
+ "lineId": "ln-52abf49b",
377
+ "value": 166.4,
378
+ "state": "ok",
379
+ "lastAt": "2026-08-29T04:43:14.812Z",
380
+ "createdAt": "2026-08-29T04:37:27.968Z"
381
+ },
382
+ {
383
+ "id": "dn-a3031a6e",
384
+ "templateRef": "daq-temp-tc",
385
+ "name": "A-温度采集(Modbus)",
386
+ "driver": "modbus-tcp",
387
+ "enabled": true,
388
+ "intervalMs": 500,
389
+ "publishIntervalMs": null,
390
+ "unit": "℃",
391
+ "decimals": 1,
392
+ "min": 150,
393
+ "max": 185,
394
+ "warnLow": 152.8,
395
+ "warnHigh": 182.2,
396
+ "deviceBindingId": null,
397
+ "driverConfig": {
398
+ "host": "127.0.0.1",
399
+ "port": 1502,
400
+ "unitId": 1,
401
+ "register": 40003,
402
+ "dataType": "float32",
403
+ "byteOrder": "big"
404
+ },
405
+ "lineId": "ln-6a48c16d",
406
+ "value": null,
407
+ "state": "offline",
408
+ "lastAt": null,
409
+ "createdAt": "2026-08-29T13:16:19.787Z"
410
+ },
411
+ {
412
+ "id": "dn-51f6d89f",
413
+ "templateRef": "daq-pressure-tx",
414
+ "name": "A-压力变送(Modbus)",
415
+ "driver": "modbus-tcp",
416
+ "enabled": true,
417
+ "intervalMs": 500,
418
+ "publishIntervalMs": null,
419
+ "unit": "MPa",
420
+ "decimals": 2,
421
+ "min": 0.6,
422
+ "max": 1.2,
423
+ "warnLow": 0.65,
424
+ "warnHigh": 1.15,
425
+ "deviceBindingId": null,
426
+ "driverConfig": {
427
+ "host": "127.0.0.1",
428
+ "port": 1502,
429
+ "unitId": 1,
430
+ "register": 40001,
431
+ "dataType": "float32",
432
+ "byteOrder": "big"
433
+ },
434
+ "lineId": "ln-6a48c16d",
435
+ "value": null,
436
+ "state": "offline",
437
+ "lastAt": null,
438
+ "createdAt": "2026-08-29T13:16:19.796Z"
439
+ },
440
+ {
441
+ "id": "dn-bcd2a43e",
442
+ "templateRef": "daq-temp-tc",
443
+ "name": "语义-温度采集",
444
+ "driver": "modbus-tcp",
445
+ "enabled": true,
446
+ "intervalMs": 500,
447
+ "publishIntervalMs": null,
448
+ "unit": "℃",
449
+ "decimals": 1,
450
+ "min": 150,
451
+ "max": 185,
452
+ "warnLow": 152.8,
453
+ "warnHigh": 182.2,
454
+ "deviceBindingId": null,
455
+ "driverConfig": {
456
+ "host": "127.0.0.1",
457
+ "port": 1502,
458
+ "unitId": 1,
459
+ "register": 40003,
460
+ "dataType": "float32",
461
+ "byteOrder": "big"
462
+ },
463
+ "lineId": "ln-feef6e4d",
464
+ "value": null,
465
+ "state": "offline",
466
+ "lastAt": null,
467
+ "createdAt": "2026-08-29T14:12:02.549Z"
468
+ },
469
+ {
470
+ "id": "dn-114f04a3",
471
+ "templateRef": "daq-pressure-tx",
472
+ "name": "首采探针P",
473
+ "driver": "modbus-tcp",
474
+ "enabled": true,
475
+ "intervalMs": 400,
476
+ "publishIntervalMs": null,
477
+ "unit": "MPa",
478
+ "decimals": 2,
479
+ "min": 0.6,
480
+ "max": 1.2,
481
+ "warnLow": 0.65,
482
+ "warnHigh": 1.15,
483
+ "deviceBindingId": null,
484
+ "driverConfig": {
485
+ "host": "127.0.0.1",
486
+ "port": 1502,
487
+ "unitId": 1,
488
+ "register": 40001,
489
+ "dataType": "float32",
490
+ "byteOrder": "big"
491
+ },
492
+ "lineId": "",
493
+ "value": null,
494
+ "state": "offline",
495
+ "lastAt": null,
496
+ "createdAt": "2026-08-29T15:09:01.741Z"
497
+ },
498
+ {
499
+ "id": "dn-3a488a11",
500
+ "templateRef": "daq-pressure-tx",
501
+ "name": "首采探针P",
502
+ "driver": "modbus-tcp",
503
+ "enabled": true,
504
+ "intervalMs": 400,
505
+ "publishIntervalMs": null,
506
+ "unit": "MPa",
507
+ "decimals": 2,
508
+ "min": 0.6,
509
+ "max": 1.2,
510
+ "warnLow": 0.65,
511
+ "warnHigh": 1.15,
512
+ "deviceBindingId": null,
513
+ "driverConfig": {
514
+ "host": "127.0.0.1",
515
+ "port": 1502,
516
+ "unitId": 1,
517
+ "register": 40001,
518
+ "dataType": "float32",
519
+ "byteOrder": "big"
520
+ },
521
+ "lineId": "",
522
+ "value": null,
523
+ "state": "offline",
524
+ "lastAt": null,
525
+ "createdAt": "2026-08-29T15:09:26.442Z"
526
+ },
527
+ {
528
+ "id": "dn-7824a01e",
529
+ "templateRef": "daq-temp-tc",
530
+ "name": "dcw审计-温度通道",
531
+ "driver": "mock",
532
+ "enabled": true,
533
+ "intervalMs": 500,
534
+ "publishIntervalMs": null,
535
+ "unit": "℃",
536
+ "decimals": 1,
537
+ "min": 150,
538
+ "max": 185,
539
+ "warnLow": 152.8,
540
+ "warnHigh": 182.2,
541
+ "deviceBindingId": null,
542
+ "driverConfig": {},
543
+ "lineId": "ln-aa965b6e",
544
+ "value": null,
545
+ "state": "offline",
546
+ "lastAt": null,
547
+ "createdAt": "2026-08-30T08:35:56.766Z"
548
+ },
549
+ {
550
+ "id": "dn-3b02c338",
551
+ "templateRef": "daq-temp-tc",
552
+ "name": "dcw审计-温度通道",
553
+ "driver": "mock",
554
+ "enabled": true,
555
+ "intervalMs": 500,
556
+ "publishIntervalMs": null,
557
+ "unit": "℃",
558
+ "decimals": 1,
559
+ "min": 150,
560
+ "max": 185,
561
+ "warnLow": 152.8,
562
+ "warnHigh": 182.2,
563
+ "deviceBindingId": null,
564
+ "driverConfig": {},
565
+ "lineId": "ln-c03cab44",
566
+ "value": null,
567
+ "state": "offline",
568
+ "lastAt": null,
569
+ "createdAt": "2026-08-30T08:40:09.277Z"
570
+ },
571
+ {
572
+ "id": "dn-lg-dev-mtg1ct71-lute9",
573
+ "templateRef": "daq-temp-tc",
574
+ "name": "温度传感器 01",
575
+ "driver": "mock",
576
+ "enabled": true,
577
+ "intervalMs": null,
578
+ "publishIntervalMs": null,
579
+ "unit": "℃",
580
+ "decimals": 1,
581
+ "min": 150,
582
+ "max": 185,
583
+ "warnLow": 152.8,
584
+ "warnHigh": 182.2,
585
+ "deviceBindingId": null,
586
+ "driverConfig": {},
587
+ "lineId": "",
588
+ "value": null,
589
+ "state": "offline",
590
+ "lastAt": null,
591
+ "createdAt": "2026-08-30T16:41:05.929Z"
592
+ },
593
+ {
594
+ "id": "dn-lg-dev-mtg1ct84-adzvo",
595
+ "templateRef": "daq-power-meter",
596
+ "name": "电参采集器 09",
597
+ "driver": "mock",
598
+ "enabled": true,
599
+ "intervalMs": null,
600
+ "publishIntervalMs": null,
601
+ "unit": "kW",
602
+ "decimals": 1,
603
+ "min": 38,
604
+ "max": 55,
605
+ "warnLow": 39.4,
606
+ "warnHigh": 53.6,
607
+ "deviceBindingId": null,
608
+ "driverConfig": {},
609
+ "lineId": "",
610
+ "value": null,
611
+ "state": "offline",
612
+ "lastAt": null,
613
+ "createdAt": "2026-08-30T16:41:05.930Z"
614
+ },
615
+ {
616
+ "id": "dn-7c12c0da",
617
+ "templateRef": "daq-pressure-tx",
618
+ "name": "压力变送器 20",
619
+ "driver": "mock",
620
+ "enabled": true,
621
+ "intervalMs": null,
622
+ "publishIntervalMs": null,
623
+ "unit": "MPa",
624
+ "decimals": 2,
625
+ "min": 0.6,
626
+ "max": 1.2,
627
+ "warnLow": 0.65,
628
+ "warnHigh": 1.15,
629
+ "deviceBindingId": null,
630
+ "driverConfig": {},
631
+ "lineId": "",
632
+ "value": null,
633
+ "state": "offline",
634
+ "lastAt": null,
635
+ "createdAt": "2026-08-30T16:41:21.482Z"
636
+ },
637
+ {
638
+ "id": "dn-lg-dev-mtg1vqsm-kihkg",
639
+ "templateRef": "daq-temp-tc",
640
+ "name": "温度传感器 01",
641
+ "driver": "mock",
642
+ "enabled": true,
643
+ "intervalMs": null,
644
+ "publishIntervalMs": null,
645
+ "unit": "℃",
646
+ "decimals": 1,
647
+ "min": 150,
648
+ "max": 185,
649
+ "warnLow": 152.8,
650
+ "warnHigh": 182.2,
651
+ "deviceBindingId": null,
652
+ "driverConfig": {},
653
+ "lineId": "",
654
+ "value": null,
655
+ "state": "offline",
656
+ "lastAt": null,
657
+ "createdAt": "2026-08-30T16:55:20.897Z"
658
+ },
659
+ {
660
+ "id": "dn-lg-dev-mtg1vqth-foqzw",
661
+ "templateRef": "daq-tension-cell",
662
+ "name": "张力传感器 01",
663
+ "driver": "mock",
664
+ "enabled": true,
665
+ "intervalMs": null,
666
+ "publishIntervalMs": null,
667
+ "unit": "kN",
668
+ "decimals": 1,
669
+ "min": 18,
670
+ "max": 26,
671
+ "warnLow": 18.6,
672
+ "warnHigh": 25.4,
673
+ "deviceBindingId": null,
674
+ "driverConfig": {},
675
+ "lineId": "",
676
+ "value": null,
677
+ "state": "offline",
678
+ "lastAt": null,
679
+ "createdAt": "2026-08-30T16:55:20.898Z"
680
+ },
681
+ {
682
+ "id": "dn-baeb1ea9",
683
+ "templateRef": "daq-power-meter",
684
+ "name": "电参采集器 04",
685
+ "driver": "mock",
686
+ "enabled": true,
687
+ "intervalMs": null,
688
+ "publishIntervalMs": null,
689
+ "unit": "kW",
690
+ "decimals": 1,
691
+ "min": 38,
692
+ "max": 55,
693
+ "warnLow": 39.4,
694
+ "warnHigh": 53.6,
695
+ "deviceBindingId": null,
696
+ "driverConfig": {},
697
+ "lineId": "",
698
+ "value": null,
699
+ "state": "offline",
700
+ "lastAt": null,
701
+ "createdAt": "2026-08-30T16:56:19.701Z"
702
+ },
703
+ {
704
+ "id": "dn-lg-dev-mtg2c2hc-vu87j",
705
+ "templateRef": "daq-temp-tc",
706
+ "name": "温度传感器 01",
707
+ "driver": "mock",
708
+ "enabled": true,
709
+ "intervalMs": null,
710
+ "publishIntervalMs": null,
711
+ "unit": "℃",
712
+ "decimals": 1,
713
+ "min": 150,
714
+ "max": 185,
715
+ "warnLow": 152.8,
716
+ "warnHigh": 182.2,
717
+ "deviceBindingId": null,
718
+ "driverConfig": {},
719
+ "lineId": "",
720
+ "value": null,
721
+ "state": "offline",
722
+ "lastAt": null,
723
+ "createdAt": "2026-08-30T17:10:27.424Z"
724
+ },
725
+ {
726
+ "id": "dn-lg-dev-mtg2c2j9-3wnh6",
727
+ "templateRef": "daq-tension-cell",
728
+ "name": "张力传感器 01",
729
+ "driver": "mock",
730
+ "enabled": true,
731
+ "intervalMs": null,
732
+ "publishIntervalMs": null,
733
+ "unit": "kN",
734
+ "decimals": 1,
735
+ "min": 18,
736
+ "max": 26,
737
+ "warnLow": 18.6,
738
+ "warnHigh": 25.4,
739
+ "deviceBindingId": null,
740
+ "driverConfig": {},
741
+ "lineId": "",
742
+ "value": null,
743
+ "state": "offline",
744
+ "lastAt": null,
745
+ "createdAt": "2026-08-30T17:10:27.425Z"
746
+ },
747
+ {
748
+ "id": "dn-lg-dev-mtg2kv3h-sl3q6",
749
+ "templateRef": "daq-temp-tc",
750
+ "name": "温度传感器 01",
751
+ "driver": "mock",
752
+ "enabled": true,
753
+ "intervalMs": null,
754
+ "publishIntervalMs": null,
755
+ "unit": "℃",
756
+ "decimals": 1,
757
+ "min": 150,
758
+ "max": 185,
759
+ "warnLow": 152.8,
760
+ "warnHigh": 182.2,
761
+ "deviceBindingId": null,
762
+ "driverConfig": {},
763
+ "lineId": "",
764
+ "value": null,
765
+ "state": "offline",
766
+ "lastAt": null,
767
+ "createdAt": "2026-08-30T17:14:53.248Z"
768
+ },
769
+ {
770
+ "id": "dn-lg-dev-mtg2kv40-hdgli",
771
+ "templateRef": "daq-tension-cell",
772
+ "name": "张力传感器 01",
773
+ "driver": "mock",
774
+ "enabled": true,
775
+ "intervalMs": null,
776
+ "publishIntervalMs": null,
777
+ "unit": "kN",
778
+ "decimals": 1,
779
+ "min": 18,
780
+ "max": 26,
781
+ "warnLow": 18.6,
782
+ "warnHigh": 25.4,
783
+ "deviceBindingId": null,
784
+ "driverConfig": {},
785
+ "lineId": "",
786
+ "value": null,
787
+ "state": "offline",
788
+ "lastAt": null,
789
+ "createdAt": "2026-08-30T17:14:53.249Z"
790
+ },
791
+ {
792
+ "id": "dn-lg-dev-mtg2oknw-5w3qy",
793
+ "templateRef": "daq-temp-tc",
794
+ "name": "温度传感器 01",
795
+ "driver": "mock",
796
+ "enabled": true,
797
+ "intervalMs": null,
798
+ "publishIntervalMs": null,
799
+ "unit": "℃",
800
+ "decimals": 1,
801
+ "min": 150,
802
+ "max": 185,
803
+ "warnLow": 152.8,
804
+ "warnHigh": 182.2,
805
+ "deviceBindingId": null,
806
+ "driverConfig": {},
807
+ "lineId": "",
808
+ "value": null,
809
+ "state": "offline",
810
+ "lastAt": null,
811
+ "createdAt": "2026-08-30T17:17:45.575Z"
812
+ },
813
+ {
814
+ "id": "dn-lg-dev-mtg2okof-0myme",
815
+ "templateRef": "daq-tension-cell",
816
+ "name": "张力传感器 01",
817
+ "driver": "mock",
818
+ "enabled": true,
819
+ "intervalMs": null,
820
+ "publishIntervalMs": null,
821
+ "unit": "kN",
822
+ "decimals": 1,
823
+ "min": 18,
824
+ "max": 26,
825
+ "warnLow": 18.6,
826
+ "warnHigh": 25.4,
827
+ "deviceBindingId": null,
828
+ "driverConfig": {},
829
+ "lineId": "",
830
+ "value": null,
831
+ "state": "offline",
832
+ "lastAt": null,
833
+ "createdAt": "2026-08-30T17:17:45.575Z"
834
+ },
835
+ {
836
+ "id": "dn-lg-dev-mtg2s6u5-qywk8",
837
+ "templateRef": "daq-temp-tc",
838
+ "name": "温度传感器 01",
839
+ "driver": "mock",
840
+ "enabled": true,
841
+ "intervalMs": null,
842
+ "publishIntervalMs": null,
843
+ "unit": "℃",
844
+ "decimals": 1,
845
+ "min": 150,
846
+ "max": 185,
847
+ "warnLow": 152.8,
848
+ "warnHigh": 182.2,
849
+ "deviceBindingId": null,
850
+ "driverConfig": {},
851
+ "lineId": "",
852
+ "value": null,
853
+ "state": "offline",
854
+ "lastAt": null,
855
+ "createdAt": "2026-08-30T17:20:35.057Z"
856
+ },
857
+ {
858
+ "id": "dn-lg-dev-mtg2ui11-exnk7",
859
+ "templateRef": "daq-temp-tc",
860
+ "name": "温度传感器 01",
861
+ "driver": "mock",
862
+ "enabled": true,
863
+ "intervalMs": null,
864
+ "publishIntervalMs": null,
865
+ "unit": "℃",
866
+ "decimals": 1,
867
+ "min": 150,
868
+ "max": 185,
869
+ "warnLow": 152.8,
870
+ "warnHigh": 182.2,
871
+ "deviceBindingId": null,
872
+ "driverConfig": {},
873
+ "lineId": "",
874
+ "value": null,
875
+ "state": "offline",
876
+ "lastAt": null,
877
+ "createdAt": "2026-08-30T17:22:22.620Z"
878
+ },
879
+ {
880
+ "id": "dn-lg-dev-mtg2ui1j-0m69g",
881
+ "templateRef": "daq-power-meter",
882
+ "name": "电参采集器 09",
883
+ "driver": "mock",
884
+ "enabled": true,
885
+ "intervalMs": null,
886
+ "publishIntervalMs": null,
887
+ "unit": "kW",
888
+ "decimals": 1,
889
+ "min": 38,
890
+ "max": 55,
891
+ "warnLow": 39.4,
892
+ "warnHigh": 53.6,
893
+ "deviceBindingId": null,
894
+ "driverConfig": {},
895
+ "lineId": "",
896
+ "value": null,
897
+ "state": "offline",
898
+ "lastAt": null,
899
+ "createdAt": "2026-08-30T17:22:22.621Z"
900
+ },
901
+ {
902
+ "id": "dn-ca0d6668",
903
+ "templateRef": "daq-pressure-tx",
904
+ "name": "压力变送器 19",
905
+ "driver": "mock",
906
+ "enabled": true,
907
+ "intervalMs": null,
908
+ "publishIntervalMs": null,
909
+ "unit": "MPa",
910
+ "decimals": 2,
911
+ "min": 0.6,
912
+ "max": 1.2,
913
+ "warnLow": 0.65,
914
+ "warnHigh": 1.15,
915
+ "deviceBindingId": null,
916
+ "driverConfig": {},
917
+ "lineId": "",
918
+ "value": null,
919
+ "state": "offline",
920
+ "lastAt": null,
921
+ "createdAt": "2026-08-30T17:22:33.489Z"
922
+ },
923
+ {
924
+ "id": "dn-lg-dev-mtg2v3pc-e5k0i",
925
+ "templateRef": "daq-pressure-tx",
926
+ "name": "压力变送器 01",
927
+ "driver": "mock",
928
+ "enabled": true,
929
+ "intervalMs": null,
930
+ "publishIntervalMs": null,
931
+ "unit": "MPa",
932
+ "decimals": 2,
933
+ "min": 0.6,
934
+ "max": 1.2,
935
+ "warnLow": 0.65,
936
+ "warnHigh": 1.15,
937
+ "deviceBindingId": null,
938
+ "driverConfig": {},
939
+ "lineId": "",
940
+ "value": null,
941
+ "state": "offline",
942
+ "lastAt": null,
943
+ "createdAt": "2026-08-30T17:22:50.734Z"
944
+ },
945
+ {
946
+ "id": "dn-lg-dev-mtg2v3pp-afo0n",
947
+ "templateRef": "daq-temp-tc",
948
+ "name": "温度传感器 01",
949
+ "driver": "mock",
950
+ "enabled": true,
951
+ "intervalMs": null,
952
+ "publishIntervalMs": null,
953
+ "unit": "℃",
954
+ "decimals": 1,
955
+ "min": 150,
956
+ "max": 185,
957
+ "warnLow": 152.8,
958
+ "warnHigh": 182.2,
959
+ "deviceBindingId": null,
960
+ "driverConfig": {},
961
+ "lineId": "",
962
+ "value": null,
963
+ "state": "offline",
964
+ "lastAt": null,
965
+ "createdAt": "2026-08-30T17:22:50.735Z"
966
+ },
967
+ {
968
+ "id": "dn-1be1287d",
969
+ "templateRef": "daq-tension-cell",
970
+ "name": "张力传感器 10",
971
+ "driver": "mock",
972
+ "enabled": true,
973
+ "intervalMs": null,
974
+ "publishIntervalMs": null,
975
+ "unit": "kN",
976
+ "decimals": 1,
977
+ "min": 18,
978
+ "max": 26,
979
+ "warnLow": 18.6,
980
+ "warnHigh": 25.4,
981
+ "deviceBindingId": null,
982
+ "driverConfig": {},
983
+ "lineId": "",
984
+ "value": null,
985
+ "state": "offline",
986
+ "lastAt": null,
987
+ "createdAt": "2026-08-31T02:07:51.071Z"
988
+ },
989
+ {
990
+ "id": "dn-eb0c151b",
991
+ "templateRef": "daq-temp-tc",
992
+ "name": "真机-温度采集",
993
+ "driver": "modbus-tcp",
994
+ "enabled": true,
995
+ "intervalMs": 1000,
996
+ "publishIntervalMs": null,
997
+ "unit": "℃",
998
+ "decimals": 1,
999
+ "min": 150,
1000
+ "max": 185,
1001
+ "warnLow": 152.8,
1002
+ "warnHigh": 182.2,
1003
+ "deviceBindingId": "dev-mtgnirdi-hrh38",
1004
+ "driverConfig": {
1005
+ "host": "127.0.0.1",
1006
+ "port": 1502,
1007
+ "unitId": 1,
1008
+ "register": 40003,
1009
+ "dataType": "float32",
1010
+ "byteOrder": "big"
1011
+ },
1012
+ "posX": 2395,
1013
+ "posZ": 1135,
1014
+ "lineId": "ln-af002514",
1015
+ "value": 172.2,
1016
+ "state": "ok",
1017
+ "lastAt": "2026-09-01T12:27:19.349Z",
1018
+ "createdAt": "2026-08-31T04:07:19.038Z"
1019
+ },
1020
+ {
1021
+ "id": "dn-lg-dev-mth7v5rc-ros0g",
1022
+ "templateRef": "daq-temp-tc",
1023
+ "name": "温度传感器 01",
1024
+ "driver": "mock",
1025
+ "enabled": true,
1026
+ "intervalMs": null,
1027
+ "publishIntervalMs": null,
1028
+ "unit": "℃",
1029
+ "decimals": 1,
1030
+ "min": 150,
1031
+ "max": 185,
1032
+ "warnLow": 152.8,
1033
+ "warnHigh": 182.2,
1034
+ "deviceBindingId": null,
1035
+ "driverConfig": {},
1036
+ "posX": 1750,
1037
+ "posZ": 690,
1038
+ "lineId": "",
1039
+ "value": null,
1040
+ "state": "offline",
1041
+ "lastAt": null,
1042
+ "createdAt": "2026-08-31T12:30:38.241Z"
1043
+ },
1044
+ {
1045
+ "id": "dn-lg-dev-mth7v5rp-8qrni",
1046
+ "templateRef": "daq-power-meter",
1047
+ "name": "电参采集器 09",
1048
+ "driver": "mock",
1049
+ "enabled": true,
1050
+ "intervalMs": null,
1051
+ "publishIntervalMs": null,
1052
+ "unit": "kW",
1053
+ "decimals": 1,
1054
+ "min": 38,
1055
+ "max": 55,
1056
+ "warnLow": 39.4,
1057
+ "warnHigh": 53.6,
1058
+ "deviceBindingId": null,
1059
+ "driverConfig": {},
1060
+ "posX": 2900,
1061
+ "posZ": 200,
1062
+ "lineId": "",
1063
+ "value": null,
1064
+ "state": "offline",
1065
+ "lastAt": null,
1066
+ "createdAt": "2026-08-31T12:30:38.243Z"
1067
+ },
1068
+ {
1069
+ "id": "dn-lg-dev-mth7xne2-9ktlf",
1070
+ "templateRef": "daq-pressure-tx",
1071
+ "name": "压力变送器 01",
1072
+ "driver": "mock",
1073
+ "enabled": true,
1074
+ "intervalMs": null,
1075
+ "publishIntervalMs": null,
1076
+ "unit": "MPa",
1077
+ "decimals": 2,
1078
+ "min": 0.6,
1079
+ "max": 1.2,
1080
+ "warnLow": 0.65,
1081
+ "warnHigh": 1.15,
1082
+ "deviceBindingId": null,
1083
+ "driverConfig": {},
1084
+ "posX": 1060,
1085
+ "posZ": 1270,
1086
+ "lineId": "",
1087
+ "value": null,
1088
+ "state": "offline",
1089
+ "lastAt": null,
1090
+ "createdAt": "2026-08-31T12:32:34.465Z"
1091
+ },
1092
+ {
1093
+ "id": "dn-lg-dev-mth7xnel-idyec",
1094
+ "templateRef": "daq-temp-tc",
1095
+ "name": "温度传感器 01",
1096
+ "driver": "mock",
1097
+ "enabled": true,
1098
+ "intervalMs": null,
1099
+ "publishIntervalMs": null,
1100
+ "unit": "℃",
1101
+ "decimals": 1,
1102
+ "min": 150,
1103
+ "max": 185,
1104
+ "warnLow": 152.8,
1105
+ "warnHigh": 182.2,
1106
+ "deviceBindingId": null,
1107
+ "driverConfig": {},
1108
+ "posX": 1690,
1109
+ "posZ": 1280,
1110
+ "lineId": "",
1111
+ "value": null,
1112
+ "state": "offline",
1113
+ "lastAt": null,
1114
+ "createdAt": "2026-08-31T12:32:34.476Z"
1115
+ },
1116
+ {
1117
+ "id": "dn-lg-dev-mth7xnf1-v1oe5",
1118
+ "templateRef": "daq-tension-cell",
1119
+ "name": "张力传感器 01",
1120
+ "driver": "mock",
1121
+ "enabled": true,
1122
+ "intervalMs": null,
1123
+ "publishIntervalMs": null,
1124
+ "unit": "kN",
1125
+ "decimals": 1,
1126
+ "min": 18,
1127
+ "max": 26,
1128
+ "warnLow": 18.6,
1129
+ "warnHigh": 25.4,
1130
+ "deviceBindingId": null,
1131
+ "driverConfig": {},
1132
+ "posX": 2032,
1133
+ "posZ": 1280,
1134
+ "lineId": "",
1135
+ "value": null,
1136
+ "state": "offline",
1137
+ "lastAt": null,
1138
+ "createdAt": "2026-08-31T12:32:34.478Z"
1139
+ },
1140
+ {
1141
+ "id": "dn-76dc3846",
1142
+ "templateRef": "daq-temp-tc",
1143
+ "name": "熔体温度",
1144
+ "driver": "mock",
1145
+ "enabled": true,
1146
+ "intervalMs": 500,
1147
+ "publishIntervalMs": null,
1148
+ "unit": "℃",
1149
+ "decimals": 1,
1150
+ "min": 150,
1151
+ "max": 185,
1152
+ "warnLow": 152.8,
1153
+ "warnHigh": 182.2,
1154
+ "deviceBindingId": null,
1155
+ "driverConfig": {},
1156
+ "lineId": "ln-29c185e7",
1157
+ "value": 165.5,
1158
+ "state": "ok",
1159
+ "lastAt": "2026-09-01T12:27:19.605Z",
1160
+ "createdAt": "2026-08-31T16:20:13.689Z"
1161
+ },
1162
+ {
1163
+ "id": "dn-26d2aff9",
1164
+ "templateRef": "daq-pressure-tx",
1165
+ "name": "熔体压力",
1166
+ "driver": "mock",
1167
+ "enabled": true,
1168
+ "intervalMs": 500,
1169
+ "publishIntervalMs": null,
1170
+ "unit": "MPa",
1171
+ "decimals": 2,
1172
+ "min": 0.6,
1173
+ "max": 1.2,
1174
+ "warnLow": 0.65,
1175
+ "warnHigh": 1.15,
1176
+ "deviceBindingId": "dev-mti1f14p-3uyp2",
1177
+ "driverConfig": {},
1178
+ "lineId": "ln-29c185e7",
1179
+ "value": 0.82,
1180
+ "state": "ok",
1181
+ "lastAt": "2026-09-01T12:27:19.605Z",
1182
+ "createdAt": "2026-08-31T16:20:13.693Z"
1183
+ },
1184
+ {
1185
+ "id": "dn-d8b04abb",
1186
+ "templateRef": "daq-temp-tc",
1187
+ "name": "OptE2E温度采集-jrzv1",
1188
+ "driver": "mock",
1189
+ "enabled": true,
1190
+ "intervalMs": 500,
1191
+ "publishIntervalMs": null,
1192
+ "unit": "℃",
1193
+ "decimals": 1,
1194
+ "min": 150,
1195
+ "max": 185,
1196
+ "warnLow": 152.8,
1197
+ "warnHigh": 182.2,
1198
+ "deviceBindingId": "dev-mtgnirc0-skbbh",
1199
+ "driverConfig": {},
1200
+ "posX": 1330,
1201
+ "posZ": 1130,
1202
+ "lineId": "ln-2398a086",
1203
+ "value": null,
1204
+ "state": "offline",
1205
+ "lastAt": null,
1206
+ "createdAt": "2026-08-31T16:50:08.289Z"
1207
+ },
1208
+ {
1209
+ "id": "dn-cdd6aca0",
1210
+ "templateRef": "daq-ct-ca6a4580",
1211
+ "name": "警告验证节点-wjcr",
1212
+ "driver": "mock",
1213
+ "enabled": true,
1214
+ "intervalMs": 500,
1215
+ "publishIntervalMs": null,
1216
+ "unit": "kPa",
1217
+ "decimals": 2,
1218
+ "min": 1000,
1219
+ "max": 1001,
1220
+ "warnLow": 1000.08,
1221
+ "warnHigh": 1000.92,
1222
+ "deviceBindingId": null,
1223
+ "driverConfig": {},
1224
+ "lineId": "ln-b475747b",
1225
+ "value": null,
1226
+ "state": "offline",
1227
+ "lastAt": null,
1228
+ "createdAt": "2026-09-01T03:20:41.188Z"
1229
+ },
1230
+ {
1231
+ "id": "dn-e502108a",
1232
+ "templateRef": "daq-temp-tc",
1233
+ "name": "警告验证采集-k2xh",
1234
+ "driver": "mock",
1235
+ "enabled": true,
1236
+ "intervalMs": 500,
1237
+ "publishIntervalMs": null,
1238
+ "unit": "℃",
1239
+ "decimals": 1,
1240
+ "min": 150,
1241
+ "max": 185,
1242
+ "warnLow": 152.8,
1243
+ "warnHigh": 182.2,
1244
+ "deviceBindingId": null,
1245
+ "driverConfig": {},
1246
+ "lineId": "ln-c377a6bf",
1247
+ "value": 167.9,
1248
+ "state": "alarm",
1249
+ "lastAt": "2026-09-01T12:27:19.605Z",
1250
+ "createdAt": "2026-09-01T03:23:18.165Z"
1251
+ },
1252
+ {
1253
+ "id": "dn-lg-dev-mti3umqy-yqosh",
1254
+ "templateRef": "daq-temp-tc",
1255
+ "name": "温度传感器 01",
1256
+ "driver": "mock",
1257
+ "enabled": true,
1258
+ "intervalMs": null,
1259
+ "publishIntervalMs": null,
1260
+ "unit": "℃",
1261
+ "decimals": 1,
1262
+ "min": 150,
1263
+ "max": 185,
1264
+ "warnLow": 152.8,
1265
+ "warnHigh": 182.2,
1266
+ "deviceBindingId": null,
1267
+ "driverConfig": {},
1268
+ "posX": 1750,
1269
+ "posZ": 690,
1270
+ "lineId": "",
1271
+ "value": null,
1272
+ "state": "offline",
1273
+ "lastAt": null,
1274
+ "createdAt": "2026-09-01T03:26:03.182Z"
1275
+ },
1276
+ {
1277
+ "id": "dn-lg-dev-mti3umri-scnud",
1278
+ "templateRef": "daq-power-meter",
1279
+ "name": "电参采集器 09",
1280
+ "driver": "mock",
1281
+ "enabled": true,
1282
+ "intervalMs": null,
1283
+ "publishIntervalMs": null,
1284
+ "unit": "kW",
1285
+ "decimals": 1,
1286
+ "min": 38,
1287
+ "max": 55,
1288
+ "warnLow": 39.4,
1289
+ "warnHigh": 53.6,
1290
+ "deviceBindingId": null,
1291
+ "driverConfig": {},
1292
+ "posX": 2900,
1293
+ "posZ": 200,
1294
+ "lineId": "",
1295
+ "value": null,
1296
+ "state": "offline",
1297
+ "lastAt": null,
1298
+ "createdAt": "2026-09-01T03:26:03.183Z"
1299
+ },
1300
+ {
1301
+ "id": "dn-7a693d08",
1302
+ "templateRef": "daq-temp-tc",
1303
+ "name": "MQTT采集-jfoz",
1304
+ "driver": "mqtt",
1305
+ "enabled": true,
1306
+ "intervalMs": 1000,
1307
+ "publishIntervalMs": null,
1308
+ "unit": "℃",
1309
+ "decimals": 1,
1310
+ "min": 150,
1311
+ "max": 185,
1312
+ "warnLow": 152.8,
1313
+ "warnHigh": 182.2,
1314
+ "deviceBindingId": null,
1315
+ "driverConfig": {
1316
+ "host": "127.0.0.1",
1317
+ "port": 1883,
1318
+ "topic": "aw/sim/temp",
1319
+ "jsonPath": "data.temp"
1320
+ },
1321
+ "lineId": "ln-60c01363",
1322
+ "value": null,
1323
+ "state": "offline",
1324
+ "lastAt": null,
1325
+ "createdAt": "2026-09-01T05:46:40.459Z"
1326
+ },
1327
+ {
1328
+ "id": "dn-87023446",
1329
+ "templateRef": "daq-temp-tc",
1330
+ "name": "HTTP采集-jfoz",
1331
+ "driver": "http",
1332
+ "enabled": true,
1333
+ "intervalMs": 1000,
1334
+ "publishIntervalMs": null,
1335
+ "unit": "℃",
1336
+ "decimals": 1,
1337
+ "min": 150,
1338
+ "max": 185,
1339
+ "warnLow": 152.8,
1340
+ "warnHigh": 182.2,
1341
+ "deviceBindingId": null,
1342
+ "driverConfig": {
1343
+ "url": "http://127.0.0.1:1889/api/value",
1344
+ "jsonPath": "data.value"
1345
+ },
1346
+ "lineId": "ln-60c01363",
1347
+ "value": null,
1348
+ "state": "offline",
1349
+ "lastAt": null,
1350
+ "createdAt": "2026-09-01T05:46:41.076Z"
1351
+ },
1352
+ {
1353
+ "id": "dn-6a8ec2c8",
1354
+ "templateRef": "daq-temp-tc",
1355
+ "name": "RTU采集-jfoz",
1356
+ "driver": "modbus-rtu",
1357
+ "enabled": true,
1358
+ "intervalMs": 1000,
1359
+ "publishIntervalMs": null,
1360
+ "unit": "℃",
1361
+ "decimals": 1,
1362
+ "min": 150,
1363
+ "max": 185,
1364
+ "warnLow": 152.8,
1365
+ "warnHigh": 182.2,
1366
+ "deviceBindingId": null,
1367
+ "driverConfig": {
1368
+ "host": "127.0.0.1",
1369
+ "port": 15030,
1370
+ "unitId": 1,
1371
+ "register": 40001,
1372
+ "dataType": "uint16"
1373
+ },
1374
+ "lineId": "ln-60c01363",
1375
+ "value": null,
1376
+ "state": "offline",
1377
+ "lastAt": null,
1378
+ "createdAt": "2026-09-01T05:46:41.152Z"
1379
+ },
1380
+ {
1381
+ "id": "dn-d4877ea5",
1382
+ "templateRef": "daq-temp-tc",
1383
+ "name": "MQTT采集-ekd9",
1384
+ "driver": "mqtt",
1385
+ "enabled": true,
1386
+ "intervalMs": 1000,
1387
+ "publishIntervalMs": null,
1388
+ "unit": "℃",
1389
+ "decimals": 1,
1390
+ "min": 150,
1391
+ "max": 185,
1392
+ "warnLow": 152.8,
1393
+ "warnHigh": 182.2,
1394
+ "deviceBindingId": null,
1395
+ "driverConfig": {
1396
+ "host": "127.0.0.1",
1397
+ "port": 1883,
1398
+ "topic": "aw/sim/temp",
1399
+ "jsonPath": "data.temp"
1400
+ },
1401
+ "lineId": "",
1402
+ "value": null,
1403
+ "state": "offline",
1404
+ "lastAt": null,
1405
+ "createdAt": "2026-09-01T05:56:56.649Z"
1406
+ },
1407
+ {
1408
+ "id": "dn-d6b74e35",
1409
+ "templateRef": "daq-temp-tc",
1410
+ "name": "HTTP采集-ekd9",
1411
+ "driver": "http",
1412
+ "enabled": true,
1413
+ "intervalMs": 1000,
1414
+ "publishIntervalMs": null,
1415
+ "unit": "℃",
1416
+ "decimals": 1,
1417
+ "min": 150,
1418
+ "max": 185,
1419
+ "warnLow": 152.8,
1420
+ "warnHigh": 182.2,
1421
+ "deviceBindingId": null,
1422
+ "driverConfig": {
1423
+ "url": "http://127.0.0.1:1889/api/value",
1424
+ "jsonPath": "data.value"
1425
+ },
1426
+ "lineId": "",
1427
+ "value": null,
1428
+ "state": "offline",
1429
+ "lastAt": null,
1430
+ "createdAt": "2026-09-01T05:56:58.704Z"
1431
+ },
1432
+ {
1433
+ "id": "dn-a4abd4ed",
1434
+ "templateRef": "daq-temp-tc",
1435
+ "name": "RTU采集-ekd9",
1436
+ "driver": "modbus-rtu",
1437
+ "enabled": true,
1438
+ "intervalMs": 1000,
1439
+ "publishIntervalMs": null,
1440
+ "unit": "℃",
1441
+ "decimals": 1,
1442
+ "min": 150,
1443
+ "max": 185,
1444
+ "warnLow": 152.8,
1445
+ "warnHigh": 182.2,
1446
+ "deviceBindingId": null,
1447
+ "driverConfig": {
1448
+ "host": "127.0.0.1",
1449
+ "port": 15030,
1450
+ "unitId": 1,
1451
+ "register": 40001,
1452
+ "dataType": "uint16"
1453
+ },
1454
+ "lineId": "",
1455
+ "value": null,
1456
+ "state": "offline",
1457
+ "lastAt": null,
1458
+ "createdAt": "2026-09-01T05:56:58.751Z"
1459
+ },
1460
+ {
1461
+ "id": "dn-7ea34a44",
1462
+ "templateRef": "daq-temp-tc",
1463
+ "name": "MQTT采集-9xhn",
1464
+ "driver": "mqtt",
1465
+ "enabled": true,
1466
+ "intervalMs": 1000,
1467
+ "publishIntervalMs": null,
1468
+ "unit": "℃",
1469
+ "decimals": 1,
1470
+ "min": 150,
1471
+ "max": 185,
1472
+ "warnLow": 152.8,
1473
+ "warnHigh": 182.2,
1474
+ "deviceBindingId": null,
1475
+ "driverConfig": {
1476
+ "host": "127.0.0.1",
1477
+ "port": 1883,
1478
+ "topic": "aw/sim/temp",
1479
+ "jsonPath": "data.temp"
1480
+ },
1481
+ "lineId": "ln-9224d3d7",
1482
+ "value": 53.8,
1483
+ "state": "alarm",
1484
+ "lastAt": "2026-09-01T12:27:19.605Z",
1485
+ "createdAt": "2026-09-01T05:59:24.243Z"
1486
+ },
1487
+ {
1488
+ "id": "dn-29740190",
1489
+ "templateRef": "daq-temp-tc",
1490
+ "name": "HTTP采集-9xhn",
1491
+ "driver": "http",
1492
+ "enabled": true,
1493
+ "intervalMs": 1000,
1494
+ "publishIntervalMs": null,
1495
+ "unit": "℃",
1496
+ "decimals": 1,
1497
+ "min": 150,
1498
+ "max": 185,
1499
+ "warnLow": 152.8,
1500
+ "warnHigh": 182.2,
1501
+ "deviceBindingId": null,
1502
+ "driverConfig": {
1503
+ "url": "http://127.0.0.1:1889/api/value",
1504
+ "jsonPath": "data.value"
1505
+ },
1506
+ "lineId": "ln-9224d3d7",
1507
+ "value": 42.7,
1508
+ "state": "alarm",
1509
+ "lastAt": "2026-09-01T12:27:19.350Z",
1510
+ "createdAt": "2026-09-01T05:59:24.282Z"
1511
+ },
1512
+ {
1513
+ "id": "dn-5ab39d28",
1514
+ "templateRef": "daq-temp-tc",
1515
+ "name": "RTU采集-9xhn",
1516
+ "driver": "modbus-rtu",
1517
+ "enabled": true,
1518
+ "intervalMs": 1000,
1519
+ "publishIntervalMs": null,
1520
+ "unit": "℃",
1521
+ "decimals": 1,
1522
+ "min": 150,
1523
+ "max": 185,
1524
+ "warnLow": 152.8,
1525
+ "warnHigh": 182.2,
1526
+ "deviceBindingId": null,
1527
+ "driverConfig": {
1528
+ "host": "127.0.0.1",
1529
+ "port": 15030,
1530
+ "unitId": 1,
1531
+ "register": 40001,
1532
+ "dataType": "uint16"
1533
+ },
1534
+ "lineId": "ln-9224d3d7",
1535
+ "value": 66,
1536
+ "state": "offline",
1537
+ "lastAt": "2026-09-01T09:07:35.996Z",
1538
+ "createdAt": "2026-09-01T05:59:24.304Z"
1539
+ },
1540
+ {
1541
+ "id": "dn-b654f455",
1542
+ "templateRef": "daq-temp-tc",
1543
+ "name": "MQTT采集-6ofk",
1544
+ "driver": "mqtt",
1545
+ "enabled": true,
1546
+ "intervalMs": 1000,
1547
+ "publishIntervalMs": null,
1548
+ "unit": "℃",
1549
+ "decimals": 1,
1550
+ "min": 150,
1551
+ "max": 185,
1552
+ "warnLow": 152.8,
1553
+ "warnHigh": 182.2,
1554
+ "deviceBindingId": null,
1555
+ "driverConfig": {
1556
+ "host": "127.0.0.1",
1557
+ "port": 1883,
1558
+ "topic": "aw/sim/temp",
1559
+ "jsonPath": "data.temp"
1560
+ },
1561
+ "lineId": "ln-386c53ed",
1562
+ "value": 53.8,
1563
+ "state": "alarm",
1564
+ "lastAt": "2026-09-01T12:27:19.605Z",
1565
+ "createdAt": "2026-09-01T06:05:53.186Z"
1566
+ },
1567
+ {
1568
+ "id": "dn-ea84eedb",
1569
+ "templateRef": "daq-temp-tc",
1570
+ "name": "HTTP采集-6ofk",
1571
+ "driver": "http",
1572
+ "enabled": true,
1573
+ "intervalMs": 1000,
1574
+ "publishIntervalMs": null,
1575
+ "unit": "℃",
1576
+ "decimals": 1,
1577
+ "min": 150,
1578
+ "max": 185,
1579
+ "warnLow": 152.8,
1580
+ "warnHigh": 182.2,
1581
+ "deviceBindingId": null,
1582
+ "driverConfig": {
1583
+ "url": "http://127.0.0.1:1889/api/value",
1584
+ "jsonPath": "data.value"
1585
+ },
1586
+ "lineId": "ln-386c53ed",
1587
+ "value": 42.6,
1588
+ "state": "alarm",
1589
+ "lastAt": "2026-09-01T12:27:19.605Z",
1590
+ "createdAt": "2026-09-01T06:05:53.225Z"
1591
+ },
1592
+ {
1593
+ "id": "dn-b12b038f",
1594
+ "templateRef": "daq-temp-tc",
1595
+ "name": "RTU采集-6ofk",
1596
+ "driver": "modbus-rtu",
1597
+ "enabled": true,
1598
+ "intervalMs": 1000,
1599
+ "publishIntervalMs": null,
1600
+ "unit": "℃",
1601
+ "decimals": 1,
1602
+ "min": 150,
1603
+ "max": 185,
1604
+ "warnLow": 152.8,
1605
+ "warnHigh": 182.2,
1606
+ "deviceBindingId": null,
1607
+ "driverConfig": {
1608
+ "host": "127.0.0.1",
1609
+ "port": 15030,
1610
+ "unitId": 1,
1611
+ "register": 40001,
1612
+ "dataType": "uint16"
1613
+ },
1614
+ "lineId": "ln-386c53ed",
1615
+ "value": 66,
1616
+ "state": "offline",
1617
+ "lastAt": "2026-09-01T09:07:35.996Z",
1618
+ "createdAt": "2026-09-01T06:05:53.246Z"
1619
+ },
1620
+ {
1621
+ "id": "dn-64c21f70",
1622
+ "templateRef": "daq-temp-tc",
1623
+ "name": "MQTT采集-x4hd",
1624
+ "driver": "mqtt",
1625
+ "enabled": true,
1626
+ "intervalMs": 1000,
1627
+ "publishIntervalMs": null,
1628
+ "unit": "℃",
1629
+ "decimals": 1,
1630
+ "min": 150,
1631
+ "max": 185,
1632
+ "warnLow": 152.8,
1633
+ "warnHigh": 182.2,
1634
+ "deviceBindingId": null,
1635
+ "driverConfig": {
1636
+ "host": "127.0.0.1",
1637
+ "port": 1883,
1638
+ "topic": "aw/sim/temp",
1639
+ "jsonPath": "data.temp"
1640
+ },
1641
+ "lineId": "ln-5957f6db",
1642
+ "value": 53.8,
1643
+ "state": "alarm",
1644
+ "lastAt": "2026-09-01T12:27:19.605Z",
1645
+ "createdAt": "2026-09-01T06:09:02.252Z"
1646
+ },
1647
+ {
1648
+ "id": "dn-15d0e667",
1649
+ "templateRef": "daq-temp-tc",
1650
+ "name": "HTTP采集-x4hd",
1651
+ "driver": "http",
1652
+ "enabled": true,
1653
+ "intervalMs": 1000,
1654
+ "publishIntervalMs": null,
1655
+ "unit": "℃",
1656
+ "decimals": 1,
1657
+ "min": 150,
1658
+ "max": 185,
1659
+ "warnLow": 152.8,
1660
+ "warnHigh": 182.2,
1661
+ "deviceBindingId": null,
1662
+ "driverConfig": {
1663
+ "url": "http://127.0.0.1:1889/api/value",
1664
+ "jsonPath": "data.value"
1665
+ },
1666
+ "lineId": "ln-5957f6db",
1667
+ "value": 42.9,
1668
+ "state": "alarm",
1669
+ "lastAt": "2026-09-01T12:27:19.350Z",
1670
+ "createdAt": "2026-09-01T06:09:02.277Z"
1671
+ },
1672
+ {
1673
+ "id": "dn-e1957d92",
1674
+ "templateRef": "daq-temp-tc",
1675
+ "name": "RTU采集-x4hd",
1676
+ "driver": "modbus-rtu",
1677
+ "enabled": true,
1678
+ "intervalMs": 1000,
1679
+ "publishIntervalMs": null,
1680
+ "unit": "℃",
1681
+ "decimals": 1,
1682
+ "min": 150,
1683
+ "max": 185,
1684
+ "warnLow": 152.8,
1685
+ "warnHigh": 182.2,
1686
+ "deviceBindingId": null,
1687
+ "driverConfig": {
1688
+ "host": "127.0.0.1",
1689
+ "port": 15030,
1690
+ "unitId": 1,
1691
+ "register": 40001,
1692
+ "dataType": "uint16"
1693
+ },
1694
+ "lineId": "ln-5957f6db",
1695
+ "value": 66,
1696
+ "state": "offline",
1697
+ "lastAt": "2026-09-01T09:07:35.996Z",
1698
+ "createdAt": "2026-09-01T06:09:02.297Z"
1699
+ },
1700
+ {
1701
+ "id": "dn-ad59dd2a",
1702
+ "templateRef": "daq-temp-tc",
1703
+ "name": "MQTT采集-teti",
1704
+ "driver": "mqtt",
1705
+ "enabled": true,
1706
+ "intervalMs": 1000,
1707
+ "publishIntervalMs": null,
1708
+ "unit": "℃",
1709
+ "decimals": 1,
1710
+ "min": 150,
1711
+ "max": 185,
1712
+ "warnLow": 152.8,
1713
+ "warnHigh": 182.2,
1714
+ "deviceBindingId": null,
1715
+ "driverConfig": {
1716
+ "host": "127.0.0.1",
1717
+ "port": 1883,
1718
+ "topic": "aw/sim/temp",
1719
+ "jsonPath": "data.temp"
1720
+ },
1721
+ "lineId": "ln-9ec42f08",
1722
+ "value": 53.8,
1723
+ "state": "alarm",
1724
+ "lastAt": "2026-09-01T12:27:19.605Z",
1725
+ "createdAt": "2026-09-01T06:13:44.458Z"
1726
+ },
1727
+ {
1728
+ "id": "dn-47748c6b",
1729
+ "templateRef": "daq-temp-tc",
1730
+ "name": "HTTP采集-teti",
1731
+ "driver": "http",
1732
+ "enabled": true,
1733
+ "intervalMs": 1000,
1734
+ "publishIntervalMs": null,
1735
+ "unit": "℃",
1736
+ "decimals": 1,
1737
+ "min": 150,
1738
+ "max": 185,
1739
+ "warnLow": 152.8,
1740
+ "warnHigh": 182.2,
1741
+ "deviceBindingId": null,
1742
+ "driverConfig": {
1743
+ "url": "http://127.0.0.1:1889/api/value",
1744
+ "jsonPath": "data.value"
1745
+ },
1746
+ "lineId": "ln-9ec42f08",
1747
+ "value": 42.1,
1748
+ "state": "alarm",
1749
+ "lastAt": "2026-09-01T12:27:19.350Z",
1750
+ "createdAt": "2026-09-01T06:13:44.498Z"
1751
+ },
1752
+ {
1753
+ "id": "dn-aa4f6dbf",
1754
+ "templateRef": "daq-temp-tc",
1755
+ "name": "RTU采集-teti",
1756
+ "driver": "modbus-rtu",
1757
+ "enabled": true,
1758
+ "intervalMs": 1000,
1759
+ "publishIntervalMs": null,
1760
+ "unit": "℃",
1761
+ "decimals": 1,
1762
+ "min": 150,
1763
+ "max": 185,
1764
+ "warnLow": 152.8,
1765
+ "warnHigh": 182.2,
1766
+ "deviceBindingId": null,
1767
+ "driverConfig": {
1768
+ "host": "127.0.0.1",
1769
+ "port": 15030,
1770
+ "unitId": 1,
1771
+ "register": 40001,
1772
+ "dataType": "uint16"
1773
+ },
1774
+ "lineId": "ln-9ec42f08",
1775
+ "value": 66,
1776
+ "state": "offline",
1777
+ "lastAt": "2026-09-01T09:07:35.996Z",
1778
+ "createdAt": "2026-09-01T06:13:44.550Z"
1779
+ },
1780
+ {
1781
+ "id": "dn-aa6f9b5c",
1782
+ "templateRef": "daq-temp-tc",
1783
+ "name": "MQTT采集-fg8t",
1784
+ "driver": "mqtt",
1785
+ "enabled": true,
1786
+ "intervalMs": 1000,
1787
+ "publishIntervalMs": null,
1788
+ "unit": "℃",
1789
+ "decimals": 1,
1790
+ "min": 150,
1791
+ "max": 185,
1792
+ "warnLow": 152.8,
1793
+ "warnHigh": 182.2,
1794
+ "deviceBindingId": null,
1795
+ "driverConfig": {
1796
+ "host": "127.0.0.1",
1797
+ "port": 1883,
1798
+ "topic": "aw/sim/temp",
1799
+ "jsonPath": "data.temp"
1800
+ },
1801
+ "lineId": "ln-69e37924",
1802
+ "value": 53.8,
1803
+ "state": "alarm",
1804
+ "lastAt": "2026-09-01T12:27:19.605Z",
1805
+ "createdAt": "2026-09-01T06:16:47.569Z"
1806
+ },
1807
+ {
1808
+ "id": "dn-1b86495b",
1809
+ "templateRef": "daq-temp-tc",
1810
+ "name": "HTTP采集-fg8t",
1811
+ "driver": "http",
1812
+ "enabled": true,
1813
+ "intervalMs": 1000,
1814
+ "publishIntervalMs": null,
1815
+ "unit": "℃",
1816
+ "decimals": 1,
1817
+ "min": 150,
1818
+ "max": 185,
1819
+ "warnLow": 152.8,
1820
+ "warnHigh": 182.2,
1821
+ "deviceBindingId": null,
1822
+ "driverConfig": {
1823
+ "url": "http://127.0.0.1:1889/api/value",
1824
+ "jsonPath": "data.value"
1825
+ },
1826
+ "lineId": "ln-69e37924",
1827
+ "value": 42.8,
1828
+ "state": "alarm",
1829
+ "lastAt": "2026-09-01T12:27:19.350Z",
1830
+ "createdAt": "2026-09-01T06:16:47.597Z"
1831
+ },
1832
+ {
1833
+ "id": "dn-570637bd",
1834
+ "templateRef": "daq-temp-tc",
1835
+ "name": "RTU采集-fg8t",
1836
+ "driver": "modbus-rtu",
1837
+ "enabled": true,
1838
+ "intervalMs": 1000,
1839
+ "publishIntervalMs": null,
1840
+ "unit": "℃",
1841
+ "decimals": 1,
1842
+ "min": 150,
1843
+ "max": 185,
1844
+ "warnLow": 152.8,
1845
+ "warnHigh": 182.2,
1846
+ "deviceBindingId": null,
1847
+ "driverConfig": {
1848
+ "host": "127.0.0.1",
1849
+ "port": 15030,
1850
+ "unitId": 1,
1851
+ "register": 40001,
1852
+ "dataType": "uint16"
1853
+ },
1854
+ "lineId": "ln-69e37924",
1855
+ "value": 66,
1856
+ "state": "offline",
1857
+ "lastAt": "2026-09-01T09:07:35.996Z",
1858
+ "createdAt": "2026-09-01T06:16:47.641Z"
1859
+ },
1860
+ {
1861
+ "id": "dn-bcb8b0fa",
1862
+ "templateRef": "daq-temp-tc",
1863
+ "name": "MQTT采集-w2sp",
1864
+ "driver": "mqtt",
1865
+ "enabled": true,
1866
+ "intervalMs": 1000,
1867
+ "publishIntervalMs": null,
1868
+ "unit": "℃",
1869
+ "decimals": 1,
1870
+ "min": 150,
1871
+ "max": 185,
1872
+ "warnLow": 152.8,
1873
+ "warnHigh": 182.2,
1874
+ "deviceBindingId": null,
1875
+ "driverConfig": {
1876
+ "host": "127.0.0.1",
1877
+ "port": 1883,
1878
+ "topic": "aw/sim/temp",
1879
+ "jsonPath": "data.temp"
1880
+ },
1881
+ "lineId": "ln-c269e692",
1882
+ "value": 53.8,
1883
+ "state": "alarm",
1884
+ "lastAt": "2026-09-01T12:27:19.605Z",
1885
+ "createdAt": "2026-09-01T06:56:06.096Z"
1886
+ },
1887
+ {
1888
+ "id": "dn-81ed34b1",
1889
+ "templateRef": "daq-temp-tc",
1890
+ "name": "HTTP采集-w2sp",
1891
+ "driver": "http",
1892
+ "enabled": true,
1893
+ "intervalMs": 1000,
1894
+ "publishIntervalMs": null,
1895
+ "unit": "℃",
1896
+ "decimals": 1,
1897
+ "min": 150,
1898
+ "max": 185,
1899
+ "warnLow": 152.8,
1900
+ "warnHigh": 182.2,
1901
+ "deviceBindingId": null,
1902
+ "driverConfig": {
1903
+ "url": "http://127.0.0.1:1889/api/value",
1904
+ "jsonPath": "data.value"
1905
+ },
1906
+ "lineId": "ln-c269e692",
1907
+ "value": 42.1,
1908
+ "state": "alarm",
1909
+ "lastAt": "2026-09-01T12:27:19.350Z",
1910
+ "createdAt": "2026-09-01T06:56:06.588Z"
1911
+ },
1912
+ {
1913
+ "id": "dn-19f38e38",
1914
+ "templateRef": "daq-temp-tc",
1915
+ "name": "RTU采集-w2sp",
1916
+ "driver": "modbus-rtu",
1917
+ "enabled": true,
1918
+ "intervalMs": 1000,
1919
+ "publishIntervalMs": null,
1920
+ "unit": "℃",
1921
+ "decimals": 1,
1922
+ "min": 150,
1923
+ "max": 185,
1924
+ "warnLow": 152.8,
1925
+ "warnHigh": 182.2,
1926
+ "deviceBindingId": null,
1927
+ "driverConfig": {
1928
+ "host": "127.0.0.1",
1929
+ "port": 15030,
1930
+ "unitId": 1,
1931
+ "register": 40001,
1932
+ "dataType": "uint16"
1933
+ },
1934
+ "lineId": "ln-c269e692",
1935
+ "value": 66,
1936
+ "state": "offline",
1937
+ "lastAt": "2026-09-01T09:07:35.996Z",
1938
+ "createdAt": "2026-09-01T06:56:06.636Z"
1939
+ },
1940
+ {
1941
+ "id": "dn-c450d0d3",
1942
+ "templateRef": "daq-temp-tc",
1943
+ "name": "MQTT采集-lp4h",
1944
+ "driver": "mqtt",
1945
+ "enabled": true,
1946
+ "intervalMs": 1000,
1947
+ "publishIntervalMs": null,
1948
+ "unit": "℃",
1949
+ "decimals": 1,
1950
+ "min": 150,
1951
+ "max": 185,
1952
+ "warnLow": 152.8,
1953
+ "warnHigh": 182.2,
1954
+ "deviceBindingId": null,
1955
+ "driverConfig": {
1956
+ "host": "127.0.0.1",
1957
+ "port": 1883,
1958
+ "topic": "aw/sim/temp",
1959
+ "jsonPath": "data.temp"
1960
+ },
1961
+ "lineId": "ln-229d1637",
1962
+ "value": 53.8,
1963
+ "state": "alarm",
1964
+ "lastAt": "2026-09-01T12:27:19.605Z",
1965
+ "createdAt": "2026-09-01T06:57:29.413Z"
1966
+ },
1967
+ {
1968
+ "id": "dn-3d7a3c2d",
1969
+ "templateRef": "daq-temp-tc",
1970
+ "name": "HTTP采集-lp4h",
1971
+ "driver": "http",
1972
+ "enabled": true,
1973
+ "intervalMs": 1000,
1974
+ "publishIntervalMs": null,
1975
+ "unit": "℃",
1976
+ "decimals": 1,
1977
+ "min": 150,
1978
+ "max": 185,
1979
+ "warnLow": 152.8,
1980
+ "warnHigh": 182.2,
1981
+ "deviceBindingId": null,
1982
+ "driverConfig": {
1983
+ "url": "http://127.0.0.1:1889/api/value",
1984
+ "jsonPath": "data.value"
1985
+ },
1986
+ "lineId": "ln-229d1637",
1987
+ "value": 42.7,
1988
+ "state": "alarm",
1989
+ "lastAt": "2026-09-01T12:27:19.350Z",
1990
+ "createdAt": "2026-09-01T06:57:29.458Z"
1991
+ },
1992
+ {
1993
+ "id": "dn-97b919e0",
1994
+ "templateRef": "daq-temp-tc",
1995
+ "name": "RTU采集-lp4h",
1996
+ "driver": "modbus-rtu",
1997
+ "enabled": true,
1998
+ "intervalMs": 1000,
1999
+ "publishIntervalMs": null,
2000
+ "unit": "℃",
2001
+ "decimals": 1,
2002
+ "min": 150,
2003
+ "max": 185,
2004
+ "warnLow": 152.8,
2005
+ "warnHigh": 182.2,
2006
+ "deviceBindingId": null,
2007
+ "driverConfig": {
2008
+ "host": "127.0.0.1",
2009
+ "port": 15030,
2010
+ "unitId": 1,
2011
+ "register": 40001,
2012
+ "dataType": "uint16"
2013
+ },
2014
+ "lineId": "ln-229d1637",
2015
+ "value": 66,
2016
+ "state": "offline",
2017
+ "lastAt": "2026-09-01T09:07:35.996Z",
2018
+ "createdAt": "2026-09-01T06:57:29.508Z"
2019
+ },
2020
+ {
2021
+ "id": "dn-0623e734",
2022
+ "templateRef": "daq-temp-tc",
2023
+ "name": "MQTT采集-jri6",
2024
+ "driver": "mqtt",
2025
+ "enabled": true,
2026
+ "intervalMs": 1000,
2027
+ "publishIntervalMs": null,
2028
+ "unit": "℃",
2029
+ "decimals": 1,
2030
+ "min": 150,
2031
+ "max": 185,
2032
+ "warnLow": 152.8,
2033
+ "warnHigh": 182.2,
2034
+ "deviceBindingId": null,
2035
+ "driverConfig": {
2036
+ "host": "127.0.0.1",
2037
+ "port": 1883,
2038
+ "topic": "aw/sim/temp",
2039
+ "jsonPath": "data.temp"
2040
+ },
2041
+ "lineId": "ln-9546f91f",
2042
+ "value": 53.8,
2043
+ "state": "alarm",
2044
+ "lastAt": "2026-09-01T12:27:19.605Z",
2045
+ "createdAt": "2026-09-01T07:00:25.221Z"
2046
+ },
2047
+ {
2048
+ "id": "dn-5b022862",
2049
+ "templateRef": "daq-temp-tc",
2050
+ "name": "HTTP采集-jri6",
2051
+ "driver": "http",
2052
+ "enabled": true,
2053
+ "intervalMs": 1000,
2054
+ "publishIntervalMs": null,
2055
+ "unit": "℃",
2056
+ "decimals": 1,
2057
+ "min": 150,
2058
+ "max": 185,
2059
+ "warnLow": 152.8,
2060
+ "warnHigh": 182.2,
2061
+ "deviceBindingId": null,
2062
+ "driverConfig": {
2063
+ "url": "http://127.0.0.1:1889/api/value",
2064
+ "jsonPath": "data.value"
2065
+ },
2066
+ "lineId": "ln-9546f91f",
2067
+ "value": 43,
2068
+ "state": "alarm",
2069
+ "lastAt": "2026-09-01T12:27:19.605Z",
2070
+ "createdAt": "2026-09-01T07:00:25.267Z"
2071
+ },
2072
+ {
2073
+ "id": "dn-a5b47107",
2074
+ "templateRef": "daq-temp-tc",
2075
+ "name": "RTU采集-jri6",
2076
+ "driver": "modbus-rtu",
2077
+ "enabled": true,
2078
+ "intervalMs": 1000,
2079
+ "publishIntervalMs": null,
2080
+ "unit": "℃",
2081
+ "decimals": 1,
2082
+ "min": 150,
2083
+ "max": 185,
2084
+ "warnLow": 152.8,
2085
+ "warnHigh": 182.2,
2086
+ "deviceBindingId": null,
2087
+ "driverConfig": {
2088
+ "host": "127.0.0.1",
2089
+ "port": 15030,
2090
+ "unitId": 1,
2091
+ "register": 40001,
2092
+ "dataType": "uint16"
2093
+ },
2094
+ "lineId": "ln-9546f91f",
2095
+ "value": 66,
2096
+ "state": "offline",
2097
+ "lastAt": "2026-09-01T09:07:35.996Z",
2098
+ "createdAt": "2026-09-01T07:00:25.309Z"
2099
+ },
2100
+ {
2101
+ "id": "dn-7b594f05",
2102
+ "templateRef": "daq-temp-tc",
2103
+ "name": "MQTT采集-4c2d",
2104
+ "driver": "mqtt",
2105
+ "enabled": true,
2106
+ "intervalMs": 1000,
2107
+ "publishIntervalMs": null,
2108
+ "unit": "℃",
2109
+ "decimals": 1,
2110
+ "min": 150,
2111
+ "max": 185,
2112
+ "warnLow": 152.8,
2113
+ "warnHigh": 182.2,
2114
+ "deviceBindingId": null,
2115
+ "driverConfig": {
2116
+ "host": "127.0.0.1",
2117
+ "port": 1883,
2118
+ "topic": "aw/sim/temp",
2119
+ "jsonPath": "data.temp"
2120
+ },
2121
+ "lineId": "ln-087aad5b",
2122
+ "value": 53.8,
2123
+ "state": "alarm",
2124
+ "lastAt": "2026-09-01T12:27:19.605Z",
2125
+ "createdAt": "2026-09-01T07:09:07.431Z"
2126
+ },
2127
+ {
2128
+ "id": "dn-efeb5c46",
2129
+ "templateRef": "daq-temp-tc",
2130
+ "name": "HTTP采集-4c2d",
2131
+ "driver": "http",
2132
+ "enabled": true,
2133
+ "intervalMs": 1000,
2134
+ "publishIntervalMs": null,
2135
+ "unit": "℃",
2136
+ "decimals": 1,
2137
+ "min": 150,
2138
+ "max": 185,
2139
+ "warnLow": 152.8,
2140
+ "warnHigh": 182.2,
2141
+ "deviceBindingId": null,
2142
+ "driverConfig": {
2143
+ "url": "http://127.0.0.1:1889/api/value",
2144
+ "jsonPath": "data.value"
2145
+ },
2146
+ "lineId": "ln-087aad5b",
2147
+ "value": 42,
2148
+ "state": "alarm",
2149
+ "lastAt": "2026-09-01T12:27:19.605Z",
2150
+ "createdAt": "2026-09-01T07:09:07.476Z"
2151
+ },
2152
+ {
2153
+ "id": "dn-8dc373d0",
2154
+ "templateRef": "daq-temp-tc",
2155
+ "name": "RTU采集-4c2d",
2156
+ "driver": "modbus-rtu",
2157
+ "enabled": true,
2158
+ "intervalMs": 1000,
2159
+ "publishIntervalMs": null,
2160
+ "unit": "℃",
2161
+ "decimals": 1,
2162
+ "min": 150,
2163
+ "max": 185,
2164
+ "warnLow": 152.8,
2165
+ "warnHigh": 182.2,
2166
+ "deviceBindingId": null,
2167
+ "driverConfig": {
2168
+ "host": "127.0.0.1",
2169
+ "port": 15030,
2170
+ "unitId": 1,
2171
+ "register": 40001,
2172
+ "dataType": "uint16"
2173
+ },
2174
+ "lineId": "ln-087aad5b",
2175
+ "value": 66,
2176
+ "state": "offline",
2177
+ "lastAt": "2026-09-01T09:07:35.996Z",
2178
+ "createdAt": "2026-09-01T07:09:07.518Z"
2179
+ },
2180
+ {
2181
+ "id": "dn-ec6bcfac",
2182
+ "templateRef": "daq-temp-tc",
2183
+ "name": "RTU-moqx",
2184
+ "driver": "modbus-rtu",
2185
+ "enabled": true,
2186
+ "intervalMs": 1000,
2187
+ "publishIntervalMs": null,
2188
+ "unit": "℃",
2189
+ "decimals": 1,
2190
+ "min": 150,
2191
+ "max": 185,
2192
+ "warnLow": 152.8,
2193
+ "warnHigh": 182.2,
2194
+ "deviceBindingId": null,
2195
+ "driverConfig": {
2196
+ "host": "127.0.0.1",
2197
+ "port": 15030,
2198
+ "unitId": 1,
2199
+ "register": 40001,
2200
+ "dataType": "uint16"
2201
+ },
2202
+ "lineId": "ln-c1be3295",
2203
+ "value": null,
2204
+ "state": "offline",
2205
+ "lastAt": null,
2206
+ "createdAt": "2026-09-01T07:12:12.324Z"
2207
+ },
2208
+ {
2209
+ "id": "dn-4afcacc9",
2210
+ "templateRef": "daq-temp-tc",
2211
+ "name": "MQTT采集-b2ni",
2212
+ "driver": "mqtt",
2213
+ "enabled": true,
2214
+ "intervalMs": 1000,
2215
+ "publishIntervalMs": null,
2216
+ "unit": "℃",
2217
+ "decimals": 1,
2218
+ "min": 150,
2219
+ "max": 185,
2220
+ "warnLow": 152.8,
2221
+ "warnHigh": 182.2,
2222
+ "deviceBindingId": null,
2223
+ "driverConfig": {
2224
+ "host": "127.0.0.1",
2225
+ "port": 1883,
2226
+ "topic": "aw/sim/temp",
2227
+ "jsonPath": "data.temp"
2228
+ },
2229
+ "lineId": "ln-97d44f8a",
2230
+ "value": 53.8,
2231
+ "state": "alarm",
2232
+ "lastAt": "2026-09-01T12:27:19.605Z",
2233
+ "createdAt": "2026-09-01T07:13:45.029Z"
2234
+ },
2235
+ {
2236
+ "id": "dn-f3014c1e",
2237
+ "templateRef": "daq-temp-tc",
2238
+ "name": "HTTP采集-b2ni",
2239
+ "driver": "http",
2240
+ "enabled": true,
2241
+ "intervalMs": 1000,
2242
+ "publishIntervalMs": null,
2243
+ "unit": "℃",
2244
+ "decimals": 1,
2245
+ "min": 150,
2246
+ "max": 185,
2247
+ "warnLow": 152.8,
2248
+ "warnHigh": 182.2,
2249
+ "deviceBindingId": null,
2250
+ "driverConfig": {
2251
+ "url": "http://127.0.0.1:1889/api/value",
2252
+ "jsonPath": "data.value"
2253
+ },
2254
+ "lineId": "ln-97d44f8a",
2255
+ "value": 42.6,
2256
+ "state": "alarm",
2257
+ "lastAt": "2026-09-01T12:27:19.605Z",
2258
+ "createdAt": "2026-09-01T07:13:45.651Z"
2259
+ },
2260
+ {
2261
+ "id": "dn-563eb6ef",
2262
+ "templateRef": "daq-temp-tc",
2263
+ "name": "RTU采集-b2ni",
2264
+ "driver": "modbus-rtu",
2265
+ "enabled": true,
2266
+ "intervalMs": 1000,
2267
+ "publishIntervalMs": null,
2268
+ "unit": "℃",
2269
+ "decimals": 1,
2270
+ "min": 150,
2271
+ "max": 185,
2272
+ "warnLow": 152.8,
2273
+ "warnHigh": 182.2,
2274
+ "deviceBindingId": null,
2275
+ "driverConfig": {
2276
+ "host": "127.0.0.1",
2277
+ "port": 15030,
2278
+ "unitId": 1,
2279
+ "register": 40001,
2280
+ "dataType": "uint16"
2281
+ },
2282
+ "lineId": "ln-97d44f8a",
2283
+ "value": 66,
2284
+ "state": "offline",
2285
+ "lastAt": "2026-09-01T09:01:12.950Z",
2286
+ "createdAt": "2026-09-01T07:13:45.697Z"
2287
+ },
2288
+ {
2289
+ "id": "dn-30312fbe",
2290
+ "templateRef": "daq-temp-tc",
2291
+ "name": "MQTT采集-uwkf",
2292
+ "driver": "mqtt",
2293
+ "enabled": true,
2294
+ "intervalMs": 1000,
2295
+ "publishIntervalMs": null,
2296
+ "unit": "℃",
2297
+ "decimals": 1,
2298
+ "min": 150,
2299
+ "max": 185,
2300
+ "warnLow": 152.8,
2301
+ "warnHigh": 182.2,
2302
+ "deviceBindingId": null,
2303
+ "driverConfig": {
2304
+ "host": "127.0.0.1",
2305
+ "port": 1883,
2306
+ "topic": "aw/sim/temp",
2307
+ "jsonPath": "data.temp"
2308
+ },
2309
+ "lineId": "ln-a9551770",
2310
+ "value": 53.8,
2311
+ "state": "alarm",
2312
+ "lastAt": "2026-09-01T12:27:19.605Z",
2313
+ "createdAt": "2026-09-01T07:15:40.235Z"
2314
+ },
2315
+ {
2316
+ "id": "dn-2d134722",
2317
+ "templateRef": "daq-temp-tc",
2318
+ "name": "HTTP采集-uwkf",
2319
+ "driver": "http",
2320
+ "enabled": true,
2321
+ "intervalMs": 1000,
2322
+ "publishIntervalMs": null,
2323
+ "unit": "℃",
2324
+ "decimals": 1,
2325
+ "min": 150,
2326
+ "max": 185,
2327
+ "warnLow": 152.8,
2328
+ "warnHigh": 182.2,
2329
+ "deviceBindingId": null,
2330
+ "driverConfig": {
2331
+ "url": "http://127.0.0.1:1889/api/value",
2332
+ "jsonPath": "data.value"
2333
+ },
2334
+ "lineId": "ln-a9551770",
2335
+ "value": 43,
2336
+ "state": "alarm",
2337
+ "lastAt": "2026-09-01T12:27:19.605Z",
2338
+ "createdAt": "2026-09-01T07:15:40.282Z"
2339
+ },
2340
+ {
2341
+ "id": "dn-af47cd96",
2342
+ "templateRef": "daq-temp-tc",
2343
+ "name": "RTU采集-uwkf",
2344
+ "driver": "modbus-rtu",
2345
+ "enabled": true,
2346
+ "intervalMs": 1000,
2347
+ "publishIntervalMs": null,
2348
+ "unit": "℃",
2349
+ "decimals": 1,
2350
+ "min": 150,
2351
+ "max": 185,
2352
+ "warnLow": 152.8,
2353
+ "warnHigh": 182.2,
2354
+ "deviceBindingId": null,
2355
+ "driverConfig": {
2356
+ "host": "127.0.0.1",
2357
+ "port": 15030,
2358
+ "unitId": 1,
2359
+ "register": 40001,
2360
+ "dataType": "uint16"
2361
+ },
2362
+ "lineId": "ln-a9551770",
2363
+ "value": 66,
2364
+ "state": "offline",
2365
+ "lastAt": "2026-09-01T09:01:12.950Z",
2366
+ "createdAt": "2026-09-01T07:15:40.329Z"
2367
+ },
2368
+ {
2369
+ "id": "dn-b76130f3",
2370
+ "templateRef": "daq-temp-tc",
2371
+ "name": "OptE2E温度采集-677fo",
2372
+ "driver": "mock",
2373
+ "enabled": true,
2374
+ "intervalMs": 500,
2375
+ "publishIntervalMs": null,
2376
+ "unit": "℃",
2377
+ "decimals": 1,
2378
+ "min": 150,
2379
+ "max": 185,
2380
+ "warnLow": 152.8,
2381
+ "warnHigh": 182.2,
2382
+ "deviceBindingId": "dev-mthzr991-ujuad",
2383
+ "driverConfig": {},
2384
+ "posX": 1266.3,
2385
+ "posZ": 1764,
2386
+ "lineId": "ln-635c2cfa",
2387
+ "value": 167.1,
2388
+ "state": "ok",
2389
+ "lastAt": "2026-09-01T07:16:43.669Z",
2390
+ "createdAt": "2026-09-01T07:16:12.611Z"
2391
+ },
2392
+ {
2393
+ "id": "dn-8d2da361",
2394
+ "templateRef": "daq-temp-tc",
2395
+ "name": "OptE2E温度采集-nxxmd",
2396
+ "driver": "mock",
2397
+ "enabled": true,
2398
+ "intervalMs": 500,
2399
+ "publishIntervalMs": null,
2400
+ "unit": "℃",
2401
+ "decimals": 1,
2402
+ "min": 150,
2403
+ "max": 185,
2404
+ "warnLow": 152.8,
2405
+ "warnHigh": 182.2,
2406
+ "deviceBindingId": "dev-mthzr991-ujuad",
2407
+ "driverConfig": {},
2408
+ "posX": 1266.3,
2409
+ "posZ": 1764,
2410
+ "lineId": "ln-6f95b193",
2411
+ "value": 166.8,
2412
+ "state": "ok",
2413
+ "lastAt": "2026-09-01T07:17:39.852Z",
2414
+ "createdAt": "2026-09-01T07:17:08.737Z"
2415
+ },
2416
+ {
2417
+ "id": "dn-b03e428a",
2418
+ "templateRef": "daq-temp-tc",
2419
+ "name": "OptE2E温度采集-kwplh",
2420
+ "driver": "mock",
2421
+ "enabled": true,
2422
+ "intervalMs": 500,
2423
+ "publishIntervalMs": null,
2424
+ "unit": "℃",
2425
+ "decimals": 1,
2426
+ "min": 150,
2427
+ "max": 185,
2428
+ "warnLow": 152.8,
2429
+ "warnHigh": 182.2,
2430
+ "deviceBindingId": "dev-mthzr991-ujuad",
2431
+ "driverConfig": {},
2432
+ "posX": 1266.3,
2433
+ "posZ": 1764,
2434
+ "lineId": "ln-b8caafb9",
2435
+ "value": null,
2436
+ "state": "offline",
2437
+ "lastAt": null,
2438
+ "createdAt": "2026-09-01T07:20:58.052Z"
2439
+ },
2440
+ {
2441
+ "id": "dn-a1fb02cc",
2442
+ "templateRef": "daq-temp-tc",
2443
+ "name": "OptE2E温度采集-45z3z",
2444
+ "driver": "mock",
2445
+ "enabled": true,
2446
+ "intervalMs": 500,
2447
+ "publishIntervalMs": null,
2448
+ "unit": "℃",
2449
+ "decimals": 1,
2450
+ "min": 150,
2451
+ "max": 185,
2452
+ "warnLow": 152.8,
2453
+ "warnHigh": 182.2,
2454
+ "deviceBindingId": "dev-mthzr991-ujuad",
2455
+ "driverConfig": {},
2456
+ "posX": 1266.3,
2457
+ "posZ": 1764,
2458
+ "lineId": "ln-cff04274",
2459
+ "value": null,
2460
+ "state": "offline",
2461
+ "lastAt": null,
2462
+ "createdAt": "2026-09-01T07:22:56.679Z"
2463
+ },
2464
+ {
2465
+ "id": "dn-d9148f17",
2466
+ "templateRef": "daq-temp-tc",
2467
+ "name": "OptE2E温度采集-6f8qh",
2468
+ "driver": "mock",
2469
+ "enabled": true,
2470
+ "intervalMs": 500,
2471
+ "publishIntervalMs": null,
2472
+ "unit": "℃",
2473
+ "decimals": 1,
2474
+ "min": 150,
2475
+ "max": 185,
2476
+ "warnLow": 152.8,
2477
+ "warnHigh": 182.2,
2478
+ "deviceBindingId": "dev-mthzr991-ujuad",
2479
+ "driverConfig": {},
2480
+ "posX": 1266.3,
2481
+ "posZ": 1764,
2482
+ "lineId": "ln-4746929d",
2483
+ "value": 166.3,
2484
+ "state": "ok",
2485
+ "lastAt": "2026-09-01T07:28:13.970Z",
2486
+ "createdAt": "2026-09-01T07:28:05.786Z"
2487
+ },
2488
+ {
2489
+ "id": "dn-d5b5c6b0",
2490
+ "templateRef": "daq-temp-tc",
2491
+ "name": "dcw审计-温度通道",
2492
+ "driver": "mock",
2493
+ "enabled": true,
2494
+ "intervalMs": 500,
2495
+ "publishIntervalMs": null,
2496
+ "unit": "℃",
2497
+ "decimals": 1,
2498
+ "min": 150,
2499
+ "max": 185,
2500
+ "warnLow": 152.8,
2501
+ "warnHigh": 182.2,
2502
+ "deviceBindingId": null,
2503
+ "driverConfig": {},
2504
+ "lineId": "ln-4b84a228",
2505
+ "value": null,
2506
+ "state": "offline",
2507
+ "lastAt": null,
2508
+ "createdAt": "2026-09-01T07:28:35.731Z"
2509
+ },
2510
+ {
2511
+ "id": "dn-fd9ac57b",
2512
+ "templateRef": "daq-temp-tc",
2513
+ "name": "OpsLog采集-aomy4",
2514
+ "driver": "mock",
2515
+ "enabled": true,
2516
+ "intervalMs": 500,
2517
+ "publishIntervalMs": null,
2518
+ "unit": "℃",
2519
+ "decimals": 1,
2520
+ "min": 150,
2521
+ "max": 185,
2522
+ "warnLow": 152.8,
2523
+ "warnHigh": 182.2,
2524
+ "deviceBindingId": null,
2525
+ "driverConfig": {},
2526
+ "lineId": "ln-2d785bd8",
2527
+ "value": null,
2528
+ "state": "offline",
2529
+ "lastAt": null,
2530
+ "createdAt": "2026-09-01T08:52:40.836Z"
2531
+ },
2532
+ {
2533
+ "id": "dn-ba882642",
2534
+ "templateRef": "daq-temp-tc",
2535
+ "name": "OpsLog采集-dgdoc",
2536
+ "driver": "mock",
2537
+ "enabled": true,
2538
+ "intervalMs": 500,
2539
+ "publishIntervalMs": null,
2540
+ "unit": "℃",
2541
+ "decimals": 1,
2542
+ "min": 150,
2543
+ "max": 185,
2544
+ "warnLow": 152.8,
2545
+ "warnHigh": 182.2,
2546
+ "deviceBindingId": null,
2547
+ "driverConfig": {},
2548
+ "lineId": "ln-ec406cd4",
2549
+ "value": null,
2550
+ "state": "offline",
2551
+ "lastAt": null,
2552
+ "createdAt": "2026-09-01T08:54:00.045Z"
2553
+ },
2554
+ {
2555
+ "id": "dn-2169436a",
2556
+ "templateRef": "daq-temp-tc",
2557
+ "name": "MQTT采集-kk6l",
2558
+ "driver": "mqtt",
2559
+ "enabled": true,
2560
+ "intervalMs": 1000,
2561
+ "publishIntervalMs": null,
2562
+ "unit": "℃",
2563
+ "decimals": 1,
2564
+ "min": 150,
2565
+ "max": 185,
2566
+ "warnLow": 152.8,
2567
+ "warnHigh": 182.2,
2568
+ "deviceBindingId": null,
2569
+ "driverConfig": {
2570
+ "host": "127.0.0.1",
2571
+ "port": 1883,
2572
+ "topic": "aw/sim/temp",
2573
+ "jsonPath": "data.temp"
2574
+ },
2575
+ "lineId": "ln-844ad82f",
2576
+ "value": 53.8,
2577
+ "state": "alarm",
2578
+ "lastAt": "2026-09-01T12:27:19.605Z",
2579
+ "createdAt": "2026-09-01T09:06:55.829Z"
2580
+ },
2581
+ {
2582
+ "id": "dn-2ade307d",
2583
+ "templateRef": "daq-temp-tc",
2584
+ "name": "HTTP采集-kk6l",
2585
+ "driver": "http",
2586
+ "enabled": true,
2587
+ "intervalMs": 1000,
2588
+ "publishIntervalMs": null,
2589
+ "unit": "℃",
2590
+ "decimals": 1,
2591
+ "min": 150,
2592
+ "max": 185,
2593
+ "warnLow": 152.8,
2594
+ "warnHigh": 182.2,
2595
+ "deviceBindingId": null,
2596
+ "driverConfig": {
2597
+ "url": "http://127.0.0.1:1889/api/value",
2598
+ "jsonPath": "data.value"
2599
+ },
2600
+ "lineId": "ln-844ad82f",
2601
+ "value": 42.8,
2602
+ "state": "alarm",
2603
+ "lastAt": "2026-09-01T12:27:19.605Z",
2604
+ "createdAt": "2026-09-01T09:06:55.906Z"
2605
+ },
2606
+ {
2607
+ "id": "dn-1b42a9e5",
2608
+ "templateRef": "daq-temp-tc",
2609
+ "name": "RTU采集-kk6l",
2610
+ "driver": "modbus-rtu",
2611
+ "enabled": true,
2612
+ "intervalMs": 1000,
2613
+ "publishIntervalMs": null,
2614
+ "unit": "℃",
2615
+ "decimals": 1,
2616
+ "min": 150,
2617
+ "max": 185,
2618
+ "warnLow": 152.8,
2619
+ "warnHigh": 182.2,
2620
+ "deviceBindingId": null,
2621
+ "driverConfig": {
2622
+ "host": "127.0.0.1",
2623
+ "port": 15030,
2624
+ "unitId": 1,
2625
+ "register": 40001,
2626
+ "dataType": "uint16"
2627
+ },
2628
+ "lineId": "ln-844ad82f",
2629
+ "value": 66,
2630
+ "state": "offline",
2631
+ "lastAt": "2026-09-01T09:07:36.508Z",
2632
+ "createdAt": "2026-09-01T09:06:55.959Z"
2633
+ },
2634
+ {
2635
+ "id": "dn-5976f563",
2636
+ "templateRef": "daq-temp-tc",
2637
+ "name": "OptE2E温度采集-gvy2d",
2638
+ "driver": "mock",
2639
+ "enabled": true,
2640
+ "intervalMs": 500,
2641
+ "publishIntervalMs": null,
2642
+ "unit": "℃",
2643
+ "decimals": 1,
2644
+ "min": 150,
2645
+ "max": 185,
2646
+ "warnLow": 152.8,
2647
+ "warnHigh": 182.2,
2648
+ "deviceBindingId": "dev-mthzr991-ujuad",
2649
+ "driverConfig": {},
2650
+ "posX": 1266.3,
2651
+ "posZ": 1764,
2652
+ "lineId": "ln-fcd8023a",
2653
+ "value": null,
2654
+ "state": "offline",
2655
+ "lastAt": null,
2656
+ "createdAt": "2026-09-01T09:08:04.291Z"
2657
+ },
2658
+ {
2659
+ "id": "dn-13885e44",
2660
+ "templateRef": "daq-temp-tc",
2661
+ "name": "OpsLog采集-z2tyo",
2662
+ "driver": "mock",
2663
+ "enabled": true,
2664
+ "intervalMs": 500,
2665
+ "publishIntervalMs": null,
2666
+ "unit": "℃",
2667
+ "decimals": 1,
2668
+ "min": 150,
2669
+ "max": 185,
2670
+ "warnLow": 152.8,
2671
+ "warnHigh": 182.2,
2672
+ "deviceBindingId": null,
2673
+ "driverConfig": {},
2674
+ "lineId": "ln-9b54577f",
2675
+ "value": 166.4,
2676
+ "state": "ok",
2677
+ "lastAt": "2026-09-01T09:16:47.969Z",
2678
+ "createdAt": "2026-09-01T09:16:38.676Z"
2679
+ }
2680
+ ]