CLI 配置
iFlow CLI 提供了丰富的配置选项,您可以通过环境变量、命令行参数和设置文件来定制CLI的行为。下面我们将详细介绍这些配置方式,帮助您打造专属的使用体验。
配置层级
iFlow CLI 采用分层配置系统,按照以下优先级顺序生效,优先级高的设置会覆盖低优先级的设置:
- 应用默认值: CLI 内置的基础配置
- 用户全局设置: 您的个人默认配置,适用于所有项目
- 项目专属设置: 特定项目的配置,会覆盖用户设置
- 系统级设置: 管理员配置,适用于整个系统
- 命令行参数: 启动时指定的临时配置,优先级最高
环境变量配置
iFlow CLI 现在支持通过环境变量进行配置,所有 ~/.iflow/settings.json 中的配置项都可以通过 IFLOW_ 前缀的环境变量设置,避免与其他项目的环境变量冲突。
环境变量命名约定
IFLOW 前缀规则
为了避免与其他项目的环境变量冲突,所有环境变量都必须使用 IFLOW 或 iflow 前缀。
对于 settings.json 中的任何配置项,iFlow 支持以下 4 种环境变量命名约定(按优先级排序):
- IFLOW_前缀的驼峰命名 -
IFLOW_+ settings.json 中的 key 名称(推荐) - IFLOW_前缀的下划线命名 -
IFLOW_+ 大写下划线格式 - iflow_前缀的驼峰命名 -
iflow_+ settings.json 中的 key 名称 - iflow_前缀的下划线命名 -
iflow_+ 大写下划线格式
命名示例
| settings.json 中的 key | 1. IFLOW_驼峰 | 2. IFLOW_下划线 | 3. iflow_驼峰 | 4. iflow_下划线 |
|---|---|---|---|---|
apiKey | IFLOW_apiKey | IFLOW_API_KEY | iflow_apiKey | iflow_API_KEY |
baseUrl | IFLOW_baseUrl | IFLOW_BASE_URL | iflow_baseUrl | iflow_BASE_URL |
modelName | IFLOW_modelName | IFLOW_MODEL_NAME | iflow_modelName | iflow_MODEL_NAME |
vimMode | IFLOW_vimMode | IFLOW_VIM_MODE | iflow_vimMode | iflow_VIM_MODE |
showMemoryUsage | IFLOW_showMemoryUsage | IFLOW_SHOW_MEMORY_USAGE | iflow_showMemoryUsage | iflow_SHOW_MEMORY_USAGE |
支持的配置项
所有在 ~/.iflow/settings.json 中的配置项都支持通过环境变量设置,包括但不限于:
apiKey- API 密钥baseUrl- 基础 URLmodelName- 模型名称vimMode- Vim 模式开关showMemoryUsage- 显示内存使用maxSessionTurns- 最大会话轮数theme- 主题设置approvalMode- 设置 CLI 默认交互模式language- 设置 CLI 默认语言includeDirectories- 指定 CLI 额外的工作目录- 以及 Settings 接口中的所有其他配置项