Reasonix 是按 provider 端点说话的,不是按模型名说话。加一个新端点,就是在 ~/.reasonix/config.toml 里添一个 [[providers]],再把对应的 key 放进 ~/.reasonix/.env。本地 llama.cpp、Ollama、vLLM、远程网关都是同一套写法。

Reasonix 各目录文件一览

Reasonix 一轮交互的流程:输入 → 上下文 → 模型 → 工具

Reasonix 版本时间线:0.x TS 老分支、1.0 Go 重写、当前 1.17.x

常见端点

Provider base_url 示例模型 key 环境变量
Ollama(本机) http://127.0.0.1:11434/v1 qwen2.5-coder:14b 不真校验 key —— 填任意字符串
lm-studio(本机) http://127.0.0.1:1234/v1 mlx-community/Qwen2.5-Coder-14B-Instruct 不真校验 key —— 填任意字符串
vLLM(本机 / 集群) http://127.0.0.1:8000/v1 meta-llama/Meta-Llama-3-8B-Instruct 不真校验 key —— 填任意字符串
OpenRouter https://openrouter.ai/api/v1 openai/gpt-4o-mini OPENROUTER_API_KEY
内部网关 https://llm.internal/v1 mistral-large-latest INTERNAL_GATEWAY_API_KEY

配置写法

两个文件:TOML 放非敏感配置,.env 放 key 字符串。解析顺序是 flag > ./reasonix.toml > ~/.reasonix/config.toml > 内置默认

Toml
# ~/.reasonix/config.toml
default_model = "local-coder"

[[providers]]
name        = "local-coder"
kind        = "openai"
base_url    = "http://127.0.0.1:11434/v1"          # Ollama 默认
models      = ["qwen2.5-coder:14b", "deepseek-coder-v2:16b"]
default     = "qwen2.5-coder:14b"
api_key_env = "OLLAMA_API_KEY"
# extra_body 会合并到每一次 chat-completions 请求
extra_body  = { num_ctx = 32768 }

[[providers]]
name        = "openrouter"
kind        = "openai"
base_url    = "https://openrouter.ai/api/v1"
models      = ["openai/gpt-4o-mini", "anthropic/claude-3.5-sonnet"]
default     = "openai/gpt-4o-mini"
api_key_env = "OPENROUTER_API_KEY"

# ~/.reasonix/.env
OLLAMA_API_KEY=ollama
OPENROUTER_API_KEY=sk-or-v1-...

# 启动时选 provider/model
reasonix --model local-coder/qwen2.5-coder:14b
reasonix run "解释这个文件" --model openrouter/anthropic/claude-3.5-sonnet

provider 关键开关

作用
chat_url 完整 chat URL —— Reasonix 不会再拼 /chat/completions
models_url 单独配 /v1/models 发现地址。发现服务在另一台机器时常用。
extra_body 合并进每一次请求体的厂商特定字段。不能覆盖 model / messages / tools / stream
context_window 单模型 token 预算;同一端点暴露多个模型时用 model_overrides 分别覆盖。
effort provider 支持 reasoning effort 时填 highmax;省略走 auto
prices 可选 {input, output, cache_hit, currency} 覆盖,用于成本统计。

常见问题

  • OpenAI 兼容服务的 base_url 必须以 /v1 结尾。Ollama / lm-studio / vLLM 默认就是 /v1,自建网关要看清楚。漏掉就会在 chat/completions 上 404。
  • key 字符串只放 ~/.reasonix/.env,不要进 config.tomlapi_key_env 是变量名,不是 key。
  • 本地服务其实不校验 key,但 Reasonix 仍要求 .env 里非空。给 Ollama 写 OLLAMA_API_KEY=ollama 比留空稳。
  • extra_body 不能替换 model。如果端点把模型 id 放在非标准字段,要么服务端重写,要么用自定义 chat_url 适配。
  • 会话中途切换 provider 会重建 controller 但保留历史;切 work_mode 重建;切 tool_approval 不重建。

资料来源

最后修改: 2026年7月23日

作者

评论

发表评论

您的邮箱地址不会被公开。