feat: uwf thread start 支持 hash / 文件路径 / 本地发现 / 全局注册 #428

Closed
opened 2026-05-23 09:37:09 +00:00 by xiaomo · 0 comments
Owner

需求

uwf thread start <workflow><workflow> 参数目前只支持名称。希望扩展解析策略,按以下顺序依次尝试:

解析顺序

  1. CAS Hash — 40 char hex 或 CAS hash,直接从 store 读取
  2. 文件路径 — 如果路径存在,readFileputBlob 入 CAS,用返回的 hash 启动
  3. 本地发现 — 从 $PWD 逐层往父目录查找 .workflow/<name>.yaml(类似 .gitignore 查找机制)
  4. 全局注册~/.uncaged/workflow/workflows.yaml 中的命名映射

使用示例

# 直接用 hash
uwf thread start abc123def456...

# 本地文件
uwf thread start ./my-workflow.yaml

# 本地发现(在项目目录下自动找 .workflow/solve-issue.yaml)
uwf thread start solve-issue

# 全局注册的 workflow
uwf thread start deploy-pipeline

动机

  • 开发阶段可以直接 uwf thread start ./draft.yaml 快速迭代
  • 项目内放 .workflow/ 目录,团队共享 workflow 定义
  • 部署后用 hash 或注册名引用,确保不可变性
## 需求 `uwf thread start <workflow>` 的 `<workflow>` 参数目前只支持名称。希望扩展解析策略,按以下顺序依次尝试: ### 解析顺序 1. **CAS Hash** — 40 char hex 或 CAS hash,直接从 store 读取 2. **文件路径** — 如果路径存在,`readFile` 后 `putBlob` 入 CAS,用返回的 hash 启动 3. **本地发现** — 从 `$PWD` 逐层往父目录查找 `.workflow/<name>.yaml`(类似 `.gitignore` 查找机制) 4. **全局注册** — `~/.uncaged/workflow/workflows.yaml` 中的命名映射 ### 使用示例 ```bash # 直接用 hash uwf thread start abc123def456... # 本地文件 uwf thread start ./my-workflow.yaml # 本地发现(在项目目录下自动找 .workflow/solve-issue.yaml) uwf thread start solve-issue # 全局注册的 workflow uwf thread start deploy-pipeline ``` ### 动机 - 开发阶段可以直接 `uwf thread start ./draft.yaml` 快速迭代 - 项目内放 `.workflow/` 目录,团队共享 workflow 定义 - 部署后用 hash 或注册名引用,确保不可变性
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#428