[ISSUE] Cation khi sử dụng 9Router với customized combo #56
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
có thông báo trong claude code: "agent" isn't described by this version's model catalog; update Claude Code, or map it with behavesAs on a
modelPicker row (or modelOverrides, if it is a provider id of a model this version
knows). Until then auto-compact keeps this session within 200k tokens (the context window it assumes); if the model accepts more, append [1m] to the
model name for 1M, or set CLAUDE_CODE_MAX_CONTEXT_TOKENS to its real window;
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 restores the previous wait-for-the-API behavior
Nguyên nhân có thể do:
Claude Code 2.1.290 không có model tên agent trong catalog nội bộ. Proxy hiểu agent là alias riêng của nó, nhưng CLI không biết alias đó tương ứng model thật nào. Từ đó ra hai cảnh báo cùng một nguồn.
Cảnh báo 1 — "agent" isn't described by version's model catalog
CLI cần biết model này hành xử như model nào (tool use, thinking, effort, compact). Không có entry nào mô tả agent. Cách khai báo:
{
"modelPicker": [
{
"id": "agent",
"behavesAs": "claude-opus-5-5"
}
]
}
behavesAs phải là model ID thật mà proxy thực sự route tới. claude-opus-5-5 chỉ là ví dụ. Nếu proxy route agent sang model khác, ghi đúng model đó. modelOverrides là chỗ thay thế nếu modelPicker không khớp schema phiên bản này.
Cảnh báo 2 — auto-compact giữ session trong 200k
Cùng vì không có catalog entry, CLI không biết context window của agent. Nó giả định 200k và auto-compact theo mức đó, dù model phía sau proxy có thể nhận nhiều hơn. Ba cách:
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 chỉ tắt kiểm tra local, để API tự từ chối khi vượt. Không nên dùng nếu proxy im lặng cắt context.
Không có file modelPicker hay modelOverrides nào trong ~/.claude/settings.json hiện tại, nên cảnh báo xuất hiện mỗi phiên.
Đã xử lý trong v2.2.0 (commit
f0500dc5).Mỗi profile AI Router giờ có trường tuỳ chọn Behaves as (Settings → AI Router): chọn model
claude-…thật mà router route tới. Khi profile có trường này, AgentHub ghi các dòngmodelPicker.options{ model, behavesAs }vào file--settingsriêng của router (<data dir>/router-settings/<name>.json), mỗi tên model không phảiclaude-*một dòng (ví dụ comboagentcủa 9Router). Nhờ đó Claude Code biết combo hành xử như model nào, lấy đúng context window để auto-compact, và không còn báo "isn't described by this version's model catalog".Nếu không đặt Behaves as thì AgentHub không ghi gì. Lý do: Claude Code chỉ lấy
modelPickerđầu tiên theo thứ tự policy → flag → user, nên dòng của AgentHub sẽ che mất cấu hình riêng của người dùng. Code nằm ởmodelPickertrongserver/lib/router-apply.jsvànormalizeBehavesAstrongserver/lib/ai-routers.js.Cách dùng: vào Settings → AI Router, sửa profile 9Router, chọn Behaves as (ví dụ
claude-opus-5-5), rồi mở session mới với router đó.Đóng issue.