首页 / 入门指南 / 环境配置

环境配置详解

LingFlow 通过环境变量与 .env 文件完成全部配置。本页覆盖核心服务、AWS 凭证、Bedrock 模型、 S3 技能存储、安全、心跳与可选配置项,每一项均标注默认值与是否必填,便于在生产与开发环境之间快速迁移。

核心服务配置

控制服务运行模式、监听端口、日志级别与 LLM 模拟开关。这些变量在开发与生产环境之间存在差异, 建议通过 .env 文件统一管理。

变量 说明 默认值 必填
MODE 运行模式:development 或 production development
WSS_ADDR WebSocket 监听地址 :4030
LOG_LEVEL 日志级别:DEBUG, INFO, WARN, ERROR, VERBOSE INFO
LLM_MOCK_MODE 设为 true 使用模拟 LLM 响应(开发测试用) false

AWS 凭证配置

LingFlow 通过 AWS SDK 访问 Bedrock 与 S3 服务,需配置 IAM 用户凭证与默认区域。

变量 说明 必填
AWS_ACCESS_KEY_ID IAM 用户访问密钥 ID
AWS_SECRET_ACCESS_KEY IAM 用户秘密访问密钥
AWS_REGION 默认 AWS 区域(用于 S3 等服务)
提示:LingFlow 使用 AWS SDK 默认凭证链,也支持 IAM 角色、共享凭证文件等方式。 在生产环境中,推荐使用 EC2 IAM Role 或 Lambda Execution Role,避免在配置文件中硬编码密钥。

AWS Bedrock 配置

Bedrock 是 LingFlow 调用大语言模型的核心通道。区域需与模型可用区域匹配,模型 ID 决定推理能力。

变量 说明 默认值 必填
AWS_BEDROCK_REGION Bedrock 服务所在区域 ap-east-1
AWS_BEDROCK_MODEL_ID Bedrock 模型标识符 anthropic.claude-3-5-sonnet-20241022-v2:0
AWS_BEDROCK_MAX_TOKENS 响应最大 token 数 2048
AWS_BEDROCK_TEMPERATURE 采样温度 (0.0-1.0) 0.7
AWS_BEDROCK_TOP_P Top-p 核采样 (0.0-1.0) 0.9
AWS_BEDROCK_TIMEOUT 单次请求超时时长 60s

常用 Bedrock 模型 ID

不同模型对应的可用区域不同,切换模型时需同步调整 AWS_BEDROCK_REGION

模型名称 模型 ID 可用区域
Amazon Nova Lite amazon.nova-lite-v1:0 us-east-1
Amazon Nova Pro amazon.nova-pro-v1:0 us-east-1
Claude 3.5 Sonnet anthropic.claude-3-5-sonnet-20241022-v2:0 us-east-1
Claude 3 Haiku anthropic.claude-3-haiku-20240307-v1:0 us-east-1
Llama 3.1 70B meta.llama3-1-70b-instruct-v1:0 us-east-1

S3 技能存储配置

技能文件以 Markdown 形式存储在 S3 桶中,LingFlow 启动时拉取并周期性校验。 SKILLS_S3_BUCKET 为优先读取项,AWS_SKILLS_S3_BUCKET 为兼容备用项。

变量 说明 默认值
SKILLS_S3_BUCKET 技能文件存储桶名称(优先读取)
AWS_SKILLS_S3_BUCKET 技能文件存储桶名称(备用变量,支持 ARN 格式)
SKILLS_S3_PREFIX S3 中技能文件的前缀路径 skills/
S3_REGION S3 存储桶所在区域(独立于 AWS_REGION) 继承 AWS_REGION
注意:SKILLS_S3_BUCKET 和 AWS_SKILLS_S3_BUCKET 任意配置一个即可。 如果填写的是 ARN 格式(如 arn:aws:s3:::my-bucket),系统会自动提取 bucket 名称。

安全配置

生产环境必须启用 TLS、Token 签名、Origin 白名单与 IP 限流。WSS_ALLOW_ALL_ORIGINS 仅用于本地调试,上线前务必关闭。

变量 说明 默认值 生产必填
WSS_CERT_FILE TLS 证书文件路径
WSS_KEY_FILE TLS 私钥文件路径
WSS_AUTH_SECRET HMAC Token 签名密钥
AUTH_API_KEY REST 认证接口的 API Key
AUTH_TOKEN_TTL Token 有效期 24h
WSS_ALLOWED_ORIGINS 允许的 Origin 列表(逗号分隔)
WSS_MAX_CONNECTIONS_PER_IP 单 IP 最大连接数 10
WSS_ALLOW_ALL_ORIGINS 允许所有 Origin(仅调试用) false

心跳配置

心跳机制用于检测连接活性,超时未活动的连接将被自动断开,避免资源泄漏。

变量 说明 默认值
WSS_HEARTBEAT_INTERVAL 服务端 Ping 发送间隔 30s
WSS_HEARTBEAT_TIMEOUT 连接空闲超时(无活动则断开) 90s
WSS_HEARTBEAT_WRITE_TIMEOUT 写入操作超时 10s

技能创建配置

控制是否允许通过 #create_skill 命令动态生成技能,以及是否启用 Bedrock Guardrail 提示注入防护。

变量 说明 默认值
IS_ALLOW_USER_CREATE_SKILL 是否允许通过 #create_skill 创建技能 false
ENABLE_BEDROCK_GUARDRAIL 是否启用 Bedrock Guardrail 提示注入防护 false

可选配置

支持从 AWS Secrets Manager 拉取密钥,或从 S3 加载 .env 文件,便于在 Serverless 环境中集中管理配置。

变量 说明 默认值
SECRET_ARN AWS Secrets Manager 密钥 ARN
SECRET_NAME AWS Secrets Manager 密钥名称
S3_ENV_BUCKET 存储 .env 文件的 S3 桶
S3_ENV_KEY .env 在 S3 中的键名 .env

.env 完整示例

以下是一份覆盖核心场景的 .env 模板,复制后按需替换密钥与桶名即可使用。

bash
# 核心配置
MODE=development
WSS_ADDR=:4030
LOG_LEVEL=INFO
LLM_MOCK_MODE=true

# AWS 凭证
AWS_ACCESS_KEY_ID=AKIAxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxx
AWS_REGION=ap-southeast-5

# S3 技能存储
SKILLS_S3_BUCKET=skill-bucket-bedrock
SKILLS_S3_PREFIX=skills/
S3_REGION=ap-southeast-5

# Bedrock 配置
AWS_BEDROCK_REGION=us-east-1
AWS_BEDROCK_MODEL_ID=amazon.nova-lite-v1:0
AWS_BEDROCK_MAX_TOKENS=2048
AWS_BEDROCK_TEMPERATURE=0.7
AWS_BEDROCK_TOP_P=0.9
AWS_BEDROCK_TIMEOUT=60s

# 技能创建
IS_ALLOW_USER_CREATE_SKILL=true
ENABLE_BEDROCK_GUARDRAIL=false