环境变量管理

📎 引用文件

本文引用的文件 - agent/src/config/env_schema.py - agent/src/config/accessor.py - agent/src/config/paths.py - agent/src/config/loader.py - agent/src/providers/capabilities.py - agent/backtest/loaders/base.py - agent/src/memory/hierarchy.py - agent/tests/test_ocr_integration.py - README_zh.md

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能与可靠性
  8. 故障排查指南
  9. 结论
  10. 附录:变量清单与使用示例

简介

本文件系统性梳理 Vibe-Trading 的环境变量管理体系,覆盖 LLM 提供商配置、数据源凭据、API 服务器设置、Swarm 执行参数、Agent 调优选项、路径配置、OCR 引擎设置以及记忆系统标志。文档基于代码库中的集中式 Pydantic 配置模型与环境读取逻辑,给出每个变量的作用、默认值、数据类型、验证规则与冲突解决机制,并说明如何与配置文件协同工作以及如何实现动态更新。

项目结构

Vibe-Trading 将环境变量统一收口到单一 Pydantic 模型中,按功能域划分为多个子配置类,顶层通过 EnvConfig 组合。运行时通过单例访问器提供线程安全的缓存与重置能力;路径模块负责用户根目录与配置文件发现;加载器负责结构化 Agent 配置(JSON/YAML)与运行时覆盖的合并。

graph TB A["进程环境<br/>os.environ"] --> B["EnvConfig<br/>集中式Pydantic模型"] B --> C["LLM配置<br/>LLMConfig"] B --> D["数据源配置<br/>DataConfig"] B --> E["API服务器配置<br/>APIConfig"] B --> F["Swarm配置<br/>SwarmConfig"] B --> G["Agent调优配置<br/>AgentTuningConfig"] B --> H["路径配置<br/>PathConfig"] B --> I["OCR配置<br/>OcrConfig"] B --> J["记忆配置<br/>MemoryConfig"] K["accessor.get_env_config()<br/>单例+锁"] --> B L["paths.*<br/>运行时根目录/配置路径"] --> M["loader.*<br/>结构化Agent配置加载与合并"]

图表来源 - agent/src/config/env_schema.py:1-577 - agent/src/config/accessor.py:52-93 - agent/src/config/paths.py:13-87 - agent/src/config/loader.py:28-151

章节来源 - agent/src/config/env_schema.py:1-577 - agent/src/config/accessor.py:52-93 - agent/src/config/paths.py:13-87 - agent/src/config/loader.py:28-151

核心组件

章节来源 - agent/src/config/env_schema.py:47-114 - agent/src/config/accessor.py:52-93 - agent/src/config/paths.py:13-87 - agent/src/config/loader.py:28-151 - agent/src/providers/capabilities.py:121-330

架构总览

下图展示环境变量在运行时的装配顺序与关键分支:

sequenceDiagram participant Proc as "进程" participant Acc as "accessor.get_env_config()" participant Schema as "EnvConfig(含各子配置)" participant Paths as "paths.*" participant Loader as "loader.*" participant Prov as "providers.capabilities" Proc->>Acc : 首次访问配置 Acc->>Schema : 构造EnvConfig(读os.environ, 应用默认值) Schema-->>Proc : 返回配置对象 Proc->>Paths : 获取运行时根目录/配置候选 Paths-->>Loader : 返回配置路径 Loader->>Loader : 读取JSON/YAML并校验 Loader-->>Proc : 返回结构化Agent配置(可被覆盖) Proc->>Prov : 解析provider密钥与base_url Prov-->>Proc : 返回provider元信息

图表来源 - agent/src/config/accessor.py:52-93 - agent/src/config/env_schema.py:545-577 - agent/src/config/paths.py:13-87 - agent/src/config/loader.py:28-151 - agent/src/providers/capabilities.py:293-330

详细组件分析

LLM 提供商配置(LLMConfig)

章节来源 - agent/src/config/env_schema.py:122-146 - agent/src/providers/capabilities.py:121-330

数据源凭据(DataConfig)

章节来源 - agent/src/config/env_schema.py:153-198 - agent/backtest/loaders/base.py:147-181 - README_zh.md:152-152

OCR 引擎设置(OcrConfig)

章节来源 - agent/src/config/env_schema.py:205-237 - agent/tests/test_ocr_integration.py:1-57

API 服务器设置(APIConfig)

章节来源 - agent/src/config/env_schema.py:245-295 - README_zh.md:698-700

Swarm 执行参数(SwarmConfig)

章节来源 - agent/src/config/env_schema.py:302-316

Agent 调优选项(AgentTuningConfig)

章节来源 - agent/src/config/env_schema.py:323-377

路径配置(PathConfig)

章节来源 - agent/src/config/env_schema.py:385-403 - agent/src/config/loader.py:154-229

记忆系统标志(MemoryConfig)

章节来源 - agent/src/config/env_schema.py:411-537 - agent/src/memory/hierarchy.py:1-106

环境变量优先级与冲突解决

章节来源 - agent/src/config/env_schema.py:545-577 - agent/src/config/env_schema.py:214-237 - agent/src/config/loader.py:107-134 - agent/src/config/accessor.py:52-93

环境变量与配置文件的关系

章节来源 - agent/src/config/paths.py:13-87 - agent/src/config/loader.py:154-229

依赖关系分析

classDiagram class EnvConfig { +llm : LLMConfig +data : DataConfig +api : APIConfig +swarm : SwarmConfig +agent_tuning : AgentTuningConfig +paths : PathConfig +ocr : OcrConfig +memory : MemoryConfig } class LLMConfig class DataConfig class APIConfig class SwarmConfig class AgentTuningConfig class PathConfig class OcrConfig class MemoryConfig EnvConfig --> LLMConfig EnvConfig --> DataConfig EnvConfig --> APIConfig EnvConfig --> SwarmConfig EnvConfig --> AgentTuningConfig EnvConfig --> PathConfig EnvConfig --> OcrConfig EnvConfig --> MemoryConfig

图表来源 - agent/src/config/env_schema.py:545-577

章节来源 - agent/src/config/env_schema.py:545-577

性能与可靠性

章节来源 - agent/backtest/loaders/base.py:147-181 - agent/src/config/env_schema.py:302-377

故障排查指南

章节来源 - agent/tests/test_ocr_integration.py:1-57 - agent/src/config/accessor.py:52-93 - README_zh.md:698-700

结论

Vibe-Trading 通过集中式 Pydantic 模型统一管理环境变量,提供强类型、可验证、可回退的配置体系。配合路径发现、结构化配置文件与 Provider 能力层,实现了灵活、安全且可动态更新的运行期配置。推荐在生产环境中显式设置关键凭据与开关,并通过测试与日志验证配置生效。

附录:变量清单与使用示例

LLM 提供商配置

章节来源 - agent/src/config/env_schema.py:122-146 - agent/src/providers/capabilities.py:121-330

数据源凭据

章节来源 - agent/src/config/env_schema.py:153-198 - agent/backtest/loaders/base.py:147-181

API 服务器设置

章节来源 - agent/src/config/env_schema.py:245-295 - README_zh.md:698-700

Swarm 执行参数

章节来源 - agent/src/config/env_schema.py:302-316

Agent 调优选项

章节来源 - agent/src/config/env_schema.py:323-377

路径配置

章节来源 - agent/src/config/env_schema.py:385-403 - agent/src/config/loader.py:154-229

OCR 引擎设置

章节来源 - agent/src/config/env_schema.py:205-237 - agent/tests/test_ocr_integration.py:1-57

记忆系统标志

章节来源 - agent/src/config/env_schema.py:411-537 - agent/src/memory/hierarchy.py:1-106