liulian 这套「本地起 OpenAI 兼容服务 + 填自定义 base URL」的思路没问题,三个点也都在正道上;WinkDesk 具体有没有自定义模型入口、字段叫什么,我没实际用过,不替官方下结论,但只要它能填 base URL / 模型名 / Key 这三项,下面几个坑建议一并处理。
如果是浏览器里打开的网页版,先别急着换内网 IP:Ollama 默认只放行 localhost / 127.0.0.1 这几个 origin,从别的域名发请求会直接吃 CORS 报错。解决办法是给它设 OLLAMA_ORIGINS 环境变量,把 WinkDesk 的域名加白名单或直接 *。另外网页版如果是 https,请求 http://192.168.x.x:11434 会被浏览器按混合内容拦掉(localhost 反而例外),这时要么给本地服务套 TLS,要么老老实实做一层同域反向代理。
做反代的话记得关缓冲,否则流式输出会攒到最后一次性吐出来:proxy_buffering off;、加 X-Accel-Buffering: no、proxy_read_timeout 调到 300s 以上。
还有一点,Ollama 的 /v1 只是 OpenAI 兼容子集,function calling、结构化输出和部分采样参数会被忽略甚至报错,如果 WinkDesk 依赖这些能力,务必先拿工具调用试一发再下结论。
最后,填进客户端之前先 curl http://localhost:11434/v1/models 确认目标模型已经 pull 下来——模型没拉取时返回的也是 404,和路径写错长得一模一样,很容易带偏排查方向。