shuiyu67
1383d32f8b
feat: OpenAI 多模型注册表 + /model 命令,告别手改配置文件
痛点:很多模型都是 OpenAI 格式,但换模型只能手改 config.json 的单槽位,
且只能存一个。新增模型注册表与 /model 命令族:
- 新增 xcli_core/model_registry.py:在 api.engines.openai 下维护
models 列表(name + base_url + api_key + model)与 current 指针,全部落盘。
向后兼容:无 models 时把扁平 api_key/base_url/model 当作单条隐式模型。
- OpenaiAI 接入:__init__ 应用注册表 current 模型;新增
set_registry_model / list_registry_models / add_model / remove_model /
current_model_name。注意保留引擎原有的轻量 set_model(只改 model 名)
与 list_models(查 API /models 端点),新方法与它们不重名、互不干扰。
- 新增 /model 命令族(仅 openai 引擎):
/model 列出已配置模型(* 标记当前)
/model <名称> 切换当前模型并持久化
/model add 交互式录入(名称/base_url/api_key/model),回车即存并切换
/model rm <名称> 删除(删当前则回退到列表第一个)
- 启动横幅引擎名后显示当前模型;紧凑提示与 /help 速查表均补 /model 入口。
- 测试:新增 tests/test_model_registry.py(13 项,覆盖兼容/增删/切换/落盘/
引擎接入/CLI 路由,全程临时配置不污染真实 config.json)。
全量 230 passed(原 217 passed)。
交互实测:/model add → 已添加并切换到 gpt4o;/model gpt4o → 已切换;
/model rm gpt4o → 回退到 xophunyuan7bmt,配置结构与内容完好。
2026-08-05 16:12:35 +08:00
..
2026-04-25 22:27:59 +08:00
2026-08-05 16:12:35 +08:00
2026-08-05 10:54:39 +08:00
2026-04-25 22:45:40 +08:00
2026-08-05 16:12:35 +08:00
2026-08-05 16:12:35 +08:00
2026-04-25 22:27:59 +08:00
2026-08-05 11:05:06 +08:00
2026-08-05 15:57:38 +08:00
2026-08-01 09:28:39 +08:00
2026-08-05 15:57:38 +08:00
2026-08-01 09:28:39 +08:00
2026-08-05 16:12:35 +08:00
2026-04-27 00:03:14 +08:00
2026-05-08 00:40:01 +08:00
2026-04-30 02:42:52 +08:00
2026-05-09 20:28:17 +08:00
2026-08-01 09:28:39 +08:00
2026-06-19 00:10:27 +08:00
2026-04-25 22:45:40 +08:00
2026-08-05 10:54:39 +08:00
2026-08-01 10:30:42 +08:00
2026-08-05 15:57:38 +08:00