From f1a12d1a5360827b713ab927f3d85ec4a7588f8f Mon Sep 17 00:00:00 2001 From: dingyi Date: Wed, 8 Oct 2025 18:04:20 +0800 Subject: [PATCH 1/4] feat(extension-tools): add domain-based header configuration for request tools Add requestHeaders configuration to allow setting custom headers based on domain matching patterns. This enables different headers to be applied to different domains when using the web_fetcher and web_poster tools. - Add requestHeaders config array with matcher and headers fields - Implement getHeadersForUrl() function using micromatch for domain pattern matching - Update RequestsGetTool and RequestsPostTool to support headerConfigs - Add i18n translations for new configuration options in zh-CN and en-US - Headers are merged with default headers, with matched headers taking precedence Example usage: requestHeaders: - matcher: "api.github.com" headers: Authorization: "Bearer token123" - matcher: "*.example.com" headers: X-Custom-Header: "value" --- packages/extension-tools/src/config.ts | 17 ++++- .../src/locales/en-US.schema.yml | 5 ++ .../src/locales/zh-CN.schema.yml | 5 ++ .../extension-tools/src/plugins/request.ts | 62 ++++++++++++++++--- 4 files changed, 79 insertions(+), 10 deletions(-) diff --git a/packages/extension-tools/src/config.ts b/packages/extension-tools/src/config.ts index 538365e9a..aaa0bdfa1 100644 --- a/packages/extension-tools/src/config.ts +++ b/packages/extension-tools/src/config.ts @@ -5,6 +5,10 @@ export interface Config extends ChatLunaPlugin.Config { request: boolean requestMaxOutputLength: number requestSelector: string[] + requestHeaders: { + matcher: string + headers: Record + }[] fs: boolean fsScopePath: string fsSelector: string[] @@ -81,7 +85,6 @@ export const Config: Schema = Schema.intersect([ .max(3860000) .default(58600), requestSelector: Schema.array(Schema.string()) - .role('table') .default([ '请求', 'request', @@ -92,6 +95,18 @@ export const Config: Schema = Schema.intersect([ 'api', 'http' ]) + .role('table'), + requestHeaders: Schema.array( + Schema.object({ + matcher: Schema.string().description( + 'Domain matcher pattern (e.g., *.example.com, api.github.com)' + ), + headers: Schema.dict(String) + .default({}) + .role('table') + .description('Headers to apply for this domain') + }) + ).default([]) }), Schema.object({}) ]), diff --git a/packages/extension-tools/src/locales/en-US.schema.yml b/packages/extension-tools/src/locales/en-US.schema.yml index 9dc128fbb..1c82226a6 100644 --- a/packages/extension-tools/src/locales/en-US.schema.yml +++ b/packages/extension-tools/src/locales/en-US.schema.yml @@ -23,6 +23,11 @@ $inner: - - $desc: 'Request Plugin Configuration' requestMaxOutputLength: 'Max output length for request plugin' requestSelector: 'Keywords to trigger request tool. Always selected when empty.' + requestHeaders: + $desc: 'Configure request headers based on domain matching.' + $inner: + matcher: 'Domain matcher pattern (supports wildcards, e.g., *.example.com, api.github.com).' + headers: 'Request headers to apply when this domain matches.' - - $desc: 'File Plugin Configuration' fsScopePath: 'Scope path for file plugin. Empty for system-wide access' diff --git a/packages/extension-tools/src/locales/zh-CN.schema.yml b/packages/extension-tools/src/locales/zh-CN.schema.yml index 57f9a99d2..03c01e99d 100644 --- a/packages/extension-tools/src/locales/zh-CN.schema.yml +++ b/packages/extension-tools/src/locales/zh-CN.schema.yml @@ -22,6 +22,11 @@ $inner: - - $desc: request 插件配置 requestMaxOutputLength: request 插件最大输出长度。 requestSelector: 触发 request 工具的关键词。为空时始终选中。 + requestHeaders: + $desc: 根据域名匹配设置请求头。 + $inner: + matcher: 域名匹配模式(支持通配符,如 *.example.com, api.github.com)。 + headers: 该域名匹配时应用的请求头。 - - $desc: fs 插件配置 fsScopePath: fs 插件作用域路径。留空则为系统任意路径。 diff --git a/packages/extension-tools/src/plugins/request.ts b/packages/extension-tools/src/plugins/request.ts index ef0186902..4e1785afb 100644 --- a/packages/extension-tools/src/plugins/request.ts +++ b/packages/extension-tools/src/plugins/request.ts @@ -9,6 +9,26 @@ import { import { Config } from '..' import z from 'zod' import { BaseMessage } from '@langchain/core/messages' +import micromatch from 'micromatch' + +function getHeadersForUrl( + url: string, + headerConfigs: { matcher: string; headers: Record }[] +): Record { + try { + const urlObj = new URL(url) + const hostname = urlObj.hostname + + for (const config of headerConfigs) { + if (micromatch.isMatch(hostname, config.matcher, { dot: true })) { + return config.headers + } + } + } catch (error) { + // Invalid URL, return empty headers + } + return {} +} export async function apply( ctx: Context, @@ -25,7 +45,8 @@ export async function apply( 'User-Agent': randomUA() }, { - maxOutputLength: config.requestMaxOutputLength + maxOutputLength: config.requestMaxOutputLength, + headerConfigs: config.requestHeaders ?? [] } ) @@ -35,12 +56,13 @@ export async function apply( 'User-Agent': randomUA() }, { - maxOutputLength: config.requestMaxOutputLength + maxOutputLength: config.requestMaxOutputLength, + headerConfigs: config.requestHeaders ?? [] } ) const requestSelector = (history: BaseMessage[]) => { - if (config.requestSelector.length === 0) { + if ((config.requestSelector?.length ?? 0) === 0) { return true } return history.some( @@ -48,7 +70,7 @@ export async function apply( message.content != null && fuzzyQuery( getMessageContent(message.content), - config.requestSelector + config?.requestSelector || [] ) ) } @@ -71,6 +93,7 @@ export interface Headers { export interface RequestTool extends ToolParams { headers: Headers maxOutputLength: number + headerConfigs: { matcher: string; headers: Record }[] } export class RequestsGetTool extends StructuredTool implements RequestTool { @@ -88,24 +111,34 @@ export class RequestsGetTool extends StructuredTool implements RequestTool { }) maxOutputLength = 30000 + headerConfigs: { matcher: string; headers: Record }[] = [] constructor( private _plugin: ChatLunaPlugin, public headers: Headers = {}, { maxOutputLength, + headerConfigs, ...rest - }: { maxOutputLength?: number } & ToolParams = {} + }: { + maxOutputLength?: number + headerConfigs?: { + matcher: string + headers: Record + }[] + } & ToolParams = {} ) { super(rest) this.maxOutputLength = maxOutputLength ?? this.maxOutputLength + this.headerConfigs = headerConfigs ?? [] } async _call(input: z.infer) { const { url } = input try { + const matchedHeaders = getHeadersForUrl(url, this.headerConfigs) const res = await this._plugin.fetch(url, { - headers: this.headers + headers: { ...this.headers, ...matchedHeaders } }) const text = await res.text() return text.slice(0, this.maxOutputLength) @@ -116,7 +149,7 @@ export class RequestsGetTool extends StructuredTool implements RequestTool { } export class RequestsPostTool extends StructuredTool implements RequestTool { - name = 'web_post' + name = 'web_poster' description = `Web POST request tool. Use this to send data to websites. Sends a POST request with JSON data to the specified URL and returns the response text.` @@ -135,27 +168,38 @@ export class RequestsPostTool extends StructuredTool implements RequestTool { }) maxOutputLength = Infinity + headerConfigs: { matcher: string; headers: Record }[] = [] constructor( private _plugin: ChatLunaPlugin, public headers: Headers = {}, { maxOutputLength, + headerConfigs, ...rest - }: { maxOutputLength?: number } & ToolParams = {} + }: { + maxOutputLength?: number + headerConfigs?: { + matcher: string + headers: Record + }[] + } & ToolParams = {} ) { super(rest) this.maxOutputLength = maxOutputLength ?? this.maxOutputLength + this.headerConfigs = headerConfigs ?? [] } async _call(input: z.infer) { const { url, data } = input try { + const matchedHeaders = getHeadersForUrl(url, this.headerConfigs) const res = await this._plugin.fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', - ...this.headers + ...this.headers, + ...matchedHeaders }, body: JSON.stringify(data) }) From e159dcb87a4772610cd0b610946c25f225faa1f3 Mon Sep 17 00:00:00 2001 From: dingyi Date: Wed, 8 Oct 2025 19:51:49 +0800 Subject: [PATCH 2/4] fix(extension-mcp,extension-tools): improve MCP client initialization and tool selector logic - Move ChatLunaPlugin instance creation to module scope to avoid initialization issues - Upgrade @modelcontextprotocol/sdk to 1.19.1 and remove unused json-schema-to-zod dependency - Add client metadata (title, description) for better MCP protocol compliance - Improve logging messages for better clarity during initialization and connection - Fix prepareClient to return true only when at least one server connects successfully - Enhance cron tool selector to check all history messages instead of only the last one - Add proper type annotation for fs tool selector - Remove redundant empty lines in fs tool registrations --- packages/extension-mcp/package.json | 3 +- packages/extension-mcp/src/index.ts | 9 +++++ packages/extension-mcp/src/service.ts | 35 +++++++++++--------- packages/extension-tools/src/plugins/cron.ts | 7 ++-- packages/extension-tools/src/plugins/fs.ts | 8 ++--- 5 files changed, 35 insertions(+), 27 deletions(-) diff --git a/packages/extension-mcp/package.json b/packages/extension-mcp/package.json index e42aa532c..43a76e634 100644 --- a/packages/extension-mcp/package.json +++ b/packages/extension-mcp/package.json @@ -49,8 +49,7 @@ ], "dependencies": { "@langchain/core": "0.3.62", - "@modelcontextprotocol/sdk": "^1.18.2", - "json-schema-to-zod": "^2.6.1", + "@modelcontextprotocol/sdk": "^1.19.1", "zod": "3.25.76" }, "devDependencies": { diff --git a/packages/extension-mcp/src/index.ts b/packages/extension-mcp/src/index.ts index ac9a1acca..19100d6b7 100644 --- a/packages/extension-mcp/src/index.ts +++ b/packages/extension-mcp/src/index.ts @@ -3,8 +3,10 @@ import { Context, Logger, Schema } from 'koishi' import { createLogger } from 'koishi-plugin-chatluna/utils/logger' import { ChatLunaMCPClientService } from './service' import * as command from './command' +import { ChatLunaPlugin } from 'koishi-plugin-chatluna/services/chat' export let logger: Logger +export let plugin: ChatLunaPlugin export function apply(ctx: Context, config: Config) { logger = createLogger(ctx, 'chatluna-mcp-client') @@ -14,6 +16,13 @@ export function apply(ctx: Context, config: Config) { // eslint-disable-next-line @typescript-eslint/no-var-requires ctx.i18n.define('en-US', require('./locales/en-US')) + plugin = new ChatLunaPlugin( + ctx, + config as unknown as ChatLunaPlugin.Config, + 'mcp-client', + false + ) + ctx.plugin(ChatLunaMCPClientService, config) ctx.plugin(command, config) diff --git a/packages/extension-mcp/src/service.ts b/packages/extension-mcp/src/service.ts index 823e98d72..90df6b5c5 100644 --- a/packages/extension-mcp/src/service.ts +++ b/packages/extension-mcp/src/service.ts @@ -3,19 +3,17 @@ import { Context, Service } from 'koishi' import { Client } from '@modelcontextprotocol/sdk/client/index.js' import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js' import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js' -import { Config, logger } from '.' +import { Config, logger, plugin } from '.' import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js' import { tool } from '@langchain/core/tools' import { ChatLunaPlugin } from 'koishi-plugin-chatluna/services/chat' import { getMessageContent } from 'koishi-plugin-chatluna/utils/string' import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js' -import { JsonSchema7Type } from 'zod-to-json-schema' import { callTool } from './utils' export class ChatLunaMCPClientService extends Service { private _client: Client - private _plugin: ChatLunaPlugin private _globalTools: Record< string, { @@ -25,6 +23,8 @@ export class ChatLunaMCPClientService extends Service { } > = {} + private _plugin: ChatLunaPlugin + constructor( ctx: Context, public config: Config @@ -33,29 +33,30 @@ export class ChatLunaMCPClientService extends Service { this._client = new Client({ name: 'ChatLuna', - version: '1.0.0' + version: '1.0.0', + title: 'ChatLuna ModelContext Protocol Client', + description: 'A client for the ChatLuna ModelContext Protocol' }) - this._plugin = new ChatLunaPlugin( - ctx, - config as unknown as ChatLunaPlugin.Config, - 'mcp-client', - false - ) + this._plugin = plugin ctx.on('ready', async () => { - logger.info('Preparing MCP client...') + logger.info('Initializing MCP client service') const prepared = await this.prepareClient() if (!prepared) { - logger.warn('MCP client not prepared, skipping registration') + logger.warn( + 'Failed to initialize MCP client, skipping tool integration' + ) return } await this.registerClientToolsToSchema() const toolLength = await this.registerClientTools() - logger.info(`MCP client found ${toolLength} tools`) + logger.info( + `MCP client initialized successfully with ${toolLength} tool(s) available` + ) }) } @@ -87,6 +88,7 @@ export class ChatLunaMCPClientService extends Service { return false } + let availableServers = 0 for (const serverConfig of serverConfigs) { const { command, args, env, cwd, url, type, headers } = serverConfig @@ -133,6 +135,7 @@ export class ChatLunaMCPClientService extends Service { try { await this._client.connect(transport) logger.debug('MCP client connected at', serverConfig) + availableServers++ } catch (error) { logger.error( `Failed to connect to server at ${JSON.stringify( @@ -143,7 +146,7 @@ export class ChatLunaMCPClientService extends Service { } } - return true + return availableServers > 0 } async registerClientToolsToSchema() { @@ -208,7 +211,9 @@ export class ChatLunaMCPClientService extends Service { name: mcpTool.name, description: mcpTool.description, responseFormat: 'content_and_artifact', - schema: mcpTool.inputSchema as JsonSchema7Type + schema: mcpTool.inputSchema as Parameters< + typeof tool + >[1]['schema'] } ) diff --git a/packages/extension-tools/src/plugins/cron.ts b/packages/extension-tools/src/plugins/cron.ts index fbe33f1e1..2451637c9 100644 --- a/packages/extension-tools/src/plugins/cron.ts +++ b/packages/extension-tools/src/plugins/cron.ts @@ -174,9 +174,8 @@ export async function apply( plugin.registerTool('cron', { selector(history) { - return fuzzyQuery( - getMessageContent(history[history.length - 1].content), - [ + return history.some((message) => + fuzzyQuery(getMessageContent(message.content), [ '定时', '任务', '醒', @@ -193,7 +192,7 @@ export async function apply( 'schedule', 'remind', 'notification' - ] + ]) ) }, diff --git a/packages/extension-tools/src/plugins/fs.ts b/packages/extension-tools/src/plugins/fs.ts index fd465ab88..260cb4f16 100644 --- a/packages/extension-tools/src/plugins/fs.ts +++ b/packages/extension-tools/src/plugins/fs.ts @@ -10,6 +10,7 @@ import path from 'path' import { Config } from '..' import micromatch from 'micromatch' import z from 'zod' +import { ChatLunaTool } from 'koishi-plugin-chatluna/llm-core/platform/types' export async function apply( ctx: Context, @@ -61,7 +62,7 @@ export async function apply( store }) - const fsSelector = (history) => { + const fsSelector: ChatLunaTool['selector'] = (history) => { if (config.fsSelector.length === 0) { return true } @@ -88,31 +89,26 @@ export async function apply( plugin.registerTool(listFileTool.name, { selector: fsSelector, - createTool: () => listFileTool }) plugin.registerTool(grepTool.name, { selector: fsSelector, - createTool: () => grepTool }) plugin.registerTool(globTool.name, { selector: fsSelector, - createTool: () => globTool }) plugin.registerTool(renameTool.name, { selector: fsSelector, - createTool: () => renameTool }) plugin.registerTool(multiRenameTool.name, { selector: fsSelector, - createTool: () => multiRenameTool }) From 19d4ecfabc3c57515cf67c639548ceb2d1bde5f3 Mon Sep 17 00:00:00 2001 From: dingyi Date: Wed, 8 Oct 2025 21:01:38 +0800 Subject: [PATCH 3/4] feat(core): add minimum length threshold for forward messages Add forwardMsgMinLength configuration option to control when messages should be sent as forward/merged messages. When set to 0, always use forward messages. When set to a value greater than 0, only messages exceeding that length will be sent as forward messages. Changes: - Add forwardMsgMinLength config option (0-400 range) in config.ts - Implement length check logic in DefaultChatChainSender - Add getMessageText helper method to calculate total message length - Update localization files for both en-US and zh-CN close #580 --- packages/core/src/chains/chain.ts | 20 +++++++++++++++++++- packages/core/src/config.ts | 2 ++ packages/core/src/locales/en-US.schema.yml | 1 + packages/core/src/locales/zh-CN.schema.yml | 3 ++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/core/src/chains/chain.ts b/packages/core/src/chains/chain.ts index 384ea3c2f..71caaba07 100644 --- a/packages/core/src/chains/chain.ts +++ b/packages/core/src/chains/chain.ts @@ -720,7 +720,11 @@ class DefaultChatChainSender { ): Promise { if (!messages?.length) return - if (this.config.isForwardMsg) { + if ( + this.config.isForwardMsg && + this.getMessageText(messages).length > + this.config.forwardMsgMinLength + ) { await this.sendAsForward(session, messages) return } @@ -821,6 +825,20 @@ class DefaultChatChainSender { } return [message] } + + private getMessageText(message: (h[] | h | string)[]) { + return message + .map((element) => { + if (typeof element === 'string') { + return element + } + if (Array.isArray(element)) { + return h.select(element, 'text').toString() + } + return element.toString() + }) + .join(' ') + } } export interface ChainMiddlewareContext { diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index 2a407bc00..5de4e3e7b 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -6,6 +6,7 @@ export interface Config { isNickNameWithContent: boolean allowPrivate: boolean isForwardMsg: boolean + forwardMsgMinLength: number allowChatWithRoomName: boolean msgCooldown: number randomReplyFrequency: Computed> @@ -65,6 +66,7 @@ export const Config: Schema = Schema.intersect([ allowQuoteReply: Schema.boolean().default(false), isReplyWithAt: Schema.boolean().default(false), isForwardMsg: Schema.boolean().default(false), + forwardMsgMinLength: Schema.number().min(0).max(400).step(1).default(0), privateChatWithoutCommand: Schema.boolean().default(true), allowChatWithRoomName: Schema.boolean().default(false), includeQuoteReply: Schema.boolean().default(true), diff --git a/packages/core/src/locales/en-US.schema.yml b/packages/core/src/locales/en-US.schema.yml index c2a398b7f..caf6be308 100644 --- a/packages/core/src/locales/en-US.schema.yml +++ b/packages/core/src/locales/en-US.schema.yml @@ -14,6 +14,7 @@ $inner: privateChatWithoutCommand: Enable direct conversation in private chats without commands. allowChatWithRoomName: 'Enable room name prefix triggering. Note: May impact performance significantly. Recommended for use with filters in specific groups only.' randomReplyFrequency: Set random reply frequency (0-100, where 0 means never and 100 means always). + forwardMsgMinLength: Set minimum length of forwarded messages (characters). includeQuoteReply: Include quoted message content in replies. - $desc: Response Options diff --git a/packages/core/src/locales/zh-CN.schema.yml b/packages/core/src/locales/zh-CN.schema.yml index 7f4ced3ee..0b1de1f84 100644 --- a/packages/core/src/locales/zh-CN.schema.yml +++ b/packages/core/src/locales/zh-CN.schema.yml @@ -9,7 +9,8 @@ $inner: allowAtReply: 是否允许通过 @ bot 来触发对话。 allowQuoteReply: 是否允许通过引用 bot 的消息来触发对话。 isReplyWithAt: 当 bot 回复时,是否引用原消息。 - isForwardMsg: 是否以转发消息的形式发送 bot 的回复。 + isForwardMsg: 是否以合并消息的形式发送 bot 的回复。 + forwardMsgMinLength: 合并消息的最小应用长度。为 0 则总是应用。设置大于 0 时,只有发送的文本大于此长度才会转为合并消息。 privateChatWithoutCommand: 在私聊中是否允许无需命令直接与 bot 对话。 allowChatWithRoomName: 是否允许使用房间名前缀触发对话。注意:启用此选项可能会显著影响 ChatLuna 的性能,建议配合过滤器仅在特定群组中启用。 randomReplyFrequency: 设置随机回复的频率。 From a2ce83e754746f203fc84539fbdb032e455643e6 Mon Sep 17 00:00:00 2001 From: dingyi Date: Wed, 8 Oct 2025 21:35:59 +0800 Subject: [PATCH 4/4] chore(release): bump version to 1.3.0-alpha.54 Update core package version and all peer dependencies across the monorepo to version 1.3.0-alpha.54. Affected packages: - core: 1.3.0-alpha.53 -> 1.3.0-alpha.54 - extension-mcp: 1.3.0-alpha.5 -> 1.3.0-alpha.6 - extension-tools: 1.3.0-alpha.15 -> 1.3.0-alpha.16 - All adapter and service packages peer dependency updated --- packages/adapter-azure-openai/package.json | 2 +- packages/adapter-claude/package.json | 2 +- packages/adapter-deepseek/package.json | 2 +- packages/adapter-dify/package.json | 2 +- packages/adapter-doubao/package.json | 2 +- packages/adapter-gemini/package.json | 2 +- packages/adapter-hunyuan/package.json | 2 +- packages/adapter-ollama/package.json | 2 +- packages/adapter-openai-like/package.json | 2 +- packages/adapter-openai/package.json | 2 +- packages/adapter-qwen/package.json | 2 +- packages/adapter-rwkv/package.json | 2 +- packages/adapter-spark/package.json | 2 +- packages/adapter-wenxin/package.json | 2 +- packages/adapter-zhipu/package.json | 2 +- packages/core/package.json | 2 +- packages/extension-long-memory/package.json | 2 +- packages/extension-mcp/package.json | 4 ++-- packages/extension-tools/package.json | 4 ++-- packages/extension-variable/package.json | 2 +- packages/renderer-image/package.json | 2 +- packages/service-embeddings/package.json | 2 +- packages/service-image/package.json | 2 +- packages/service-search/package.json | 2 +- packages/service-vector-store/package.json | 2 +- packages/shared-adapter/package.json | 2 +- 26 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/adapter-azure-openai/package.json b/packages/adapter-azure-openai/package.json index 4d9a59278..048e08d4d 100644 --- a/packages/adapter-azure-openai/package.json +++ b/packages/adapter-azure-openai/package.json @@ -57,7 +57,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/adapter-claude/package.json b/packages/adapter-claude/package.json index 790206e85..9a45c73c3 100644 --- a/packages/adapter-claude/package.json +++ b/packages/adapter-claude/package.json @@ -59,7 +59,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/adapter-deepseek/package.json b/packages/adapter-deepseek/package.json index cd6b95480..a5fd333a0 100644 --- a/packages/adapter-deepseek/package.json +++ b/packages/adapter-deepseek/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "category": "ai", diff --git a/packages/adapter-dify/package.json b/packages/adapter-dify/package.json index db8091977..937a00d04 100644 --- a/packages/adapter-dify/package.json +++ b/packages/adapter-dify/package.json @@ -70,7 +70,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-doubao/package.json b/packages/adapter-doubao/package.json index 1f9b89f44..1ba5df43d 100644 --- a/packages/adapter-doubao/package.json +++ b/packages/adapter-doubao/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-gemini/package.json b/packages/adapter-gemini/package.json index aa9e70b9f..8c0693039 100644 --- a/packages/adapter-gemini/package.json +++ b/packages/adapter-gemini/package.json @@ -73,7 +73,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53", + "koishi-plugin-chatluna": "^1.3.0-alpha.54", "koishi-plugin-chatluna-storage-service": "^0.0.9" }, "peerDependenciesMeta": { diff --git a/packages/adapter-hunyuan/package.json b/packages/adapter-hunyuan/package.json index bfc0d1e98..119e49d82 100644 --- a/packages/adapter-hunyuan/package.json +++ b/packages/adapter-hunyuan/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-ollama/package.json b/packages/adapter-ollama/package.json index 0dc0ae66e..c27cec69c 100644 --- a/packages/adapter-ollama/package.json +++ b/packages/adapter-ollama/package.json @@ -55,7 +55,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/adapter-openai-like/package.json b/packages/adapter-openai-like/package.json index 490564e74..cea79aa5a 100644 --- a/packages/adapter-openai-like/package.json +++ b/packages/adapter-openai-like/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-openai/package.json b/packages/adapter-openai/package.json index d5ccce62e..f51050c59 100644 --- a/packages/adapter-openai/package.json +++ b/packages/adapter-openai/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-qwen/package.json b/packages/adapter-qwen/package.json index c990aa0e7..225b8ceba 100644 --- a/packages/adapter-qwen/package.json +++ b/packages/adapter-qwen/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-rwkv/package.json b/packages/adapter-rwkv/package.json index 55a153a78..bc3a43d81 100644 --- a/packages/adapter-rwkv/package.json +++ b/packages/adapter-rwkv/package.json @@ -70,7 +70,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-spark/package.json b/packages/adapter-spark/package.json index b2bca5b8f..bd8fc0b35 100644 --- a/packages/adapter-spark/package.json +++ b/packages/adapter-spark/package.json @@ -72,7 +72,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-wenxin/package.json b/packages/adapter-wenxin/package.json index 4a7d4ec36..9813b808f 100644 --- a/packages/adapter-wenxin/package.json +++ b/packages/adapter-wenxin/package.json @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/adapter-zhipu/package.json b/packages/adapter-zhipu/package.json index bcbecf551..2cfed5e6f 100644 --- a/packages/adapter-zhipu/package.json +++ b/packages/adapter-zhipu/package.json @@ -73,7 +73,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/core/package.json b/packages/core/package.json index b07d8a75c..5813e8d69 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "koishi-plugin-chatluna", "description": "chatluna for koishi", - "version": "1.3.0-alpha.53", + "version": "1.3.0-alpha.54", "main": "lib/index.cjs", "module": "lib/index.mjs", "typings": "lib/index.d.ts", diff --git a/packages/extension-long-memory/package.json b/packages/extension-long-memory/package.json index 870bf35ce..93d6b9c75 100644 --- a/packages/extension-long-memory/package.json +++ b/packages/extension-long-memory/package.json @@ -64,7 +64,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/extension-mcp/package.json b/packages/extension-mcp/package.json index 43a76e634..2091c4537 100644 --- a/packages/extension-mcp/package.json +++ b/packages/extension-mcp/package.json @@ -1,7 +1,7 @@ { "name": "koishi-plugin-chatluna-mcp-client", "description": "MCP Client for ChatLuna", - "version": "1.3.0-alpha.5", + "version": "1.3.0-alpha.6", "main": "lib/index.cjs", "module": "lib/index.mjs", "typings": "lib/index.d.ts", @@ -59,7 +59,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53", + "koishi-plugin-chatluna": "^1.3.0-alpha.54", "koishi-plugin-chatluna-storage-service": "^0.0.9" }, "peerDependenciesMeta": { diff --git a/packages/extension-tools/package.json b/packages/extension-tools/package.json index f927c3c31..877ba6e9c 100644 --- a/packages/extension-tools/package.json +++ b/packages/extension-tools/package.json @@ -1,7 +1,7 @@ { "name": "koishi-plugin-chatluna-plugin-common", "description": "plugin service for agent mode of chatluna", - "version": "1.3.0-alpha.15", + "version": "1.3.0-alpha.16", "main": "lib/index.cjs", "module": "lib/index.mjs", "typings": "lib/index.d.ts", @@ -71,7 +71,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53", + "koishi-plugin-chatluna": "^1.3.0-alpha.54", "koishi-plugin-chatluna-knowledge-chat": "^1.0.23", "koishi-plugin-chatluna-storage-service": "^0.0.9" }, diff --git a/packages/extension-variable/package.json b/packages/extension-variable/package.json index ca4a4f357..85c6783d1 100644 --- a/packages/extension-variable/package.json +++ b/packages/extension-variable/package.json @@ -59,7 +59,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/renderer-image/package.json b/packages/renderer-image/package.json index de57b5360..89c3e717a 100644 --- a/packages/renderer-image/package.json +++ b/packages/renderer-image/package.json @@ -64,7 +64,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/service-embeddings/package.json b/packages/service-embeddings/package.json index dc3ea71e4..7e4b413e7 100644 --- a/packages/service-embeddings/package.json +++ b/packages/service-embeddings/package.json @@ -64,7 +64,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/service-image/package.json b/packages/service-image/package.json index cf0efb46d..df3ccc39d 100644 --- a/packages/service-image/package.json +++ b/packages/service-image/package.json @@ -60,7 +60,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "resolutions": { "@langchain/core": "0.3.62", diff --git a/packages/service-search/package.json b/packages/service-search/package.json index 249bcf0b5..9d652f494 100644 --- a/packages/service-search/package.json +++ b/packages/service-search/package.json @@ -76,7 +76,7 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "koishi": { "description": { diff --git a/packages/service-vector-store/package.json b/packages/service-vector-store/package.json index 534f888a8..853d88365 100644 --- a/packages/service-vector-store/package.json +++ b/packages/service-vector-store/package.json @@ -59,7 +59,7 @@ "@zilliz/milvus2-sdk-node": "^2.6.0", "faiss-node": "^0.5.1", "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" }, "peerDependenciesMeta": { "@zilliz/milvus2-sdk-node": { diff --git a/packages/shared-adapter/package.json b/packages/shared-adapter/package.json index 62058a36e..fbb131f70 100644 --- a/packages/shared-adapter/package.json +++ b/packages/shared-adapter/package.json @@ -70,6 +70,6 @@ }, "peerDependencies": { "koishi": "^4.18.9", - "koishi-plugin-chatluna": "^1.3.0-alpha.53" + "koishi-plugin-chatluna": "^1.3.0-alpha.54" } }