Skip to content

“生成本书世界”按钮会自动选deepseek,而忽略选择的模型 #66

@Higashiii

Description

@Higashiii

在“选择本书世界来源”的界面中有三个选项,第一个是“根据本书生成”,选择后有一个“生成本书世界”的按钮。这个按钮按了会报错:未配置 DeepSeek 的 API Key。问题是,我只配置了局域网的ollama模型来源,这在此AI助手的其他各个地方都可以生效,只有这里不生效,它似乎会强制检查deepseek。
然后是Codex看了源代码后提出的意见,请作者参考:

原因
按钮只提交了 saveToLibrary,没有携带当前 Ollama 模型配置:NovelWorldSourcePanel.tsx (line 166)
对应 hook 原样转发请求,没有像“刷新世界切片”那样补充 llm.provider/model/temperature:useNovelWorldSlice.ts (line 105)
服务端收到空 provider 后,明确回退到 deepseek:NovelWorldInstanceService.ts (line 449)
因此最终触发 DeepSeek API Key 检查。Ollama 配置本身没有问题,自定义本地 provider 本来也不要求 API Key:providers.ts (line 215)

建议修复
在 useNovelWorldSlice.ts 生成请求中补充当前选择:
mutationFn: (payload: NovelWorldGenerateInput) =>
generateNovelWorldFromTheme(novelId, {
...payload,
provider: llm.provider,
model: llm.model,
temperature: llm.temperature,
}),
共享 Schema 和后端路由已经支持这三个字段,不需要修改接口或数据库。
最好再移除服务端该功能专属的 "deepseek" 硬编码,避免其他调用方漏传时再次出现同类问题。总体是一个很小的局部修复。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions