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

View File

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

View File

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

View File

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

View File

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