finish post test
Some checks are pending
Build / build (ubuntu-latest) (push) Waiting to run
Test / test (macos-latest) (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
Test / test (windows-latest) (push) Waiting to run

This commit is contained in:
锦恢 2025-06-22 19:58:24 +08:00
parent d9370cc688
commit ba70b08866
6 changed files with 22 additions and 9 deletions

View File

@ -7,7 +7,7 @@
</el-tooltip>
<el-dialog v-model="showDialog" width="fit-content">
<el-dialog v-model="showDialog" width="800px">
<template #header>
<div>
@ -81,6 +81,7 @@ const generateExportData = computed(() => {
mcpServers[client.name] = {
command: option.command,
args: option.args,
cwd: option.cwd,
description: "",
}
} else if (type === 'SSE') {

View File

@ -767,7 +767,7 @@ export class TaskLoop {
}
}
public async createStorage(settings?: ChatSetting): Promise<ChatStorage> {
public async createStorage(settings?: Partial<ChatSetting>): Promise<ChatStorage> {
let {
enableXmlWrapper = false,
systemPrompt = '',

View File

@ -300,7 +300,7 @@ export class TaskLoop {
/**
* @description Create single conversation context
*/
createStorage(settings?: ChatSetting): Promise<ChatStorage>;
createStorage(settings?: Partial<ChatSetting>): Promise<ChatStorage>;
/**
* @description Get prompt template from mcp server

View File

@ -83,6 +83,7 @@ interface StdioMCPConfig {
env?: {
[key: string]: string;
};
cwd?: string,
description?: string;
prompts?: string[];
resources?: string[];
@ -207,6 +208,7 @@ export class OmAgent {
this._adapter.addMcp({
commandString,
cwd: mcpConfig.cwd,
connectionType: 'STDIO',
env: mcpConfig.env,
description: mcpConfig.description,
@ -230,7 +232,7 @@ export class OmAgent {
this._adapter.addMcp(connectionArgs);
}
private async getLoop(loopOption?: TaskLoopOptions) {
public async getLoop(loopOption?: TaskLoopOptions) {
if (this._loop) {
if (loopOption) {
@ -273,7 +275,7 @@ export class OmAgent {
* @returns
*/
public async ainvoke(
{ messages, settings }: { messages: ChatMessage[] | string; settings?: ChatSetting & Partial<TaskLoopOptions>; }
{ messages, settings }: { messages: ChatMessage[] | string; settings?: Partial<ChatSetting & TaskLoopOptions>; }
) {
if (messages.length === 0) {
throw new Error('messages is empty');
@ -296,12 +298,21 @@ export class OmAgent {
if (typeof messages === 'string') {
userMessage = messages;
} else {
const lastMessageContent = messages.at(-1)?.content;
if (typeof lastMessageContent === 'string') {
userMessage = lastMessageContent;
// 获取messages数组
const messagesArray = Array.isArray(messages) ? messages : [messages];
// 将最后一个消息赋值给lastMessage
const lastMessage = messagesArray.at(-1);
if (lastMessage && typeof lastMessage.content === 'string') {
userMessage = lastMessage.content;
} else {
throw new Error('last message content is undefined');
}
// 将剩余消息存入storage.messages
if (messagesArray.length > 1) {
storage.messages = messagesArray.slice(0, -1);
}
}
// select correct llm config

View File

@ -13,6 +13,7 @@ export interface VSCodeMessage {
callbackId?: string;
}
const __dirname = dirname(fileURLToPath(import.meta.url));
// 统一路径变量
const devHome = join(__dirname, '..', '..');

View File

@ -300,7 +300,7 @@ export class TaskLoop {
/**
* @description Create single conversation context
*/
createStorage(settings?: ChatSetting): Promise<ChatStorage>;
createStorage(settings?: Partial<ChatSetting>): Promise<ChatStorage>;
/**
* @description Get prompt template from mcp server