first commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# DWS OpenNodes V1 协议说明
|
||||
|
||||
> 本文件是 DWS OpenNodes V1 协议的拆分章节。按需读取入口见
|
||||
> [协议索引](../open-nodes-v1.md)。
|
||||
|
||||
> 协议版本:`schemaVersion = "1.0"`,`catalogVersion = "dml-v1"`。
|
||||
|
||||
## 1. 协议用途
|
||||
|
||||
OpenNodes 是 DWS 白板命令使用的语义节点协议,提供两类能力:
|
||||
|
||||
- `dws whiteboard query`:返回稳定、可理解的页面和节点数据。
|
||||
- `dws whiteboard update`:接收受约束的节点描述,以 `append` 或
|
||||
`overwrite` 模式修改白板。
|
||||
|
||||
调用方只应依赖本文声明的语义字段和行为:
|
||||
|
||||
- `query` 不修改白板。
|
||||
- `update` 全部成功或全部回滚,不返回中间状态。
|
||||
- 未声明的存储字段、类型名称和处理过程不属于协议承诺。
|
||||
|
||||
OpenNodes V1 支持的节点类型、字段和读写范围见第 7 节。
|
||||
|
||||
DWS 负责身份认证和权限校验。Vector 资源准备使用 `dws doc media upload`,
|
||||
具体流程见白板命令参考。
|
||||
|
||||
## 2. 版本与兼容原则
|
||||
|
||||
| 字段 | 当前值 | 作用 |
|
||||
| --- | --- | --- |
|
||||
| `schemaVersion` | `1.0` | 控制文档结构、节点字段和字段语义。 |
|
||||
| `catalogVersion` | `dml-v1` | 控制允许写入的 DML 几何、连接线标记和内置 icon 目录。 |
|
||||
|
||||
V1 采用严格校验:
|
||||
|
||||
- 必填字段缺失会失败。
|
||||
- 未声明字段会失败,不会被静默忽略。
|
||||
- query-only 字段出现在 update 中会以 `readOnlyField` 失败。
|
||||
- 不支持的节点类型、目录值或引用范围会失败。
|
||||
- `null` 不代表“使用默认值”;除非字段类型明确允许,否则会失败。
|
||||
|
||||
本文列出的请求枚举值都是协议字面量,调用方必须按文档中的大小写和拼写原样传入,
|
||||
不能自行转换或猜测。响应中未来可能增加可选字段,调用方应忽略不认识的响应字段。
|
||||
|
||||
调用方必须原样携带当前版本值。新增不兼容结构时应升级
|
||||
`schemaVersion`;修改 DML、marker 或 icon 目录时应评估并升级
|
||||
`catalogVersion`。
|
||||
|
||||
## 3. DWS 命令一览
|
||||
|
||||
| 命令 | 所需权限 | 效果 |
|
||||
| --- | --- | --- |
|
||||
| `dws whiteboard query --node ... --part-id ...` | 可查看白板 | 读取单页白板,不修改内容。 |
|
||||
| `dws whiteboard update --node ... --part-id ... --source ... --yes` | 可编辑白板 | 追加节点或整页重建;所有更新都需先取得用户确认。 |
|
||||
|
||||
DWS 当前只支持文字文档中已有的单页内嵌白板。命令不接收 `pageId`,也不提供
|
||||
创建页面、切换页面或按既有节点 ID 局部修改的能力。
|
||||
Reference in New Issue
Block a user