用途:把用户意图翻译成结构化的 Atomic CLI 工作流文件,用编程方式编排多个编码智能体会话(Claude Agent SDK、Copilot SDK、OpenCode SDK)。也可作为上下文工程顾问,协助决定会话结构、数据流、提示词组合与质量保障。
主要能力:会话通过 .run() 回调内的 ctx.stage(stageOpts, clientOpts, sessionOpts, callback) 动态创建,运行时自动创建 SDK 客户端与会话并注入为 s.client、s.session,回调结束后自动清理;可用原生 TypeScript 控制流(循环、条件、Promise.all())编排。支持结构化输入(WorkflowInput)、会话间数据传递(s.save()、s.transcript()、s.getMessages())、确定性计算与校验、会话配置(模型、工具、权限、钩子、结构化输出)等。
使用方式:安装 SDK 用 bun add @bastani/atomic-sdk,API 从 @bastani/atomic-sdk 或 @bastani/atomic-sdk/workflows 导入。两种布局:Mode 1(Atomic 托管,默认)放在 .atomic/workflows/<name>/ 或 ~/.atomic/workflows/<name>/,需在 settings.json 的 workflows 键注册,用 atomic workflow -n <name> -a <agent> 调用;Mode 2(开发者自有 CLI)放在 src/workflows/<name>/<agent>.ts,用 bun run src/<agent>-worker.ts 调用。工作流文件以 defineWorkflow({...}).for(<agent>).run(...).compile() 构建,并以 await hostLocalWorkflows([wf]) 结尾,source: import.meta.path 为必填。
适用场景:构建可被 atomic workflow list/refresh 发现的工作流、内部工具或示例;运行已有工作流(如“run ralph on this spec”)。
限制:需先检测 ATOMIC_AGENT 确定目标 agent;Mode 1 未注册到 settings.json 则不可见;agents 仅支持 claude、opencode、copilot;settings.json 不接受其他键。具体收费、价格与平台信息暂未提供。