From d99ea8f2f616689e82e4543e53c80f0cb83a6863 Mon Sep 17 00:00:00 2001 From: duanfuxiang Date: Tue, 15 Jul 2025 22:41:21 +0800 Subject: [PATCH] Update to version 0.7.4, fix CORS errors for the Moonshot provider, add BM25 search support, and document related changes in the CHANGELOG. --- CHANGELOG.yaml | 4 ++++ manifest.json | 2 +- package.json | 2 +- src/core/llm/openai-compatible.ts | 10 +++++----- src/core/llm/openai-message-adapter.ts | 4 ++-- src/types/settings.test.ts | 14 ++++++++++++++ 6 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.yaml b/CHANGELOG.yaml index 38d7e54..0336b94 100644 --- a/CHANGELOG.yaml +++ b/CHANGELOG.yaml @@ -1,4 +1,8 @@ releases: + - version: "0.7.4" + fixes: + - "fix moonshot provider cors error" + - "add bm25 search support" - version: "0.7.3" features: - "add idb support" diff --git a/manifest.json b/manifest.json index 9275c6d..019f498 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "infio-copilot", "name": "Infio Copilot", - "version": "0.7.3", + "version": "0.7.4", "minAppVersion": "0.15.0", "description": "A Cursor-inspired AI assistant for notes that offers smart autocomplete and interactive chat with your selected notes", "author": "Felix.D", diff --git a/package.json b/package.json index a97432d..faab79b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-infio-copilot", - "version": "0.7.3", + "version": "0.7.4", "description": "A Cursor-inspired AI assistant that offers smart autocomplete and interactive chat with your selected notes", "main": "main.js", "scripts": { diff --git a/src/core/llm/openai-compatible.ts b/src/core/llm/openai-compatible.ts index b254f21..c31b038 100644 --- a/src/core/llm/openai-compatible.ts +++ b/src/core/llm/openai-compatible.ts @@ -19,7 +19,7 @@ import { OpenAIMessageAdapter } from './openai-message-adapter' export class OpenAICompatibleProvider implements BaseLLMProvider { private adapter: OpenAIMessageAdapter - private client: OpenAI + private client: OpenAI | NoStainlessOpenAI private apiKey: string private baseURL: string @@ -54,8 +54,8 @@ export class OpenAICompatibleProvider implements BaseLLMProvider { } // 获取提供商特定的额外参数 - private getExtraParams(isStreaming: boolean): Record { - const extraParams: Record = {} + private getExtraParams(isStreaming: boolean): Record { + const extraParams: Record = {} // 阿里云Qwen API需要在非流式调用中设置 enable_thinking: false if (this.isAlibabaQwen() && !isStreaming) { @@ -77,7 +77,7 @@ export class OpenAICompatibleProvider implements BaseLLMProvider { } const extraParams = this.getExtraParams(false) // 非流式调用 - return this.adapter.generateResponse(this.client, request, options, extraParams) + return this.adapter.generateResponse(this.client as OpenAI, request, options, extraParams) } async streamResponse( @@ -92,6 +92,6 @@ export class OpenAICompatibleProvider implements BaseLLMProvider { } const extraParams = this.getExtraParams(true) // 流式调用 - return this.adapter.streamResponse(this.client, request, options, extraParams) + return this.adapter.streamResponse(this.client as OpenAI, request, options, extraParams) } } diff --git a/src/core/llm/openai-message-adapter.ts b/src/core/llm/openai-message-adapter.ts index d4b0347..9a5e5bb 100644 --- a/src/core/llm/openai-message-adapter.ts +++ b/src/core/llm/openai-message-adapter.ts @@ -22,7 +22,7 @@ export class OpenAIMessageAdapter { client: OpenAI, request: LLMRequestNonStreaming, options?: LLMOptions, - extraParams?: Record, + extraParams?: Record, ): Promise { const response = await client.chat.completions.create( { @@ -50,7 +50,7 @@ export class OpenAIMessageAdapter { client: OpenAI, request: LLMRequestStreaming, options?: LLMOptions, - extraParams?: Record, + extraParams?: Record, ): Promise> { const stream = await client.chat.completions.create( { diff --git a/src/types/settings.test.ts b/src/types/settings.test.ts index 28afc1a..8f3cd81 100644 --- a/src/types/settings.test.ts +++ b/src/types/settings.test.ts @@ -216,6 +216,13 @@ describe('parseSmartCopilotSettings', () => { useCustomUrl: false, models: [], }, + moonshotProvider: { + name: 'Moonshot', + apiKey: '', + baseUrl: '', + useCustomUrl: false, + models: [], + }, siliconflowProvider: { name: 'SiliconFlow', apiKey: '', @@ -458,6 +465,13 @@ describe('settings migration', () => { useCustomUrl: false, models: [], }, + moonshotProvider: { + name: 'Moonshot', + apiKey: '', + baseUrl: '', + useCustomUrl: false, + models: [], + }, siliconflowProvider: { name: 'SiliconFlow', apiKey: '',