跳转到正文

Worker 使用 API ​

文档地图

本目录以当前代码的公开入口为准,覆盖工厂、SDK 方法、全部 Worker 节点、Provider/存储适配器、注册表、配置和生命周期。每项操作都有调用示例;完整 TypeScript 示例放在 examples,随 npm run typecheck 校验。类型定义不是自动数据库驱动或自动插件加载声明。

Worker详细 API操作与示例
CONTEXT中文 API · EnglishLOAD / SELECT / UPDATE / COMPRESS; Redis / TTL-LRU / stateStore / RAG / ReferenceResolver
INFER中文 API · EnglishSAMPLE / TRAJECTORY / REFLECT / DELIBERATE / CACHE LOOKUP, WRITE, INVALIDATE; SDK + stream
MEMORY中文 API · EnglishGET / QUERY / SEARCH / WRITE / UPDATE / DELETE; store / search
INTERACTION中文 API · EnglishACT.TOOL / ACT.MCP / OBSERVE / OUTPUT; ToolRegistry / McpRegistry / OutputSink
RETRIEVAL (可选)中文 API · EnglishSEARCH; SDK / target / strategy / 独立部署

Runtime / Graph / Loop 详细 API:节点连接、Worker 分配、独立 Sandbox、本地 IPC 与跨机 HTTP。

可移植检查点、隔离状态与 token 预算:@codesoul-co/ditto@0.1.1 的 Graph/Loop 恢复、BranchStore 和 Provider 用量计费。

Sandbox API:权限、工作区读写、可替换执行器与真实本地命令执行。

Worker 组合、事件与 Artifact:自定义 Node/Worker、resources/dispose、WorkerContext、数据引用及通信扩展。

预定义流程 API:RAG、Skill、Tool、MCP、ReAct 的完整输入输出与调用示例。

条件与路由 API 用法:六类应用路由、分支汇合、文件输入边界、独立工具配置与安装包调用。

并行与汇总 API 用法:并发控制、自动任务规划、依赖汇合与部分结果保留。

从哪里开始 ​

  1. 定义 Agent Graph:选择语义 Node、数据映射及失败时是否继续;不要把数据库连接、客户端或凭据放进 Graph。
  2. 需要循环时定义 Loop:状态、更新规则、done 与 maxIterations。单轮直接 runtime.run,循环用 runtime.loop。
  3. 定义 Worker 内部能力:模型 Provider、MemoryStore/search、RegisteredTool/McpClient/OutputSink。
  4. 创建 Runtime 并注册 Worker;加载根目录 YAML 的行为参数和 env 的连接/凭据。
  5. 只有需要独立检索资源时,显式导入并注册 RETRIEVAL;普通 MEMORY 原生检索不需要它。

完整流程见 Graph + Loop + Worker;真实命令与普通工具组合见 interaction-tools.ts。

返回值与错误:不要混用 ​

调用层返回失败处理
INFER / MEMORY / RETRIEVAL SDK 或 WorkerNodeResult<T>检查 status 后读取 output;构造、路由或传输错误仍可能抛异常
CONTEXTContext / ContextSelection失败抛 ContextError 或服务异常
INTERACTIONExternalResult / Observation / MCP union / OutputReceipt直接检查各自 status;参数/权限/基础设施错误抛异常
底层 store / Provider / Sink各自原始 Output由对应 Worker 包装或校验;不要再套一层 NodeResult

INFER 轨迹还有内层 output.status,外层 success 不等于轨迹 completed。取消或超时不表示外部操作已回滚;数据库、命令、MCP 与交付的幂等/重试由应用和适配器决定。

插件与配置专项 ​

INTERACTION 的工具、MCP 实例与输出函数通过代码注入;YAML 支持 workers.interaction.commands/webSearch 行为参数;插件实例仍显式注入,不按插件名自动加载。数据库 SDK 与模型 SDK 生命周期由应用拥有,不逐请求创建或自动关闭。

示例目录 ​

示例文件覆盖
context.tsLOAD / SELECT / UPDATE / COMPRESS; scope / Redis / Graph
memory.ts两个工厂、六个 SDK/节点、execute、分页、插件、错误、Graph、描述符
infer.ts两个工厂、七个叶子、五种策略、三种反思、四种审议、四个流、缓存及模型 Provider
interaction.ts工厂、注册/移除、四个节点、MCP、观察、回执、handler、Graph/Loop
retrieval.ts工厂、SEARCH、Registry、embedding、融合/重排、数据库适配和 MEMORY 转接

循环与动态调整 API 用法:循环执行、动态重规划、迭代改进与检索、目标检查和停止条件。

异常、失败与恢复 API 用法:有原因的重试、备用路径、超时、检查点与会话恢复、暂停确认、补偿和副作用核对。

人工介入控制 API 与示例:确认后执行、中间结果确认、人工编辑后继续、审核发布和异常交接。

任务生命周期 API 与示例:状态跟踪、执行前状态检查、安全停止、定时触发与事件触发。

七类控制流程的公开 API 边界与统一包验收:38 个示例的能力映射、包外严格类型检查及真实任务验证。

请求理解与交互的公开 API 组合:目标、约束、澄清、多轮会话、选项选择和意图处理。

规划与任务管理 API:任务拆分、依赖构图、预算准入和工具选择,使用 Redis Context 与数据库 Memory。

信息检索与搜索 API:八项公开 API 组装示例,使用真实 Redis、数据库 Memory,执行文档、FTS 和联网检索并定位原文来源。

信息整理与分析 API:多来源汇总、去重、冲突、参考核验、结构化提取、转换和比较,保留来源并支持持久化恢复。

上下文任务组装 API:加载、选择、组装、语义摘要与裁剪、更新,使用 Redis 和数据库 Memory 完成任务与恢复。

记忆任务 API:长期检索、规则写入、更新和任务状态保存,支持 SQLite、PostgreSQL 与 Qdrant。

工具和系统操作 API:十项原生工具调用流程,实际操作核验、Redis/数据库检查点与独立包验收。

执行结果理解 API:工具结果读取与解析、错误识别、事务性状态更新和基于证据的后续动作。

内容处理 API:七项生成与转换流程、证据校验、模型复核、可追溯引用和实际文件交付。

文档与多模态理解 API:PDF/Word、图片、图表、音频、视频与会议记录,使用可追溯媒体证据和公开 Worker 组合。

数据与代码能力 API:十二项真实数据与源码流程,包含只读 SQL、容器执行、图表、测试及可追溯代码审查。

验证、评估与安全 API:引用评估、可信策略门禁、推理前脱敏和可恢复发布。

Agent 基础能力 API 组合与 npm 消费:12 类、86 个入口的节点矩阵、扩展边界与统一发布检查。

RAG 文档问答完整应用:可信请求、资料接入、检索筛选、上下文、答案、逐条引用与数据库恢复。

Graph 与 Loop 组合:Loop 统一控制阶段 Graph、分支、循环、预算和恢复。

联网搜索问答

深度研究工作流:子问题拆分、多轮补检、证据覆盖、持久化预算与引用报告。

ReAct 持久化任务:原生工具判断与观察循环、业务效果核对、Redis/Memory 恢复和真实浏览器任务。

Plan-and-Execute 持久化任务:整体计划、依赖与预算校验、真实业务执行、结果核对和剩余工作重规划。

Reflection / Self-Refine:生成、主动检查、双重校验、版本修订和持久化恢复。

多候选生成与选择:不同角度生成、独立评价、稳定排序、可追溯融合与复评。

工具链执行:串行、并行与条件依赖,真实 CRM 与通知入箱、幂等核对和持久恢复。

Human-in-the-loop 人机协作:可信人工审核、版本化编辑、Redis/Memory 恢复与批准原文发布。

多 Agent 分工:角色资料隔离、并行/串行依赖、可核验交接与持久汇总。

Supervisor 主管模式:主管检查、依据缺口再次委派、专业角色重试与持久管理历史。

Agent Handoff 责任转交:接收确认、原子责任转移、版本与交接链校验、工单恢复。

专业 Agent 路由:主 Agent 分类、专业适配复核、限定工具任务、结果校验与恢复。

多观点讨论:独立并行观点、逐项共识与分歧、保留少数意见的综合及恢复。

自动修复:真实错误反馈、受限修改、重新执行验证、修复产物及持久恢复。

长任务与恢复:持久分批检查点、已提交副作用核对、跨进程恢复与最终交付。

Ditto · @codesoul-co/ditto · Node.js 24+