Skip to main content
Skip to main content
全局设置用户手册
文档类型
使用手册
相关模块
global config
相关版本
v0.x
发布日期
2026-02-15

Config · Userspace 使用指南

userspace/config/ 覆盖或补充框架默认配置,无需改 core/default_config/。实际生效 = 默认配置 + 用户配置(深度合并)+ 环境变量覆盖。只写你要改的部分即可。


目录结构

userspace/config/                  # 用户配置(可选)
├── data.json                      # 数据相关(开始日期、小数位、股票过滤等)
├── market.json                    # 市场配置
├── system.json                    # 系统配置
├── worker.json                    # Worker 并发等
├── logging.json                   # 日志
└── database/
    ├── common.json                # 公共项(如 database_type)
    ├── postgresql.json            # PostgreSQL(通常只写 user/password)
    ├── mysql.json
    └── sqlite.json

约定:文件名与 core/default_config/ 一一对应;缺文件则该项完全使用默认值。敏感信息可用环境变量,勿把含密码的 JSON 提交到版本库。


常用覆盖示例

数据库(PostgreSQL):只写需要覆盖的字段,其余继承默认。

// userspace/config/database/postgresql.json
{
  "user": "my_user",
  "password": "my_password"
}

或用环境变量:DB_POSTGRESQL_USERDB_POSTGRESQL_PASSWORD 等(由配置管理组件读取)。

切换数据库类型

// userspace/config/database/common.json
{ "database_type": "mysql" }

再在 userspace/config/database/mysql.json 里写 MySQL 的 user/password 等。

股票过滤(只覆盖过滤规则):

// userspace/config/data.json
{
  "stock_list_filter": {
    "exclude_patterns": {
      "start_with": { "id": ["688", "8"] }
    }
  }
}

Worker 并发:在 worker.json 中按需覆盖 default_task_configmodule_task_config 等(参见 core/default_config/worker.json 结构)。


代码里如何读配置

不直接读 JSON。通过 Project Context 的配置管理组件读取,例如:

  • ConfigManager.load_database_config()ConfigManager.load_data_config()ConfigManager.load_worker_config() 等;
  • ProjectContextManager().config.load_with_defaults(default_path, user_path, ...)

详见 infra/project_context 下的 api.mdarchitecture.md


相关文档