接入 Claude Code / Codex
把活水模型当任意 Agent 的本地后端——复制端点 + 密钥 + 模型 id。
活水模型可以作为 Claude Code、Codex、42cc、42md 等 Agent 的本地后端:模型在你本机跑,Agent 只把请求发到本地端点。
基本信息
启动 42model serve 后(默认 http://localhost:11520):
- 端点:
http://localhost:11520/v1 - 密钥:默认
42model(可在设置里改) - 模型 id:填你已下载的模型 id
- 协议:Claude Code 走 Anthropic 协议(
/v1/messages),Codex 走 OpenAI Responses 协议(/v1/responses)
在桌面端接入
进入「接入」模块,一键复制端点与密钥,粘贴到对应工具的配置即可。
接 Codex:把上下文窗口告诉它
Codex 不会向本地引擎询问模型能用多大上下文,得你在它的配置里写明。不写的后果是它按自己的默认值猜:猜小了会反复压缩对话、把前面的历史丢掉(表现为「越聊越笨、指令记不住」还变慢),猜大了会发来超长请求、被活水模型以「输入过长」拒掉。
先查你这个模型的实际窗口:
curl -s http://localhost:11520/v1/models \
-H "Authorization: Bearer 42model"
对话、编程、翻译类模型会带一个 context_window,那就是这个模型实际能用的上下文窗口——已经把模型自身的上限算进去了,所以你把它照抄进配置就是对的(哪怕你在设置里把 n-ctx 调得比模型本身还大,这里给出的也是模型真正吃得下的那个数)。
OCR、语音识别、嵌入这几类不带这个字段:它们不是按 token 上下文工作的,给个数反而会误导。这几类也不该拿来接 Codex。
把它写进 Codex 的 ~/.codex/config.toml:
model = "qwen3.5:2b-q8_0" # 换成你要用的模型 id
model_provider = "huoshui"
model_context_window = 32768 # ← 换成上面查到的 context_window
model_auto_compact_token_limit = 24000 # ← 上一行的约 75%,到这个量就压缩对话,留余量给回复
[model_providers.huoshui]
name = "huoshui"
base_url = "http://localhost:11520/v1"
wire_api = "responses"
env_key = "HUOSHUI_API_KEY" # 该环境变量填你的密钥,默认 42model
两个数要一起改。 只改 model_context_window、把 model_auto_compact_token_limit 留在 24000,换成一个 128K 窗口的模型后就只用得上 18% 的窗口——那正是本文要避免的「越聊越笨还变慢」。
用 42cc 接入的话这些它会替你写好,你不用手工改。
那条 metadata 警告可以忽略
Codex 启动时可能提示:
⚠ Model metadata for `qwen3.5:2b-q8_0` not found. Defaulting to fallback metadata
这是正常的,不用管。 Codex 只认识 OpenAI 自家的模型名,任何本地模型(不止活水模型)它都不认识,于是提示一句。只要你按上面填了 model_context_window,Codex 就会按真实窗口工作——警告还在,行为是对的。
觉得窗口不够用?可以自己调大
agent 类工具光是系统提示加工具定义就要吃掉上万 token,默认的 32768 用起来会紧。想调大就一条命令:
42model config model set qwen3.5:2b-q8_0 n-ctx 131072
调完重新 curl 一次 /v1/models,把新的 context_window 同步进 Codex 配置(两个数一起改)。填多少都不会超过模型自身的上限——超了的部分我们会自动夹回去。
代价要知道:上下文越大,对话变长时占的内存越多——短对话完全不受影响,内存是真用到才占。
如果你用的是独立显卡、而显存装不下整个模型(模型有一部分层跑在显卡、其余在内存),这条要小心:显卡上要给上下文预留的空间是在装载模型那一刻按默认窗口算好的,你事后调大窗口,对话长到超过那个默认值时可能因显存不够而失败。
失败的样子:那一轮请求返回服务端错误(Codex 那边会显示成「服务出错」而不是「输入太长」),不会崩、也不会悄悄降质。原地重试同样会失败——真正的解法是把 n-ctx 调回去、或换个更小的量化档。所以这类机器建议小步来:先试 65536,跑一阵没问题再往上加。
Apple 芯片(统一内存)不受这条影响,可以直接调到模型上限。
建议
- 接 Claude Code / Codex 建议用主力档模型:agent 类工具的系统提示和工具定义本身就要吃掉上万 token,小模型容易不够用。
用 42cc 简化接入
42cc(活水配置)——你的 AI 配置助手,活水 AI 实验室(42ailab)出品的同生态产品,简化你切换 AI 供应商配置的工作量。接活水模型时可经 42cc 一键配置,省去手动填端点/密钥/模型 id。