3.2 KiB
3.2 KiB
工作区与 MDTODO
必需声明
只能通过权威 YAML/配置引用新增节点/工作区。以下概念必须分离:
| 概念 | 必需事实 |
|---|---|
| 桌面节点 | HWLAB 节点/通道、唯一 nodeId、Python 文件来源、Windows pythonPath/版本、受管交互用户/启动策略 |
| HWPOD 资源 | hwpodId/resourceId、nodeId、能力、workspaceRootRef |
| 工作区策略 | 允许的 Windows 根目录、包含性/规范化策略、读写能力 |
| MDTODO 来源 | sourceId、projectId、hwpodId、nodeId、workspaceRootRef、mdtodoRootRef |
| 服务路由 | 公共/服务节点操作配置引用和 Secret 来源引用 |
Windows Python 图形节点的 workspaceRootRef 必须使用该进程可见的 Windows 路径。WSL /mnt/<drive>/... 路由可以证明同一批文件存在,但不是 Python 节点的路径权威。
接入顺序
- 确认 Windows 路径存在、是目录并包含预期 MDTODO 根目录。
- 分配与 D601 和所有现有节点不同的 nodeId。
- 增加桌面节点、HWPOD 资源/工作区策略和 MDTODO 来源的 YAML 声明。
- 在节点配置中增加可解析的
transWindows 路由,并通过受控 CLI 预检证明其可达。 - 确保 Python 节点对声明的工作区根实施规范路径包含性检查;拒绝根目录之外的绝对路径、
..、符号链接/联接点逃逸和未声明根目录。 - 从 SecretRef 配置注册认证,不打印凭据。
- 使用仓库自带 YAML-first CLI 安装已校验 SHA 的 Python 文件,并应用选中的交互式 Windows 登录自启动策略。
- 证明云端注册和预期能力。
- 对声明根目录运行
node.inventory,再对 MDTODO 根目录执行有界workspace.ls/workspace.cat。 - 保存/探测/重建项目管理来源索引,并在 HWLAB Web 验证文件/任务。
MDTODO 验收
使用公共项目管理路径和选中的来源:
- 在 YAML 选中的入口打开
/projects/mdtodo。 - 用声明的
hwpodId、nodeId、工作区根和相对 MDTODO 根保存来源。 - 探测来源,并要求结构化就绪结果。
- 重建索引,记录文档/任务数量和指纹,不记录 Markdown 正文。
- 确认直接
.md文件及其任务可见。 - 用户要求时,从一个任务启动 Workbench,并验证生成的任务/会话关联。
等价 API 族是 /v1/project-management/mdtodo/*;仓库存在 web-probe 命令时使用它们。直接文件系统读取永远不能作为完成证据。
失败分类
| 错误族 | 含义 |
|---|---|
| node-offline | Python 进程不存在或 WebSocket 未注册 |
| node-id-mismatch | 计划指向不同节点身份 |
| node-auth | 凭据缺失或被拒绝 |
| workspace-policy | 根目录缺失、不在允许列表或包含性校验失败 |
| capability-mismatch | 节点无法执行请求的公共操作 |
| workspace-op | 允许根目录内的有界操作失败 |
| source-probe | 项目管理无法读取/解析来源 |
| source-projection | 来源读取后重建索引或数据库投影失败 |
| web-visibility | API 状态存在,但 HWLAB Web 未正确展示 |
保留失败层的 requestId/traceId 和节点诊断。修复权威层,不得增加 SSH、直接文件系统、本地挂载或私有 API 兜底。