用途:在 TypeScript 项目中引入 DBOS 持久化工作流,构建可靠、容错的应用。适用于向现有 TypeScript 代码添加 DBOS、创建工作流与步骤、用队列控制并发、实现工作流通信(事件、消息、流)、配置与启动 DBOS 应用、从外部应用使用 DBOSClient,以及测试 DBOS 应用。
主要能力与规则分类(按优先级):生命周期(CRITICAL)、工作流(CRITICAL)、步骤(HIGH)、队列(HIGH)、通信(MEDIUM)、模式(MEDIUM)、测试(LOW-MEDIUM)、客户端(MEDIUM)、高级(LOW)。
必要用法:安装最新版 DBOS,命令为 npm install @dbos-inc/dbos-sdk@latest。应用必须先配置并启动 DBOS 再运行工作流,使用 DBOS.setConfig 设置 name 与 systemDatabaseUrl,再 await DBOS.launch()。工作流由步骤组成,执行复杂操作或访问外部服务的函数须通过 DBOS.runStep 作为步骤运行,工作流用 DBOS.registerWorkflow 注册。
关键约束:不要在步骤内调用、启动或入队工作流;不要用线程或不受控并发启动工作流,应使用 DBOS.startWorkflow 或队列;工作流必须确定性,非确定性操作放入步骤;不要从工作流或步骤修改全局变量。
详细说明与示例见 references/lifecycle-config.md、references/workflow-determinism.md、references/queue-concurrency.md,参考文档为 https://docs.dbos.dev/ 与 https://github.com/dbos-inc/dbos-transact-ts。
限制:仅在任务明确匹配上述范围时使用;输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。