MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / loadEnvConfig

Function loadEnvConfig

packages/config/src/loader.ts:84–106  ·  view source on GitHub ↗

* 从 CHATLAB_* 环境变量加载配置 * * 映射规则: * - CHATLAB_DATA_DIR -> data.user_data_dir * - CHATLAB_API_PORT -> api.port * - CHATLAB_API_HOST -> api.host * - CHATLAB_LLM_PROVIDER -> llm.provider * - CHATLAB_LLM_MODEL -> llm.model * - CHATLAB_LLM_BASE_URL -> llm.base_url * - C

()

Source from the content-addressed store, hash-verified

82 * - CHATLAB_LOCALE_LANG -> locale.lang
83 */
84function loadEnvConfig(): Record<string, unknown> {
85 const result: Record<string, Record<string, unknown>> = {}
86
87 const envMap: Array<{ env: string; section: string; key: string; transform?: (v: string) => unknown }> = [
88 { env: 'CHATLAB_DATA_DIR', section: 'data', key: 'user_data_dir' },
89 { env: 'CHATLAB_API_PORT', section: 'api', key: 'port', transform: (v) => parseInt(v, 10) },
90 { env: 'CHATLAB_API_HOST', section: 'api', key: 'host' },
91 { env: 'CHATLAB_LLM_PROVIDER', section: 'llm', key: 'provider' },
92 { env: 'CHATLAB_LLM_MODEL', section: 'llm', key: 'model' },
93 { env: 'CHATLAB_LLM_BASE_URL', section: 'llm', key: 'base_url' },
94 { env: 'CHATLAB_LOCALE_LANG', section: 'locale', key: 'lang' },
95 ]
96
97 for (const { env, section, key, transform } of envMap) {
98 const value = process.env[env]
99 if (value !== undefined && value !== '') {
100 if (!result[section]) result[section] = {}
101 result[section][key] = transform ? transform(value) : value
102 }
103 }
104
105 return result
106}
107
108/**
109 * 写入 config.toml 的某个字段

Callers 1

loadConfigFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected