03 / CONFIG

模型与配置

可以在会话里切换模型,为某一次运行指定参数,或把个人偏好写到 ~/.siada-cli/conf.yaml。实际可用的模型取决于你配置的服务。


在会话中选择模型

输入 /model 打开模型选择器。要直接选择一个已配置的模型,可以输入 /model 模型名称;在终端运行 siada-cli --list-models 也可查看当前可用模型。

交互输入
/model
/status

选择后用 /status 确认当前模型。/model 的选择会保存到个人配置中;仅想临时指定模型时,使用启动参数更合适。

只影响这次运行

启动参数优先于个人配置。使用 --model 指定模型,--reasoning-effort 设置推理强度,或 --no-thinking 关闭推理;具体值需与模型支持的能力匹配。

TERMINAL · 将 MODEL_ID 换成可用模型
siada-cli --model MODEL_ID --reasoning-effort high
siada-cli --model MODEL_ID --no-thinking

配置 API Key 与模型服务

准备服务商提供的 API Key、API 地址和模型 ID。首次运行时选择 API Key 配置;已有配置时,在会话中输入 /configure 重新打开设置。

方式一:交互式配置

  1. 选择服务商;使用自建或第三方网关时,选择 Custom Provider。
  2. 选择模型。Custom Provider 需要填写 API 地址和该地址接受的模型 ID。
  3. 填写 API Key 并提交。输入时密钥会被遮挡,配置保存到个人目录。
  4. 进入会话后输入 /status 核对模型,再发送一条简短消息确认连接。

方式二:手动编辑连接配置

编辑 ~/.siada-cli/conf.yaml,把下面示例值换成自己的服务信息。自备 API 服务使用 provider: default;provider_id: custom 标记自定义服务,协议由模型路由和 API 地址决定。

~/.siada-cli/conf.yaml · 示例
llm_config:
  provider: default
  provider_id: custom
  model: "your-model-id"
  base_url: "https://api.example.com/v1"
  api_key: "YOUR_API_KEY"
合并已有配置

如果文件里已有 llm_config,请修改同一段,避免重复添加。API Key 只填写在自己的电脑上,不要提交到项目版本库或发送给他人。

让模型与 API 协议匹配

同一模型可能由不同网关提供。请按服务商文档填写地址和模型 ID;下面的地址只用于说明协议格式。

服务协议API 地址示例模型与连接要求
OpenAI Chat Completionshttps://api.example.com/v1服务须支持 POST /chat/completions。自定义别名使用服务商给出的模型 ID。
Anthropic Messageshttps://api.anthropic.com模型可使用 anthropic/claude-sonnet-4-6;原生协议网关也可提供完整的 /v1/messages 地址。
OpenAI Responseshttps://api.openai.com/v1GPT-5 及更新的 GPT 模型使用 Responses API,服务须支持 POST /responses。

API 地址通常填写服务根路径,例如 /v1;Chat Completions 和 Responses 不要填写具体请求路径。Anthropic Messages 可使用服务根地址或完整 Messages 地址。

登记自定义模型能力

自定义网关模型可在 ~/.siada-cli/models.json 登记上下文窗口、输出上限和图片能力。模型名称要与 conf.yaml 中一致;已有 models.json 时,将模型合并到 models 数组。

~/.siada-cli/models.json · 示例
{
  "default_model": "your-model-id",
  "models": [
    {
      "model_name": "your-model-id",
      "context_window": 128000,
      "max_tokens": 8192,
      "supports_images": false,
      "supports_prompt_cache": false
    }
  ]
}

示例能力数值需按服务商文档调整。models.json 定义模型能力,conf.yaml 保存连接信息和 API Key。自定义模型列表会替换内置列表,请保留自己需要的模型。

若输出经常被截断,检查 max_tokens 是否足够,并在服务支持的上限内调整;支持图片或推理参数时,再添加相应能力字段。

推理和界面偏好

这些偏好可以直接在会话里设置并保存到 conf.yaml,通常无需手动编辑配置。

操作配置项与含义
/effort highllm_config.reasoning_effort:推理强度;不同模型的级别不同,输入 /effort 查看。
/thinking on / offllm_config.enable_thinking:推理总开关;关闭后优先于推理强度与 token 预算。
/theme autoui.theme:跟随系统或终端;也可设为 dark、light。
/lang zh-CNpreferred_language:回复语言;英文使用 en。

图片与视觉模型

主模型支持图片时,截图可以直接参与任务。如果主模型无法读取图片,可设置 llm_config.vision_model,让视觉模型先提取文字证据,再交给主模型处理。

conf.yaml · 为 llm_config 补充
llm_config:
  model: "your-main-model"
  vision_model: "your-vision-model"
  vision_provider: default

这里仅展示视觉相关字段,添加到已有 llm_config 中即可。视觉模型必须是你已配置、可访问且支持图片的模型。

常用运行设置

没有对应命令的设置,可直接编辑 conf.yaml,或使用 /siada-help 请 Siada 帮你调整并检查类型。

配置项用途
code_agent.max_turns一次 Agent 执行的最大轮数,使用整数。
command_timeoutShell 命令超时秒数,使用整数。
goal.max_turns目标验证连续失败时允许自动续跑的轮数,默认 6。
checkpoint_config.enable交互模式的文件检查点开关,见 检查点。
memory.enabled记忆总开关;可用 user_profile_enabled、memory_facts_enabled 控制记忆内容。
memory.holographic.enabled结构化事实记忆开关,受 memory.enabled 总开关控制。
web.enabled联网工具开关:true 开启,false 关闭。
sub_agent.enabled子 Agent 派发开关;关闭后任务由主 Agent 完成。
sub_agent.llm_config为子 Agent 配置模型;未设置时沿用父会话模型。
proactive.llm_config后台与定时任务的专用模型,见 后台设置。
compaction_strategy上下文压缩策略;省略时自动选择,支持 header_summary、turn_prune_summary。
enable_notification任务结束后的系统通知开关。

各类配置放在哪里

文件内容
~/.siada-cli/conf.yaml模型、界面、记忆、子 Agent 和后台等主要偏好。
~/.siada-cli/models.json自定义模型列表、上下文窗口、输出上限与能力设置。
~/.siada-cli/mcp_config.jsonMCP 服务器;项目可用 siada_mcp_config.json。
~/.siada-cli/commands/自定义命令的 TOML 文件。
~/.siada-cli/workspace/cron_tasks.json由定时任务技能维护的周期任务。

让手动配置生效

手动修改 conf.yaml 后,重启后台并重新启动会话,使各组件重新读取配置。随后用 /status 核对当前模型与工作区。

TERMINAL
siada-cli --stop-daemon
siada-cli

如果不确定配置是否有效,输入 /siada-help 帮我检查 conf.yaml 的语法与配置项。模型连接问题见 常见问题。