Skip to content

ditto.yaml ​

Source: ditto.yaml · Download source · Example guide

yaml
# Behavior defaults by owner. Credentials and deployment bindings live in .env.
# 按配置归属分组;由 loadRuntimeConfigFile() 在启动时读取一次。

# Runtime / Graph orchestration (ReAct belongs here, not inside INFER).
runtime:
  sandbox:
    timeoutMs: 5000
    maxOutputBytes: 65536
  timeoutMs: 120000
  maxTurns: 8
  graphConcurrency: 8
  loopMaxIterations: 32
  react:
    maxActionCalls: 16
    maxTotalTokens: 64000

# Shared resources; names bind to DITTO_SHARED_PROVIDERS in .env.
shared:
  providers:
    deepseek:
      maxTokensField: max_tokens
      options:
        thinking:
          type: enabled
        reasoning_effort: low
    openai:
      maxTokensField: max_completion_tokens
    glm:
      maxTokensField: max_tokens
      options:
        thinking:
          type: enabled
    local:
      maxTokensField: max_tokens

# Worker-specific behavior; add sections only when a Worker consumes them.
workers:
  interaction:
    commands:
      maxEntries: 1000
      maxOutputBytes: 65536
      maxErrorBytes: 8192
    webSearch:
      timeoutMs: 30000
      maxResponseBytes: 1048576
  context:
    localCache:
      ttlMs: 3600000
      maxEntries: 1000
    queue:
      maxPending: 1024
    policy:
      maxInlineBytes: 65536
      maxItems: 256
      duplicate: replace
      missingRemoval: ignore
    cache:
      ttlMs: 3600000
      keyPrefix: "ditto:context:"
  # Optional; this config does not register or start a RETRIEVAL Worker.
  retrieval:
    searchLimit: 10
    embedding:
      batchSize: 64
    hybrid:
      candidateLimit: 100
      rrfK: 60
    rerank:
      candidateLimit: 100
  memory:
    queryLimit: 100
    searchLimit: 10
  infer:
    generation:
      maxTokens: 4096
    deliberate:
      mode: select
      selectCount: 1
      generation:
        maxTokens: 4096
    constraints:
      maxSteps: 16
      maxTotalTokens: 64000
    strategies:
      cot:
        rounds: 2
      long-cot:
        rounds: 4
      tot:
        breadth: 2
        depth: 2
        beamWidth: 2
      got:
        breadth: 2
        depth: 2
      self-consistency:
        candidates: 3

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