开发者文档 SDK

workflow 模块

workflow 模块暴露给任务脚本的一切——任务、MCP、项目状态、记忆、知识库与响应式状态。从 `workflow`(Python)或 `@allybuild/sdk`(TypeScript)导入即可使用。

Python

平台会把两个文件物化到你的脚本(task_script.py)旁:workflow.py——基于 SDK 构建的纯绑定面——与入口 starter.py,由它加载 task_script.py 并分发 run / on_change。绑定面以模块级名称暴露——按需导入:

from workflow import (
    params, reporter, client,
    create_task, wait_task, feedback, flush_tasks,
    list_tasks, get_task, memories, okf,
    mcp, project_status, fetch_statuses,
    TASK_ID, PROJECT_ID, TASK_JWT,
)
名称类型用途
paramsdictTASK_PARAMS 解析自 JSON
reporterReporterset_phase / set_progress
clientAllyBuildClient预配置的平台 client
create_task / wait_taskTasksApi派生并等待项目任务
feedbackcallable回应停在 pending_approval 的子任务
flush_taskscallable退出前汇合后台 on_complete 线程
list_tasks / get_taskTasksApi检查任务实例
list_agents / list_workspacesAgentsApi名册与工作区读取
memoriesMemoriesApi按元任务与按运行的记忆
list_task_type_memories / get_task_memoriescallable直接读取记忆
okfOkfApi知识库检索与 lint
okf_search / okf_lintcallable知识库直接调用
mcp / mcp_call / async_mcp_callMCP项目 MCP 工具
project_statusProjectStatusProxy响应式共享项目状态
fetch_statusescallable拉取项目全部状态 store
project_tokensdictALLYBUILD_PROJECT_TOKENS 解析自 JSON
defineStore / create_reactive / field / getter / actionreactive声明响应式 store 并接线注册表
TASK_ID / PROJECT_ID / TASK_JWTstr注入的标识符
ALLYBUILD_API_URLstr平台 API 基址,含 /api
BG_SERVICE_ID / SERVICE_WORKSPACE_IDstr后台服务上下文(服务 id / 绑定工作区)

TypeScript

平台会把两个文件复制到你的脚本(task_script.ts)旁:workflow.ts——基于 SDK 构建的纯绑定面——与入口 starter.ts,由它加载 task_script.ts 并分发 run / on_change。绑定面从包根 @allybuild/sdk 直接导入:

import {
    params, reporter,
    create_task, wait_task, flush_tasks,
    mcp, project_status,
    TASK_ID, PROJECT_ID, TASK_JWT,
} from '@allybuild/sdk'
名称类型用途
paramsobjectTASK_PARAMS 解析自 JSON
reporterReporterset_phase / set_progress
create_task / wait_taskTasksApi派生并等待项目任务
flush_taskscallable退出前汇合后台 on_complete 回调
mcp / mcp_callMCP项目 MCP 工具
project_statusProjectStatusProxy响应式共享项目状态
project_tokensobjectALLYBUILD_PROJECT_TOKENS 解析自 JSON(只读密钥)
defineStore / createReactive / HttpBackendreactive自 @allybuild/sdk 再导出——声明 store 并接线注册表
TASK_ID / PROJECT_ID / TASK_JWTstring注入的标识符
ALLYBUILD_API_URLstring平台 API 基址,含 /api
BG_SERVICE_ID / SERVICE_WORKSPACE_IDstring脚本作为后台服务运行时设置

调用约定

  • 函数式(推荐)——导出 run(params, reporter);starter 入口调用它并把返回的 dict 打印为结果。
  • 模块级——顶层副作用在导入时执行;后台服务脚本定义 on_change(mutation, state)。