跳转到主要内容

概述

Shannon 使用环境变量在所有服务中进行配置。本页面记录了所有 100+ 个配置选项,包括类型、默认值和影响。

快速参考

类别变量数服务
核心运行时3所有
LLM 提供商密钥11LLM Service
网页搜索6LLM Service
数据存储17所有
服务端点8所有
模型路由13Orchestrator, LLM Service
缓存和速率限制8所有
工具执行11Orchestrator, Agent Core
安全6Gateway, Orchestrator
可观测性5所有
WASI 沙箱4Agent Core, LLM Service
集成13LLM Service
高级20+Orchestrator
总计: 100+ 个配置变量

配置文件

.env.example 复制到 .env 并自定义:
cp .env.example .env
nano .env
更改后重启服务:
docker compose restart

核心运行时

ENVIRONMENT

类型: String 默认值: dev 有效值: dev, staging, prod 服务: 所有 热重载: 否 (需要重启) 控制日志详细程度和策略执行。
ENVIRONMENT=prod
影响:
  • dev: 详细日志, 宽松策略
  • staging: 适度日志, 标准策略
  • prod: 最少日志, 严格策略

DEBUG

类型: Boolean 默认值: false 有效值: true, false 服务: 所有 热重载: 否 在所有服务中启用调试日志。
DEBUG=true
影响:
  • true: 调试级别日志, 堆栈跟踪
  • false: 仅信息级别日志

SERVICE_NAME

类型: String 默认值: shannon-llm-service 服务: LLM Service 热重载: 否 用于日志记录和遥测的服务标识符。
SERVICE_NAME=shannon-llm-service

LLM 提供商 API 密钥

OPENAI_API_KEY

类型: String 必需: 至少一个提供商密钥 服务: LLM Service 热重载: 是 用于 GPT 模型的 OpenAI API 密钥。
OPENAI_API_KEY=sk-...
启用的模型: GPT-5, GPT-5-mini, GPT-5-nano

ANTHROPIC_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于 Claude 模型的 Anthropic API 密钥。
ANTHROPIC_API_KEY=sk-ant-...
启用的模型: Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Haiku

GOOGLE_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于 Gemini 模型的 Google AI API 密钥。
GOOGLE_API_KEY=...
启用的模型: Gemini Pro, Gemini Flash

GROQ_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于快速推理的 Groq API 密钥。
GROQ_API_KEY=...
启用的模型: Llama 3, Mixtral

XAI_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于 Grok 模型的 xAI API 密钥。
XAI_API_KEY=...

DEEPSEEK_API_KEY

类型: String 服务: LLM Service 热重载: 是 DeepSeek API 密钥。
DEEPSEEK_API_KEY=...

QWEN_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于阿里云模型的 Qwen API 密钥。
QWEN_API_KEY=...

MISTRAL_API_KEY

类型: String 服务: LLM Service 热重载: 是 Mistral API 密钥。
MISTRAL_API_KEY=...

AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY

类型: String 服务: LLM Service 热重载: 是 用于 Bedrock 模型的 AWS 凭据。
AWS_ACCESS_KEY_ID=AKIA...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
启用的模型: Claude (Bedrock), Llama (Bedrock), Titan

ZAI_API_KEY

类型: String 服务: LLM Service 热重载: 是 ZAI API 密钥。
ZAI_API_KEY=...

网页搜索提供商

WEB_SEARCH_PROVIDER

类型: String 默认值: google 有效值: google, serper, bing, exa, firecrawl 服务: LLM Service 热重载: 是 活动的网页搜索提供商。
WEB_SEARCH_PROVIDER=google

GOOGLE_SEARCH_API_KEY

类型: String 服务: LLM Service 热重载: 是 Google 自定义搜索 API 密钥。
GOOGLE_SEARCH_API_KEY=...
GOOGLE_SEARCH_ENGINE_ID=...
获取地址: https://console.cloud.google.com/apis/credentials

SERPER_API_KEY

类型: String 服务: LLM Service 热重载: 是 Serper.dev API 密钥 (Google 搜索 API 替代方案)。
SERPER_API_KEY=...
获取地址: https://serper.dev

BING_API_KEY

类型: String 服务: LLM Service 热重载: 是 Microsoft Bing 搜索 API 密钥。
BING_API_KEY=...

EXA_API_KEY

类型: String 服务: LLM Service 热重载: 是 Exa AI 搜索 API 密钥。
EXA_API_KEY=...

FIRECRAWL_API_KEY

类型: String 服务: LLM Service 热重载: 是 用于网页抓取的 Firecrawl API 密钥。
FIRECRAWL_API_KEY=...

数据存储

PostgreSQL

POSTGRES_HOST

类型: String 默认值: postgres 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 主机名。
POSTGRES_HOST=postgres

POSTGRES_PORT

类型: Integer 默认值: 5432 范围: 1-65535 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 端口。
POSTGRES_PORT=5432

POSTGRES_DB

类型: String 默认值: shannon 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 数据库名称。
POSTGRES_DB=shannon

POSTGRES_USER

类型: String 默认值: shannon 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 用户名。
POSTGRES_USER=shannon

POSTGRES_PASSWORD

类型: String 默认值: shannon 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 密码。
POSTGRES_PASSWORD=secure-password
安全: 生产环境中必须更改!

POSTGRES_SSLMODE

类型: String 默认值: disable 有效值: disable, require, verify-ca, verify-full 服务: Gateway, Orchestrator 热重载: 否 PostgreSQL 连接的 SSL 模式。
POSTGRES_SSLMODE=require

Redis

REDIS_HOST

类型: String 默认值: redis 服务: 所有 热重载: 否 Redis 主机名。
REDIS_HOST=redis

REDIS_PORT

类型: Integer 默认值: 6379 服务: 所有 热重载: 否 Redis 端口。
REDIS_PORT=6379

REDIS_PASSWORD

类型: String 默认值: 空 服务: 所有 热重载: 否 Redis 密码 (如果启用了身份验证)。
REDIS_PASSWORD=secure-password

REDIS_TTL_SECONDS

类型: Integer 默认值: 3600 范围: 0-∞ (0 = 不过期) 服务: 所有 热重载: 是 Redis 键的默认 TTL。
REDIS_TTL_SECONDS=3600
影响: 会话、事件、响应的缓存持续时间

REDIS_URL

类型: String 默认值: redis://redis:6379 服务: 所有 热重载: 否 完整的 Redis 连接 URL。
REDIS_URL=redis://redis:6379
# 带认证:
REDIS_URL=redis://:password@redis:6379

LLM_REDIS_URL

类型: String 默认值: 空 (使用 REDIS_URL) 服务: LLM Service 热重载: 否 用于 LLM 响应缓存的专用 Redis 实例。
LLM_REDIS_URL=redis://llm-redis:6379
用例: 将 LLM 缓存与会话数据分离以便扩展

Qdrant (向量存储)

QDRANT_URL

类型: String 默认值: http://qdrant:6333 服务: Orchestrator, LLM Service 热重载: 否 Qdrant 连接 URL。
QDRANT_URL=http://qdrant:6333

QDRANT_HOST / QDRANT_PORT

类型: String / Integer 默认值: qdrant / 6333 服务: Orchestrator, LLM Service 热重载: 否 QDRANT_URL 的替代方案 (分别指定主机/端口)。
QDRANT_HOST=qdrant
QDRANT_PORT=6333

服务端点

TEMPORAL_HOST

类型: String 默认值: temporal:7233 服务: Orchestrator 热重载: 否 Temporal 服务器地址。
TEMPORAL_HOST=temporal:7233

LLM_SERVICE_URL

类型: String 默认值: http://llm-service:8000 服务: Orchestrator, Agent Core 热重载: 否 LLM Service 端点。
LLM_SERVICE_URL=http://llm-service:8000

AGENT_CORE_ADDR

类型: String 默认值: agent-core:50051 服务: Orchestrator 热重载: 否 Agent Core gRPC 地址。
AGENT_CORE_ADDR=agent-core:50051

ORCHESTRATOR_GRPC

类型: String 默认值: orchestrator:50052 服务: Gateway 热重载: 否 Orchestrator gRPC 端点。
ORCHESTRATOR_GRPC=orchestrator:50052

ADMIN_SERVER

类型: String 默认值: http://orchestrator:8081 服务: Gateway 热重载: 否 用于流式事件的 Admin/SSE 服务器。
ADMIN_SERVER=http://orchestrator:8081

CONFIG_PATH

类型: String 默认值: ./config/features.yaml 服务: Orchestrator, Agent Core 热重载: 是 (带文件监视器) 功能标志配置的路径。
CONFIG_PATH=./config/features.yaml

MODELS_CONFIG_PATH

类型: String 默认值: ./config/models.yaml 服务: LLM Service, Orchestrator 热重载: 是 (带文件监视器) 模型和定价配置的路径。
MODELS_CONFIG_PATH=./config/models.yaml

EVENTS_INGEST_URL

类型: String 默认值: http://orchestrator:8081/events 服务: Agent Core 热重载: 否 事件摄取端点。
EVENTS_INGEST_URL=http://orchestrator:8081/events

模型路由和预算

DEFAULT_MODEL_TIER

类型: String 默认值: small 有效值: small, medium, large 服务: Orchestrator 热重载: 是 任务的默认模型层级。
DEFAULT_MODEL_TIER=small
层级:
  • small: GPT-5o-mini, Claude Haiku (~$0.15/1M tokens)
  • medium: GPT-5o, Claude Sonnet (~$3-15/1M tokens)
  • large: GPT-5, Claude Opus (~$15-75/1M tokens)

COMPLEXITY_MODEL_ID

类型: String 默认值: gpt-5 服务: Orchestrator 热重载: 是 用于复杂度分析的模型。
COMPLEXITY_MODEL_ID=gpt-5

DECOMPOSITION_MODEL_ID

类型: String 默认值: claude-sonnet-4-20250514 服务: Orchestrator 热重载: 是 用于任务分解的模型。
DECOMPOSITION_MODEL_ID=claude-sonnet-4-20250514

MAX_TOKENS

类型: Integer 默认值: 2000 范围: 1-∞ 服务: LLM Service 热重载: 是 每次 LLM 调用的默认最大输出令牌数。
MAX_TOKENS=2000

TEMPERATURE

类型: Float 默认值: 0.7 范围: 0.0-2.0 服务: LLM Service 热重载: 是 LLM 采样的默认温度。
TEMPERATURE=0.7
影响:
  • 0.0: 确定性, 专注
  • 0.7: 平衡创造力
  • 1.0+: 更随机, 更有创意

MAX_TOKENS_PER_REQUEST

类型: Integer 默认值: 10000 范围: 1-∞ 服务: Orchestrator 热重载: 是 每个任务请求的最大总令牌数。
MAX_TOKENS_PER_REQUEST=10000
影响: 硬预算限制,超出时任务失败

MAX_COST_PER_REQUEST

类型: Float 默认值: 0.50 范围: 0.0-∞ 服务: Orchestrator 热重载: 是 每个任务请求的最大成本 (USD)。
MAX_COST_PER_REQUEST=0.50
影响: 成本超出此限制时任务失败

LLM_DISABLE_BUDGETS

类型: Integer 默认值: 1 有效值: 0, 1 服务: Orchestrator, LLM Service 热重载: 是 预算执行位置。
LLM_DISABLE_BUDGETS=1
:
  • 1: Orchestrator 管理预算 (推荐)
  • 0: LLM service 执行预算

HISTORY_WINDOW_MESSAGES

类型: Integer 默认值: 50 范围: 1-∞ 服务: Orchestrator 热重载: 是 对话历史中包含的消息数量。
HISTORY_WINDOW_MESSAGES=50

HISTORY_WINDOW_DEBUG_MESSAGES

类型: Integer 默认值: 75 服务: Orchestrator 热重载: 是 调试模式的历史窗口大小。
HISTORY_WINDOW_DEBUG_MESSAGES=75

WORKFLOW_SYNTH_BYPASS_SINGLE

类型: Boolean 默认值: true 服务: Orchestrator 热重载: 是 跳过单结果工作流的综合。
WORKFLOW_SYNTH_BYPASS_SINGLE=true
影响:
  • true: 简单任务更快 (跳过综合步骤)
  • false: 始终综合结果

TOKEN_BUDGET_PER_AGENT

类型: Integer 默认值: 空 (无限制) 服务: Orchestrator 热重载: 是 每次代理执行的令牌预算。
TOKEN_BUDGET_PER_AGENT=5000

TOKEN_BUDGET_PER_TASK

类型: Integer 默认值: 空 (无限制) 服务: Orchestrator 热重载: 是 整个任务的令牌预算。
TOKEN_BUDGET_PER_TASK=20000

缓存和速率限制

ENABLE_CACHE

类型: Boolean 默认值: true 服务: LLM Service 热重载: 是 启用 LLM 响应缓存。
ENABLE_CACHE=true
影响:
  • true: 在 Redis 中缓存响应, 更快且更便宜
  • false: 始终调用 LLM API

CACHE_SIMILARITY_THRESHOLD

类型: Float 默认值: 0.95 范围: 0.0-1.0 服务: LLM Service 热重载: 是 缓存命中的语义相似度阈值。
CACHE_SIMILARITY_THRESHOLD=0.95
影响:
  • 1.0: 仅精确匹配
  • 0.95: 非常相似的查询
  • 0.8: 更宽松的匹配 (更多缓存命中, 准确性降低)

RATE_LIMIT_REQUESTS

类型: Integer 默认值: 100 服务: Gateway 热重载: 是 每个 API 密钥在每个窗口期内的请求数。
RATE_LIMIT_REQUESTS=100

RATE_LIMIT_WINDOW

类型: Integer 默认值: 60 范围: 1-∞ (秒) 服务: Gateway 热重载: 是 速率限制窗口持续时间。
RATE_LIMIT_WINDOW=60
组合:
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60
# = 每 60 秒 100 个请求

WEB_SEARCH_RATE_LIMIT

类型: Integer 默认值: 120 服务: LLM Service 热重载: 是 每分钟网页搜索请求数。
WEB_SEARCH_RATE_LIMIT=120

CALCULATOR_RATE_LIMIT

类型: Integer 默认值: 2000 服务: LLM Service 热重载: 是 每分钟计算器工具请求数。
CALCULATOR_RATE_LIMIT=2000

PYTHON_EXECUTOR_RATE_LIMIT

类型: Integer 默认值: 60 服务: Agent Core 热重载: 是 每分钟 Python 代码执行请求数。
PYTHON_EXECUTOR_RATE_LIMIT=60

PARTIAL_CHUNK_CHARS

类型: Integer 默认值: 512 服务: LLM Service 热重载: 是 每个流式块的字符数。
PARTIAL_CHUNK_CHARS=512

工具执行和工作流

TOOL_PARALLELISM

类型: Integer 默认值: 5 范围: 1-∞ (1 = 顺序执行) 服务: Orchestrator, Agent Core 热重载: 是 并发工具执行数。
TOOL_PARALLELISM=5
影响:
  • 1: 顺序执行 (更慢, 更安全)
  • 5: 5 个工具并行 (更快, 更多资源)
  • 10+: 高并行度 (最快, 资源使用最高)

ENABLE_TOOL_SELECTION

类型: Integer 默认值: 1 有效值: 0, 1 服务: Orchestrator 热重载: 是 规划器自动选择工具。
ENABLE_TOOL_SELECTION=1
:
  • 1: 规划器自动选择工具 (推荐)
  • 0: 仅手动指定工具

PRIORITY_QUEUES

类型: String 默认值: off 有效值: on, off 服务: Orchestrator 热重载: 是 启用基于优先级的任务队列。
PRIORITY_QUEUES=on

STREAMING_RING_CAPACITY

类型: Integer 默认值: 1000 服务: Orchestrator 热重载: 否 流式事件的环形缓冲区容量。
STREAMING_RING_CAPACITY=1000

COMPRESSION_TRIGGER_RATIO

类型: Float 默认值: 0.75 范围: 0.0-1.0 服务: Orchestrator 热重载: 是 上下文压缩触发阈值。
COMPRESSION_TRIGGER_RATIO=0.75
影响: 当使用了 75% 的令牌预算时压缩上下文

COMPRESSION_TARGET_RATIO

类型: Float 默认值: 0.375 范围: 0.0-1.0 服务: Orchestrator 热重载: 是 压缩后的目标大小。
COMPRESSION_TARGET_RATIO=0.375

ENFORCE_TIMEOUT_SECONDS

类型: Integer 默认值: 90 服务: Agent Core 热重载: 是 工具执行超时时间。
ENFORCE_TIMEOUT_SECONDS=90

ENFORCE_MAX_TOKENS

类型: Integer 默认值: 32768 服务: Agent Core 热重载: 是 每次代理执行的最大令牌数。
ENFORCE_MAX_TOKENS=32768

ENFORCE_RATE_RPS

类型: Integer 默认值: 20 服务: Agent Core 热重载: 是 代理操作的速率限制 (每秒请求数)。
ENFORCE_RATE_RPS=20

ENFORCE_CB_ERROR_THRESHOLD

类型: Float 默认值: 0.5 范围: 0.0-1.0 服务: Agent Core 热重载: 是 断路器错误率阈值。
ENFORCE_CB_ERROR_THRESHOLD=0.5
影响: 当 50% 的请求失败时断路器打开

ENFORCE_CB_WINDOW_SECONDS

类型: Integer 默认值: 30 服务: Agent Core 热重载: 是 断路器测量窗口。
ENFORCE_CB_WINDOW_SECONDS=30

ENFORCE_CB_MIN_REQUESTS

类型: Integer 默认值: 20 服务: Agent Core 热重载: 是 断路器激活前的最小请求数。
ENFORCE_CB_MIN_REQUESTS=20

审批和安全

APPROVAL_ENABLED

类型: Boolean 默认值: false 服务: Orchestrator 热重载: 是 启用人在回路审批。
APPROVAL_ENABLED=true

APPROVAL_COMPLEXITY_THRESHOLD

类型: Float 默认值: 0.5 范围: 0.0-1.0 服务: Orchestrator 热重载: 是 需要审批的复杂度阈值。
APPROVAL_COMPLEXITY_THRESHOLD=0.5

APPROVAL_DANGEROUS_TOOLS

类型: String (逗号分隔) 默认值: file_system,code_execution 服务: Orchestrator 热重载: 是 需要审批的工具。
APPROVAL_DANGEROUS_TOOLS=file_system,code_execution,database_query

APPROVAL_TIMEOUT_SECONDS

类型: Integer 默认值: 7200 服务: Orchestrator 热重载: 是 审批请求超时时间 (2 小时)。
APPROVAL_TIMEOUT_SECONDS=7200

JWT_SECRET

类型: String 默认值: development-only-secret-change-in-production 服务: Gateway 热重载: 否 JWT 签名密钥。
JWT_SECRET=secure-random-256-bit-key
安全: 生产环境中必须更改!

GATEWAY_SKIP_AUTH

类型: Integer 默认值: 1 有效值: 0, 1 服务: Gateway 热重载: 是 (建议重启) 跳过身份验证 (仅限开发环境)。
GATEWAY_SKIP_AUTH=0  # 启用身份验证
安全: 生产环境中必须设置为 0!

模板

TEMPLATE_FALLBACK_ENABLED

类型: Boolean 默认值: false 服务: Orchestrator 热重载: 是 模板失败时回退到 AI。
TEMPLATE_FALLBACK_ENABLED=true

可观测性和遥测

OTEL_SERVICE_NAME

类型: String 默认值: shannon-llm-service 服务: 所有 热重载: 否 OpenTelemetry 的服务名称。
OTEL_SERVICE_NAME=shannon-llm-service

OTEL_EXPORTER_OTLP_ENDPOINT

类型: String 默认值: localhost:4317 服务: 所有 热重载: 否 OTLP 导出器端点。
OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317

OTEL_ENABLED

类型: Boolean 默认值: false 服务: 所有 热重载: 否 启用 OpenTelemetry 追踪。
OTEL_ENABLED=true

LOG_FORMAT

类型: String 默认值: plain 有效值: plain, json 服务: Agent Core (Rust) 热重载: 否 日志输出格式。
LOG_FORMAT=json

METRICS_PORT

类型: Integer 默认值: 2112 服务: 所有 热重载: 否 Prometheus 指标端口。
METRICS_PORT=2112

Python WASI 沙箱

PYTHON_WASI_WASM_PATH

类型: String 默认值: ./wasm-interpreters/python-3.11.4.wasm 服务: Agent Core, LLM Service 热重载: 否 Python WASI 解释器的路径。
PYTHON_WASI_WASM_PATH=./wasm-interpreters/python-3.11.4.wasm

PYTHON_WASI_SESSION_TIMEOUT

类型: Integer 默认值: 3600 服务: LLM Service 热重载: 是 Python 会话超时时间 (秒)。
PYTHON_WASI_SESSION_TIMEOUT=3600

WASI_MEMORY_LIMIT_MB

类型: Integer 默认值: 512 服务: Agent Core 热重载: 是 WASI 沙箱内存限制 (MB)。
WASI_MEMORY_LIMIT_MB=512

WASI_TIMEOUT_SECONDS

类型: Integer 默认值: 60 服务: Agent Core 热重载: 是 WASI 执行超时时间。
WASI_TIMEOUT_SECONDS=60

OpenAPI 和 MCP

OpenAPI 集成

OPENAPI_ALLOWED_DOMAINS

类型: String 默认值: * 服务: LLM Service 热重载: 是 允许获取 OpenAPI 规范的域名。
OPENAPI_ALLOWED_DOMAINS=*
# 或指定域名:
OPENAPI_ALLOWED_DOMAINS=api.example.com,api2.example.com

OPENAPI_MAX_SPEC_SIZE

类型: Integer 默认值: 5242880 (5 MB) 服务: LLM Service 热重载: 是 OpenAPI 规范文件的最大大小。
OPENAPI_MAX_SPEC_SIZE=5242880

OPENAPI_FETCH_TIMEOUT

类型: Integer 默认值: 30 服务: LLM Service 热重载: 是 获取 OpenAPI 规范的超时时间。
OPENAPI_FETCH_TIMEOUT=30

OPENAPI_RETRIES

类型: Integer 默认值: 2 服务: LLM Service 热重载: 是 OpenAPI 操作的重试次数(包括规范获取和 API 调用)。
OPENAPI_RETRIES=2

MCP 集成

MCP_ALLOWED_DOMAINS

类型: String 默认值: * 服务: LLM Service 热重载: 是 MCP 服务器允许的域名。
MCP_ALLOWED_DOMAINS=*

MCP_MAX_RESPONSE_BYTES

类型: Integer 默认值: 10485760 (10 MB) 服务: LLM Service 热重载: 是 MCP 响应的最大大小。
MCP_MAX_RESPONSE_BYTES=10485760

MCP_RETRIES

类型: Integer 默认值: 3 服务: LLM Service 热重载: 是 MCP 请求重试次数。
MCP_RETRIES=3

MCP_TIMEOUT_SECONDS

类型: Integer 默认值: 10 服务: LLM Service 热重载: 是 MCP 请求超时时间。
MCP_TIMEOUT_SECONDS=10

MCP_REGISTER_TOKEN

类型: String 默认值: 空 服务: LLM Service 热重载: 是 MCP 服务器注册的身份验证令牌。
MCP_REGISTER_TOKEN=secret-token

MCP_RATE_LIMIT_DEFAULT

类型: Integer 默认值: 60 服务: LLM Service 热重载: 是 MCP 工具的默认速率限制 (请求数/分钟)。
MCP_RATE_LIMIT_DEFAULT=60

MCP_CB_FAILURES

类型: Integer 默认值: 5 服务: LLM Service 热重载: 是 MCP 的断路器失败阈值。
MCP_CB_FAILURES=5

MCP_CB_RECOVERY_SECONDS

类型: Integer 默认值: 60 服务: LLM Service 热重载: 是 断路器恢复时间。
MCP_CB_RECOVERY_SECONDS=60

MCP_COST_TO_TOKENS

类型: Integer 默认值: 0 服务: LLM Service 热重载: 是 MCP 工具的令牌成本乘数。
MCP_COST_TO_TOKENS=100

高级 Orchestrator 控制

EVENTLOG_BATCH_SIZE

类型: Integer 默认值: 100 服务: Orchestrator 热重载: 是 数据库写入的每批事件数。
EVENTLOG_BATCH_SIZE=100

EVENTLOG_BATCH_INTERVAL_MS

类型: Integer 默认值: 100 服务: Orchestrator 热重载: 是 批处理间隔 (毫秒)。
EVENTLOG_BATCH_INTERVAL_MS=100

RATE_LIMIT_INTERVAL_MS

类型: Integer 默认值: 60000 服务: Orchestrator 热重载: 是 速率限制窗口 (毫秒)。
RATE_LIMIT_INTERVAL_MS=60000

Worker 并发

配置每个优先级队列的 Temporal worker 并发数:
# 默认 workers (所有优先级)
WORKER_ACT=10
WORKER_WF=5

# 关键优先级
WORKER_ACT_CRITICAL=20
WORKER_WF_CRITICAL=10

# 高优先级
WORKER_ACT_HIGH=15
WORKER_WF_HIGH=8

# 普通优先级
WORKER_ACT_NORMAL=10
WORKER_WF_NORMAL=5

# 低优先级
WORKER_ACT_LOW=5
WORKER_WF_LOW=3
影响:
  • 更高的值 = 更高的并发, 更多的资源使用
  • 更低的值 = 更低的并发, 更少的资源使用

LLM_TIMEOUT_SECONDS

类型: Integer 默认值: 120 服务: Orchestrator 热重载: 是 LLM API 调用的超时时间。
LLM_TIMEOUT_SECONDS=120

杂项

SHANNON_WORKSPACE

类型: String 默认值: ./workspace 服务: Agent Core 热重载: 否 文件操作的工作区目录。
SHANNON_WORKSPACE=./workspace

SEED_DATA

类型: Boolean 默认值: false 服务: 所有 热重载: 否 启动时在 Qdrant 中填充示例数据。
SEED_DATA=true

AGENT_TIMEOUT_SECONDS

类型: Integer 默认值: 600 服务: Agent Core 热重载: 是 每次代理执行的最大运行时间。
AGENT_TIMEOUT_SECONDS=600

配置示例

开发环境

ENVIRONMENT=dev
DEBUG=true
GATEWAY_SKIP_AUTH=1
ENABLE_CACHE=true
DEFAULT_MODEL_TIER=small
MAX_COST_PER_REQUEST=0.10
TOOL_PARALLELISM=3

生产环境

ENVIRONMENT=prod
DEBUG=false
GATEWAY_SKIP_AUTH=0
JWT_SECRET=<secure-256-bit-key>
POSTGRES_PASSWORD=<secure-password>
REDIS_PASSWORD=<secure-password>
ENABLE_CACHE=true
DEFAULT_MODEL_TIER=medium
MAX_COST_PER_REQUEST=1.00
TOOL_PARALLELISM=5
OTEL_ENABLED=true
LOG_FORMAT=json

高性能

TOOL_PARALLELISM=10
WORKER_ACT_CRITICAL=30
WORKER_WF_CRITICAL=15
ENABLE_CACHE=true
CACHE_SIMILARITY_THRESHOLD=0.90
STREAMING_RING_CAPACITY=2000

成本优化

DEFAULT_MODEL_TIER=small
MAX_COST_PER_REQUEST=0.25
MAX_TOKENS_PER_REQUEST=5000
ENABLE_CACHE=true
CACHE_SIMILARITY_THRESHOLD=0.95
WORKFLOW_SYNTH_BYPASS_SINGLE=true

故障排除

有关常见问题,请参阅 配置故障排除

相关文档