





























@@ -312,6 +312,36 @@ describe("ollama plugin", () => {
312312});
313313});
314314315+it("accepts baseURL alias as explicit discovery config", async () => {
316+const provider = registerProvider();
317+buildOllamaProviderMock.mockResolvedValueOnce({
318+baseUrl: "http://remote-ollama:11434",
319+api: "ollama",
320+models: [],
321+});
322+323+const result = await provider.discovery.run({
324+config: {
325+models: {
326+providers: {
327+ollama: {
328+baseURL: "http://remote-ollama:11434",
329+api: "ollama",
330+models: [],
331+},
332+},
333+},
334+},
335+env: { NODE_ENV: "development" },
336+resolveProviderApiKey: () => ({ apiKey: "" }),
337+} as never);
338+339+expect(result).toBeNull();
340+expect(buildOllamaProviderMock).toHaveBeenCalledWith("http://remote-ollama:11434", {
341+quiet: false,
342+});
343+});
344+315345it("keeps stored ollama-local marker auth on the quiet ambient path", async () => {
316346const provider = registerProvider();
317347buildOllamaProviderMock.mockResolvedValueOnce({
@@ -371,6 +401,24 @@ describe("ollama plugin", () => {
371401});
372402});
373403404+it("mints synthetic auth for non-default baseURL alias config", () => {
405+const provider = registerProvider();
406+407+const auth = provider.resolveSyntheticAuth?.({
408+providerConfig: {
409+baseURL: "http://remote-ollama:11434",
410+api: "ollama",
411+models: [],
412+} as never,
413+});
414+415+expect(auth).toEqual({
416+apiKey: "ollama-local",
417+source: "models.providers.ollama (synthetic local key)",
418+mode: "api-key",
419+});
420+});
421+374422it("wraps OpenAI-compatible payloads with num_ctx for Ollama compat routes", () => {
375423const provider = registerProvider();
376424let payloadSeen: Record<string, unknown> | undefined;
@@ -513,6 +561,28 @@ describe("ollama plugin", () => {
513561);
514562});
515563564+it("routes createStreamFn through baseURL alias for custom Ollama providers", () => {
565+const provider = registerProvider();
566+const config = {
567+models: {
568+providers: {
569+ollama2: {
570+api: "ollama",
571+baseURL: "http://127.0.0.1:11435",
572+models: [],
573+},
574+},
575+},
576+};
577+const model = { id: "llama3.2", provider: "ollama2", baseUrl: undefined };
578+579+provider.createStreamFn?.({ config, model, provider: "ollama2" } as never);
580+581+expect(createConfiguredOllamaStreamFnMock).toHaveBeenCalledWith(
582+expect.objectContaining({ providerBaseUrl: "http://127.0.0.1:11435" }),
583+);
584+});
585+516586it("uses ollama provider baseUrl when provider is ollama (backward compat)", () => {
517587const provider = registerProvider();
518588const config = {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。