Skip to content

Layer4 组件

Layer4 为 Engine 提供 策略、安全、上下文、检查点、可观测性 等横切能力。未传入选项时使用内存默认实现。

工厂总览

工厂默认实现说明
createPolicyEngine(config?)DefaultPolicyEngine超时 / 预算 / 熔断 / 限流
createSecurityGovernance(config?)BasicSecurityGovernance工具白名单 / HITL / 审计
createFullSecurityGovernance(config)FullSecurityGovernance含 SecretProvider 的完整安全
createContextManager()InMemoryContextManager会话上下文
createEnhancedContextManager(options?)EnhancedContextManager增强记忆与向量检索
createCheckpointStore()InMemoryCheckpointStore内存检查点
createRedisCheckpointStore(client)RedisCheckpointStoreRedis 持久化(需 ioredis
createObservability()InMemoryObservability内存追踪
createOpenTelemetryObservability(hooks?)OpenTelemetryObservabilityOTel 集成(需 @opentelemetry/api
createVectorStore()InMemoryVectorStore内存向量库
createLongTermMemoryStore()InMemoryLongTermMemoryStore长期记忆
createFileLongTermMemoryStore(path)文件持久化长期记忆落盘
createRedisClient(options?)InMemoryRedisClientRedis 抽象(测试用内存实现)

createPolicyEngine

typescript
function createPolicyEngine(config?: PolicyConfig): PolicyEngine

PolicyConfig 主要字段

字段说明
retry重试次数与退避
timeout.unitMs单 Unit 超时
timeout.workflowMs工作流总超时
budget.maxTokensToken 预算
budget.maxCost成本预算
concurrency并发限制
circuitBreaker熔断阈值
rateLimit.maxRequestsPerMinute每分钟请求上限

YAML spec.policy 合并进 policyConfig

Security

createSecurityGovernance

typescript
function createSecurityGovernance(config?: SecurityConfig): SecurityGovernance
SecurityConfig 字段说明
allowedTools工具白名单
allowedUnits按 caller 限制 Unit
hitlTools需 HITL 的工具名
caller默认调用方身份

createFullSecurityGovernance

SecretProviderMapSecretProvider)与更完整审计链。

Context

createContextManager / createEnhancedContextManager

组装 ExecutionContext.assembledContext(messages、retrievedDocs、tokenCount 等)。

Orchestrator 配置 contextManager 后,GET /memory/search 可用。

Checkpoint

createCheckpointStore / createRedisCheckpointStore

engine.resume(runId, snapshotId) 从 Store 加载快照。

Redis 实现需 optional dependency ioredis

Observability

createObservability / createOpenTelemetryObservability

记录 Unit 开始/结束、token 使用、错误等。OTel 版通过 tryCreateOTelFromPackage() 探测可选包。

传入 Engine

typescript
const engine = createWorkflowEngine(config, {
  policyEngine: createPolicyEngine(),
  security: createSecurityGovernance({ caller: { id: 'app', roles: ['admin'] } }),
  contextManager: createEnhancedContextManager(),
  checkpointStore: createCheckpointStore(),
  observability: createObservability(),
});

或通过 YAML:

typescript
await createEngineFromYaml('workflow.yaml', {
  engineOptions: { contextManager: createEnhancedContextManager() },
});

相关

MIT Licensed