一键导入
tier0-uns
// Tier0 UNS(Unified Namespace)数据面操作。支持命名空间浏览、节点读写、历史数据查询、搜索、创建、更新、删除、恢复。triggers: Tier0, UNS, 命名空间, 数据读写, 历史查询
// Tier0 UNS(Unified Namespace)数据面操作。支持命名空间浏览、节点读写、历史数据查询、搜索、创建、更新、删除、恢复。triggers: Tier0, UNS, 命名空间, 数据读写, 历史查询
Tier0 Cloud 平台 CLI 统一入口。涵盖 UNS(Unified Namespace)数据面操作:命名空间浏览、节点读写、历史数据查询、节点增删改;以及 Flow(Node-RED)管理:SourceFlow 协议采集 / EventFlow 业务处理流的创建、部署、画布导入导出。triggers: Tier0, Cloud, UNS, Flow, Node-RED, 命名空间, 数据读写, 设备数据, SourceFlow, EventFlow, 工作流
Tier0 Flow(Node-RED)管理:列出、创建、更新、删除 SourceFlow 和 EventFlow,导出和部署 Node-RED 画布 JSON。triggers: Tier0, Flow, Node-RED, SourceFlow, EventFlow, 工作流, 数据采集, 协议, MQTT, 画布, 部署
| name | tier0-uns |
| version | 0.4.16 |
| description | Tier0 UNS(Unified Namespace)数据面操作。支持命名空间浏览、节点读写、历史数据查询、搜索、创建、更新、删除、恢复。triggers: Tier0, UNS, 命名空间, 数据读写, 历史查询 |
| metadata | {"requires":{"bins":["tier0"]},"hermes":{"tags":["uns","namespace","data","read","write","history"]}} |
flow/SKILL.md(Flow 是数据的采集管道)flow/references/list.mdbrowse 找路径,再 read 取值;不要猜测 topic 路径Plant/Line1)是文件夹,不能 read/write,只能 browsebrowse --topic <path> 查 fields(metric)或 description(action/state);action/state 节点无 fields 约束,依赖 description 里的示例 payload 推断结构{"value":{"field1":val1,...}},不要直接写数字或字符串references/history.md 后再执行hard_delete: true)不可逆,除非用户明确要求,默认用软删除references/create.md — 单节点用 --topic;多个节点或复杂树用 --file。路径不会自动插入 Metric/Action/State,数据点路径必须已含类型目录(如 .../Metric/ProductionCount)。--topic-type 不是字段类型(int/float 写在 --fields)UNS 叶子节点(type=file)的 topicType 有且仅有三种,含义严格区分:
| topicType | 用途 | 存储格式 | 典型示例 |
|---|---|---|---|
| metric | 设备实时数据 — 传感器采集、生产过程的时序数据,持续产生、有历史记录 | 单层 JSON(字段扁平,不支持嵌套) | 产量、温度、压力、库存数量、设备运行状态 |
| action | 对外集成接口(下行请求) — 由 UNS 发出的命令/请求,触发下游系统执行操作 | JSONB(支持任意层级嵌套) | 工单下发、报工指令、出入库操作、设备控制命令 |
| state | 接口结果(上行回执) — 外部系统返回的操作结果或当前状态快照,不是时序流 | JSONB(支持任意层级嵌套) | 工单执行结果、出入库确认、设备连接状态、报警状态 |
字段约束:
metric节点的--fields必须是单层扁平结构(不可嵌套);action/state节点以 JSONB 存储,结构自由,--fields可省略。路径约定(强制):叶子节点路径的倒数第二段必须与
topicType一致,CLI 会校验并报错:
Plant/Line1/Metric/ProductionCount✓Plant/WMS/Action/StockOut✓Plant/MES/State/WorkOrderStatus✓Plant/Line1/ProductionCount(缺少类型目录)✗
路径辨别规则:用户给出的路径若不到叶子节点(如
Plant/Line1),是文件夹,用 browse;完整到数据点(如Plant/Line1/Metric/Temperature)才能 read/write。 关联提示:用户按名称询问某设备/数据时,UNS topic 和 Flow 通常同名,查完 UNS 后也应查tier0 flow list --keyword <name>,除非用户明确只需要其中一侧。
| 意图 | 加载文件 | 风险 | 说明 |
|---|---|---|---|
| 浏览命名空间树 | references/browse.md | — | 获取文件夹下的子节点列表、层级结构 |
| 读取数据点当前值 | references/read.md | — | 实时 VQT 值查询,支持通配符 |
| 写入数据点 | references/write.md | — | 发布数据,value 必须是对象 |
| 查询历史/时序数据 | 必读 references/history.md | — | 时间戳参数复杂,必读后执行 |
| 搜索节点 | references/search.md | — | 按关键字/前缀搜索 |
| 创建节点 | 必读 references/create.md | — | 单节点 --topic;批量/树 --file;不自动插类型目录 |
| 更新节点元数据 | references/update.md | — | 修改字段定义或描述 |
| 删除节点 | references/delete.md | ⚠️ 硬删除不可逆 | 软删除可恢复,硬删除永久清除 |
| 恢复已删除节点 | references/restore.md | — | 撤销软删除 |
| 服务信息/健康检查 | ../info/info.md | — | 网关连通性验证 |
| 用户意图 | 正确路线 | 不要误走 |
|---|---|---|
| 探索有哪些设备/路径 | browse 从根路径逐层展开 | 不要用 search 遍历(search 是关键词检索) |
| 知道名字,找完整路径 | search 按关键词定位 | 不要逐层 browse(低效) |
| 查当前实时值 | read(需完整 topic 路径) | 不要用 history(history 是时序归档) |
| 查历史趋势 | 先读 references/history.md,再执行 | 不要循环 read(read 只返回最新值) |
| 写入数据 | write,value 是 {"field":val} 对象 | 不要写标量("value": 27.5 是错误的) |
| 修改节点字段定义 | update | 不要用 write(write 是写 VQT 数据) |
| 创建单个数据点 | 必读 references/create.md,--topic .../Metric/<name> --type METRIC | 不要用 --topic-type int;不要省略路径中的 Metric |
| 创建多个并列节点 | --file 传 JSON 数组 | --topic 一次只建一个节点 |
| 创建整棵工厂/产线树 | --file + children 嵌套 | 不要多次重复调用以为能批量 |
| 在已有路径下追加节点 | --parent <已有路径> --topic Metric/<name> --type METRIC | 不要假设会自动补父路径或 Metric |
| 同时了解数据来源(Flow) | UNS 操作后追加 tier0 flow list --keyword <name> | 不要只查一侧 |