跳转到内容

模型

内置 agent 不绑定任何一家厂商 —— 由你来选谁驱动它,切换只需一条命令。

一个模型用 provider/model 这样的 ref 来命名:斜杠前那段挑选 provider(以及由哪个引擎来跑它), 斜杠后那段是模型 id,原封不动地传给该 provider 的 API。例如 anthropic/claude-sonnet-4-6openai/gpt-5.4,或 qwen/qwen3.6-plus。这一个 ref —— 存在 ~/.physiclaw/config.toml[agent] model 里,或存在 PHYSICLAW_MODEL 环境变量里 —— 就选定了整条技术栈。

PhysiClaw 自带的进程内引擎透过五家厂商各自的 chat API 与它们对话,还有第六个 ref 会调起 Anthropic 的 claude CLI:

Provider id厂商 / 模型API key
anthropicClaude,透过官方 Anthropic SDKANTHROPIC_API_KEY
openaiGPT / 推理模型(gpt-5o4-miniOPENAI_API_KEY
googleGemini,透过 Google 的 OpenAI 兼容端点GOOGLE_API_KEY
moonshotKimi(K2)MOONSHOT_API_KEY
qwenQwen,透过阿里 DashScopeQWEN_API_KEY / DASHSCOPE_API_KEY
claude-code以子进程方式运行 claude CLI(共用 anthropic 的目录 + key)ANTHROPIC_API_KEY

每个 key 都可以来自环境变量(如上),或来自配置文件里的 [provider] <id>_api_key;两者都设了时,环境变量胜出。

provider id 同时也决定了模型怎么跑:

  • claude-code/... 以子进程方式运行 Anthropic 的 claude CLI。它的模型 id 和 API key 都是 Anthropic 的 —— CLI 对的是同一个 API —— 所以 claude-code 复用 anthropic 的目录和 key。
  • 其余所有 都跑在 PhysiClaw 自带的进程内引擎里(那个原生工具调用循环),瞄准对应厂商的 API。

你不必直接管理引擎;挑了 ref,就挑了引擎。

physiclaw models 这组命令是入口。PhysiClaw 不内置任何经过挑选的模型列表 —— 它去拉取每家厂商实时的 /v1/models 并缓存下来,所以发现到的结果就是事实来源。

  1. 设置某个 provider 的 API key。 省略值就会有提示输入(让密钥不进 shell 历史)。写入 key 会立刻拉取该厂商的实时模型列表,于是你马上就能挑一个。

    bash
    physiclaw models key anthropic
  2. 看看有哪些可用。 列出某个 provider 发现到的模型(不带参数则列出全部)。

    bash
    physiclaw models list anthropic
  3. 挑选当前模型,用一个精确的 provider/model ref。它会对着发现缓存做校验,所以打错字会立刻失败。

    bash
    physiclaw models use anthropic/claude-sonnet-4-6
  4. 重启 server 以生效 —— 运行中的 agent 在启动时读取 [agent] model

    bash
    physiclaw server

裸跑 physiclaw models 会打印当前状态 —— 当前 ref、它来自哪里(环境变量还是配置文件),以及该 provider 的 key 是否已设置:

Active model
✓ anthropic/claude-sonnet-4-6 (from config.toml [agent] model)
anthropic/claude-sonnet-4-6
anthropic api key: ******** [ANTHROPIC_API_KEY env]
命令作用
physiclaw models显示当前 ref、它的来源,以及当前 provider 的 key 状态
physiclaw models list [provider]按 provider 列出发现到的模型
physiclaw models use <provider/model>切换当前模型(别名:set
physiclaw models key <provider> [value]设置某个 provider 的 API key(省略值则提示输入)
physiclaw models keys显示每个 provider 的 key 状态,已脱敏,并附来源
physiclaw models discover <provider>重新拉取某厂商的实时模型列表