环境变量
全部可用环境变量及其作用。
共 124 个环境变量,取自
sid-code --help的环境变量段, 并与源码里实际的process.env读取点(扫到 183 个)交叉核对。 扫到的 183 个里 120 个在上表、63 个列在页尾;表里另有 4 个是扫描认不出的读法(如拼接出的变量名),仍以 help 为准。
优先级:环境变量 >
settings.json。SID_*前缀的变量只对 sid-code 生效, 不与同机的其他工具共享。
通用
| 变量 | 说明 |
|---|---|
ANTHROPIC_API_KEY | Anthropic API 密钥 |
OPENAI_API_KEY | OpenAI API 密钥 |
SID_CODE_LLM_PROVIDER | LLM 提供商(仅 sid-code 生效,不与其他工具共享) |
SID_CODE_LLM_MODEL | 模型名称(仅 sid-code 生效) |
SID_CODE_LLM_BASE_URL | 自定义 API 基础 URL(仅 sid-code 生效) |
SID_CODE_LLM_API_KEY | OpenAI 兼容端点的 API 密钥(仅 sid-code 生效) |
SID_CODE_EFFORT_LEVEL | 推理强度档位 (low/medium/high/xhigh/max);兼容 CLAUDE_CODE_EFFORT_LEVEL |
SID_CODE_THINKING | 思考开关覆盖 (on/off/auto) |
SID_CODE_MAX_THINKING_TOKENS | 思考 token 预算上限;兼容 MAX_THINKING_TOKENS,优先于 settings.maxThinkingTokens |
SID_MAX_OUTPUT_TOKENS | 最大输出 token 数覆盖(缺省 32768) |
SID_MODEL_CATALOG_TTL_MS | 外部模型目录同步 TTL 毫秒(缺省 86400000,即 1 天);设小值可强制重新采集模型能力 |
SID_LANGUAGE | 输出语言偏好 (zh/en/auto);兼容 SID_CODE_LANGUAGE,优先级低于 --language |
ANTHROPIC_AUTH_TOKEN | Anthropic 密钥备用名(ANTHROPIC_API_KEY 优先) |
SID_CHEAP_MODEL | cheap 档子代理(explore/plan/summarize)用的模型;不设则跟主模型 |
SID_STRONG_MODEL | strong 档子代理(modelTier: strong)用的模型;不设则跟主模型 |
轨迹采集
| 变量 | 说明 |
|---|---|
SID_CODE_TRACE | 设为 1 或 true 强制启用轨迹采集(默认已启用,关闭用 --no-trace) |
SID_CODE_TRACE_OUTPUT_DIR | 自定义轨迹输出目录 |
SID_CODE_TRACE_NO_RAW | 设为 1 不把 prompt/响应原文写进 raw.jsonl |
SID_CODE_TRACE_UPLOAD_URL | 轨迹上传平台地址(缺省取 backend.url) |
SID_CODE_TRACE_UPLOAD_TOKEN | 上传认证 token |
SID_CODE_TRACE_USER_ID | 用户标识(仅轨迹上传;未设时回落到 SID_CODE_IDENTITY_USER_ID) |
SID_CODE_TRACE_DEVICE_ID | 设备标识(仅轨迹上传;未设时回落到本机持久 device-id) |
SID_CODE_IDENTITY_USER_ID | 用户标识(如 zhangsan@corp.com) |
SID_CODE_IDENTITY_ORG_ID | 组织标识(如 corp-shanghai) |
SID_CODE_IDENTITY_TEAM_ID | 团队标识(如 infra-platform) |
SID_CODE_BACKEND_URL | 企业后端地址(覆盖 settings 的 backend.url)。登录 / 策略 / 预算 / 账本 / 事件 / flag / 轨迹上传全部由它推出路径,只填 base(如 https://<后端>/traj) |
SID_CODE_POLICY_ENDPOINT | 已弃用:远程策略完整 URL。仅在未配 backend.url 时生效,下个版本删除 |
SID_CODE_USAGE_ENDPOINT | 已弃用:账本上报完整 URL。仅在未配 backend.url 时生效,下个版本删除 |
SID_CODE_BUDGET_ENDPOINT | 已弃用:远程预算完整 URL。仅在未配 backend.url 时生效,下个版本删除 |
功能开关
| 变量 | 说明 |
|---|---|
SID_CODE_TOOL_SEARCH | 工具延迟加载模式 (true/false/auto/auto:N) |
SID_CODE_COORDINATOR_MODE | 设为 1 启用 Coordinator 编排模式 |
SID_CODE_TEAM_MEMORY | 团队记忆同步配置(JSON 对象,如 {"enabled":true,"dir":"/shared"}) |
SID_CODE_AUTO_CONNECT_IDE | 设为 true 自动连接 IDE |
SID_CODE_DISABLE_TELEMETRY | 设为 1 进入 no-telemetry:关闭企业事件上报、账本远程上报、OTLP 导出 |
SID_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 设为 1 进入 essential-traffic:在上一级基础上再关轨迹上传(含 --upload-traces)、 更新检查、外部模型目录同步、远端开关、告警 webhook; 保留与模型端点同源的流量(主模型请求、网关定价同步、预连接)与企业策略拉取 |
SID_CODE_DISABLE_PROJECT_RULES | 设为 1 跳过 CLAUDE.md 加载(评测隔离) |
SID_CODE_DISABLE_CRON | 设为 1 整体禁用定时任务(工具不注册、调度器不轮询、已持久化任务不触发) |
SID_CODE_AUTO_MEMORY | 后台自动提取记忆开关 (0/1,缺省启用;优先于 settings.autoMemory) |
SID_CODE_STALL_ESCALATION | 停滞升级阶梯(收敛提示 + 清单振荡时停止劝续跑),交互模式缺省启用,设为 0 关闭 |
SID_CODE_STALL_HARD_STOP | 停滞升级 L2 是否真停并交还用户(1/0,优先于 settings.stallHardStop;缺省只记事件不停) |
SID_CODE_STALL_ESCALATION_HEADLESS | 设为 1 时 -p/headless 也启用停滞升级(缺省不启用;L2 真停时 result subtype=error_stalled) |
SID_MAX_TURNS | 单条用户消息的软轮次阈值(正整数,缺省不启用):达阈值时提醒模型收尾,不强制中断 |
SID_ENABLE_LOOP_DETECTION | 循环检测默认关闭(实测 shape 检测误判率≈100%、exact 召回≈0),设为 1 可显式开启 |
SID_ENABLE_BARE_ELLIPSIS_CHECK | 裸符号省略号检测 [...]/(...) 默认关闭(实测真阳性 0、误报高),设为 1 可显式开启 |
SID_ENABLE_HYPOTHESIS | 假设登记表(含矛盾中断/交付门禁)默认关闭:受控 A/B 实测 ON/OFF 准确率同为 5.00/5,ON 却多花 +75% input、+61% 耗时,设为 1 可显式开启 |
系统路径
| 变量 | 说明 |
|---|---|
SID_CONFIG_DIR | 配置根目录覆盖(缺省 ~/.sid-code;含 debug.log/audit.log/轨迹等全部落盘) |
SID_CODE_HOME | SID_CONFIG_DIR 的兼容别名(历史上仅轨迹子系统读它);新配置请用 SID_CONFIG_DIR |
SID_CODE_TMPDIR | 临时目录覆盖(沙箱/测试用) |
SID_RIPGREP_PATH | 指定 rg 可执行文件路径(缺省用内嵌释放的 rg,再回退系统 PATH;sid-code doctor 会显示实际来源) |
SID_GREP_TIMEOUT_SECONDS | grep/glob 搜索超时秒数(缺省 20,WSL 下 60;settings.json 的 searchTimeoutSeconds 优先) |
SID_READ_MAX_OUTPUT_TOKENS | read 单次输出 token 上限(缺省 25000;超限报错并建议 offset/limit) |
安装与更新
| 变量 | 说明 |
|---|---|
SID_CODE_CHANNEL | 发布通道 stable|beta(缺省沿用当前安装的通道,未装 beta 即 stable);显式设置可切换通道 |
SID_CODE_AUTO_UPDATE | 自动更新模式覆盖 off|notify|auto(优先于 settings.autoUpdate) |
SID_CODE_RELEASE_HOST | 发布服务器地址覆盖(缺省 https://www.sid-code.cc;裸 host 自动补 https) |
SID_CODE_INSTALL_URL | install.sh 完整 URL 覆盖(非标准路径时用) |
颜色控制
| 变量 | 说明 |
|---|---|
NO_COLOR | 禁用颜色输出(标准约定) |
FORCE_COLOR | 强制颜色级别 (0-3) |
调试/诊断
| 变量 | 说明 |
|---|---|
SID_CODE_DEBUG | 设为 1 等同 --debug(写 debug.log),同时把 ink 渲染层日志打到 stderr |
SID_CODE_PROFILE_STARTUP | 设为 1 启用启动性能打点 |
SID_CODE_DEBUG_SSE | 设为 1 启用 SSE 诊断日志 |
SID_CODE_PERFETTO_TRACE | 启用 Perfetto 追踪输出(性能分析) |
SID_CODE_DIAGNOSTICS_FILE | 诊断结果输出文件路径 |
SID_CODE_CONTENT_TRACING | 设为 1 启用内容级 tracing(span 携带 prompt/响应/工具输出原文;默认关闭,隐私敏感) |
SID_CODE_REPLAY_FILE | 录制回放:指向一个 raw.jsonl,配合 --provider replay 重放该会话 |
SID_CODE_REPLAY_ON_EXHAUSTED | 录制耗尽后的行为 (end-turn/repeat-last/throw,缺省 end-turn) |
子代理/工作流
| 变量 | 说明 |
|---|---|
SID_SUBAGENT_MAX_CONCURRENT | 子代理并发上限(缺省 20,对齐 CC) |
SID_TOOL_MAX_CONCURRENT | 工具并发上限(缺省 10) |
SID_WORKFLOW_MAX_CONCURRENT | 工作流并发上限(缺省 min(16, cpu核数-2)) |
SID_WORKFLOW_SYNC_TIMEOUT_MS | 工作流同步超时毫秒 |
网络超时与重试
| 变量 | 说明 |
|---|---|
SID_CODE_IDLE_TIMEOUT_MS | 档①字节级 idle:连一个字节都收不到(缺省 240000) |
SID_CODE_CONTENT_PROGRESS_TIMEOUT_MS | 档②事件级无进展:有字节但无有效内容(缺省 480000) |
SID_CODE_FETCH_ABSOLUTE_TIMEOUT_MS | fetch 绝对硬顶(缺省关闭;与档③谓词重合,不建议开) |
SID_CODE_FALLBACK_STREAM_TIMEOUT_MS | fallback attempt 级无进展上限(缺省 600000) |
SID_CODE_STREAM_HEARTBEAT_TIMEOUT_MS | 流心跳上限,首字节后任意事件续命(缺省 600000) |
SID_CODE_WATCHDOG_NO_PROGRESS_MS | loop 层无进展复核(缺省 720000) |
SID_CODE_WATCHDOG_CHECK_INTERVAL_MS | 看门狗检查间隔(缺省 5000) |
SID_CODE_WATCHDOG_HEADER_GRACE_MS | 首字节余量(缺省 15000) |
SID_CODE_RESPONSE_HEADER_TIMEOUT_MS | 响应头超时(缺省 300000) |
SID_CODE_MAX_SESSION_DURATION_MS | 单次输入的连续执行总时长上限(缺省 0=关闭) |
SID_CODE_SDK_IDLE_TIMEOUT_MS | stream-json 模式 stdin 空闲上限,无轮在跑且无入站消息时结束(缺省 0=关闭) |
SID_CODE_STDIN_TIMEOUT_MS | 无头模式等待管道 stdin EOF 的上限(缺省 3000;到点用已收到的部分继续) |
SID_CODE_MAX_TIMEOUT_RETRIES | loop 层重试上限(缺省 10) |
SID_CODE_RETRY_BACKOFF_BASE_MS | 指数退避基数(缺省 5000,带 ±15% jitter) |
SID_CODE_ANTHROPIC_CONTENT_PROGRESS_TIMEOUT_MS | anthropic 族档②专用覆盖 |
SID_CODE_ANTHROPIC_OVERALL_TIMEOUT_MS | anthropic 族 overall 专用覆盖 |
SID_CODE_OPENAI_OVERALL_TIMEOUT_MS | openai 族 overall 专用覆盖 |
SID_CODE_MCP_TIMEOUT | MCP 连接/请求超时(缺省 30000;兜底名 MCP_TIMEOUT) |
SID_CODE_MCP_TOOL_TIMEOUT | MCP 工具调用超时(缺省 120000;兜底名 MCP_TOOL_TIMEOUT) |
旁路调用超时(失败即静默降级,仅 env 可配)
| 变量 | 说明 |
|---|---|
SID_CODE_COMPACT_TIMEOUT_MS | auto-compact 摘要(缺省 60000) |
SID_CODE_COLLAPSE_SEGMENT_TIMEOUT_MS | context-collapse 单段摘要(缺省 45000) |
SID_CODE_RECALL_TIMEOUT_MS | 记忆召回初筛(缺省 15000) |
SID_CODE_TITLE_TIMEOUT_MS | 会话标题生成(缺省 15000) |
SID_CODE_GATEWAY_PRICING_TIMEOUT_MS | 网关定价采集(缺省 15000) |
上下文管理
| 变量 | 说明 |
|---|---|
SID_OUTPUT_THRESHOLD | 工具输出阈值字符数(缺省 30000) |
SID_CODE_TOOL_SEARCH_KEEP_LOADED | tool search 豁免名单(逗号分隔,列出的工具不 defer) |
SID_KEEP_RECENT_OUTPUTS | 保留最近输出个数(缺省 6) |
SID_FALLBACK_CONTEXT_WINDOW | 未知模型的保守上下文窗口 token 数(缺省 128000) |
SID_RECOVERY_FLOOR_TOKENS | 溢出恢复最小输出 token 下限(缺省 3000) |
SID_CODE_MAX_MCP_OUTPUT_TOKENS | MCP 工具输出 token 上限(缺省 25000);兼容无前缀的 MAX_MCP_OUTPUT_TOKENS |
高级/实验性
| 变量 | 说明 |
|---|---|
SID_CODE_PROTOCOL_STRICT | 设为 1 启用协议严格模式(默认宽容模式只告警) |
SID_CODE_WEBHOOK_SECRET | Webhook 认证 token(daemon 使用) |
SID_CODE_SSE_PORT | IDE SSE 端口(IDE 自动发现) |
SID_DISABLE_STRICT_TOOLS | 设为 1 禁用 strict 工具模式 |
SID_DISABLE_FGTS | 设为 1 禁用 First-Guess Tool Streaming |
SID_ENABLE_TOKEN_EFFICIENT_TOOLS | 设为 1 启用 token 高效工具 |
SID_LOOP_EXHAUSTED_ACTION | 循环耗尽动作(terminate 时回退旧行为) |
SID_DISABLE_PROMISE_NUDGE | 设为 1 关闭「短文本承诺未兑现」续跑(提示照常) |
SID_STRUCTURED_OUTPUT_MAX_RETRIES | 结构化输出最大重试次数(缺省 5) |
SID_DISABLE_TAB_STATUS | 设为 1 禁用终端 Tab 状态指示 |
SID_CODE_DISABLE_MOUSE_CLICKS | 设为 1 禁用鼠标点击 |
SID_CODE_VERSION | 版本号覆盖(缺省读 package.json);⚠️ install.sh 也读它,但语义是"锁定安装哪个版本"——两处同名不同义,别在长期 shell 里 export 它 |
Hook 脚本可访问的环境变量(运行时注入)
| 变量 | 说明 |
|---|---|
SID_CODE_HOOK_EVENT | Hook 事件名 |
SID_CODE_PROJECT_DIR | 项目目录 |
SID_CODE_SESSION_ID | 当前会话 ID |
SID_CODE_MODEL | 当前模型 |
SID_CODE_TOOL_NAME | 工具名称 |
SID_CODE_TOOL_INPUT | 工具输入(JSON) |
SID_CODE_TOOL_OUTPUT | 工具输出(JSON) |
SID_CODE_TOOL_IS_ERROR | 是否为错误 |
SID_CODE_TOOL_USE_ID | 工具调用 ID |
SID_CODE_USER_INPUT | 用户提示词 |
SID_CODE_STOP_REASON | LLM 停止原因 |
SID_CODE_AGENT_ID | 代理 ID |
SID_CODE_AGENT_TYPE | 代理类型 |
未列入上表的读取点(63)
源码里有读取、但未写进 --help 环境变量段的变量。多为内部/测试用途,不保证向后兼容,不建议依赖:
ANTHROPIC_MODEL、CLAUDE_CODE_ACCESSIBILITY、CLAUDE_CODE_EFFORT_LEVEL、CLAUDE_CODE_MAX_OUTPUT_TOKENS、CLAUDE_CODE_SUBAGENT_MODEL、CLAUDE_CODE_TMUX_TRUECOLOR、SIDCODE_AGENT_PROGRESS_SUMMARY、SIDCODE_MAX_OLD_SPACE_SIZE、SIDCODE_NO_SPAWN、SIDCODE_SSE_EVENT_SHIM、SID_ACCESSIBILITY、SID_AGENT_DEPTH、SID_CODE_ACCESSIBILITY、SID_CODE_ALERT_WEBHOOK_URL、SID_CODE_AUTOCOMPACT_PCT、SID_CODE_BUILD_INFO、SID_CODE_CACHE_BREAKS、SID_CODE_CHANNEL_TRUST、SID_CODE_CWD、SID_CODE_DEBUG_SSE_DUMP、SID_CODE_DISABLE_POLICY_SKILLS、SID_CODE_DISABLE_SKILL_HOT_RELOAD、SID_CODE_FAILED_USAGE_LEDGER、SID_CODE_HEARTBEAT_SWEEP、SID_CODE_LANGUAGE、SID_CODE_MAX_RETRIES_PER_CALL、SID_CODE_MAX_TURN_DURATION_MS、SID_CODE_MEMORY_RECALL、SID_CODE_NO_BROWSER、SID_CODE_OFFICIAL_MARKET_URL、SID_CODE_OPENAI_PROTOCOL、SID_CODE_PAIRING_TIMEOUT_MS、SID_CODE_PLUGIN_DATA、SID_CODE_PLUGIN_ROOT、SID_CODE_RESPONSES_REASONING_REPLAY、SID_CODE_RETRY_BACKOFF_MAX_MS、SID_CODE_SESSION_INDEX、SID_CODE_STRUCTURED_OUTPUT_MAX_RETRIES、SID_CODE_TMUX_TRUECOLOR、SID_CODE_UPDATE_CHECK_INTERVAL_HOURS、SID_CODE_USAGE_FILE、SID_CODE_USAGE_LEDGER、SID_CODE_WORKFLOW_STRICT_PHASES、SID_CODE_WSL_HOST_IP、SID_DISABLE_EDIT_FAILURE_REMINDER、SID_DISABLE_TOOL_CACHE、SID_EDIT_FAILURE_REMINDER_THRESHOLD、SID_ENABLE_AGENT_TEAMS、SID_ENABLE_GOAL_HARD_STOP、SID_ENABLE_MIDTURN_DRAIN、SID_ENABLE_NESTED_SUBAGENT、SID_ENABLE_OUTPUT_STALL、SID_ENABLE_STREAMING_TOOL_EXEC、SID_ENABLE_THINKING_DIVERGENCE、SID_GLOB_HIDDEN、SID_GLOB_NO_IGNORE、SID_LOOP_MAX_RECOVERY、SID_LOOP_SHAPE_THRESHOLD、SID_LOOP_SHAPE_WINDOW、SID_LOOP_TOOL_CALL_THRESHOLD、SID_SCREEN_READER、SID_SUBAGENT_MAX_DEPTH、SID_TEAMMATE_MODE