```
feat(agent): 添加对持久化子智能体的支持并增强委派管理 添加了持久化子智能体的完整生命周期管理功能,包括创建、更新、删除和查询API接口。 新增了子智能体的JSON-RPC通信协议支持,实现了远程调用和任务管理功能。 同时增强了委派管理器的功能: - 添加了对本地委派、插件委派和本地回退的开关控制 - 实现了持久化子智能体任务的自动检测和本地执行保护 - 增加了对不同委派类型的权限验证机制 修改了智能体注册表以支持插件智能体的条件性包含,并更新了工具注册逻辑以支持可选工具。 BREAKING CHANGE: 委派管理器的构造函数签名已更改,添加了新的控制参数。 ```
This commit is contained in:
@ -27,6 +27,7 @@ import type {
|
||||
OutlookOverview,
|
||||
OutlookStatus,
|
||||
UiAgentDescriptor,
|
||||
UiSubagentDescriptor,
|
||||
UiMcpServerDescriptor,
|
||||
WsEvent,
|
||||
} from '@/types';
|
||||
@ -631,6 +632,59 @@ export async function refreshAgents(): Promise<{ agents: UiAgentDescriptor[] }>
|
||||
return fetchJSON('/api/agents/refresh', { method: 'POST' });
|
||||
}
|
||||
|
||||
export async function listSubagents(): Promise<UiSubagentDescriptor[]> {
|
||||
return fetchJSON('/api/subagents');
|
||||
}
|
||||
|
||||
export async function createSubagent(payload: {
|
||||
id: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
system_prompt?: string;
|
||||
model?: string;
|
||||
enabled?: boolean;
|
||||
delegation_mode?: string;
|
||||
allow_mcp?: boolean;
|
||||
tags?: string[];
|
||||
aliases?: string[];
|
||||
mcp_servers?: Record<string, Record<string, unknown>>;
|
||||
metadata?: Record<string, unknown>;
|
||||
}): Promise<UiSubagentDescriptor> {
|
||||
return fetchJSON('/api/subagents', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
export async function updateSubagent(
|
||||
subagentId: string,
|
||||
payload: {
|
||||
id: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
system_prompt?: string;
|
||||
model?: string;
|
||||
enabled?: boolean;
|
||||
delegation_mode?: string;
|
||||
allow_mcp?: boolean;
|
||||
tags?: string[];
|
||||
aliases?: string[];
|
||||
mcp_servers?: Record<string, Record<string, unknown>>;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
): Promise<UiSubagentDescriptor> {
|
||||
return fetchJSON(`/api/subagents/${encodeURIComponent(subagentId)}`, {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
export async function deleteSubagent(subagentId: string): Promise<void> {
|
||||
await fetchJSON(`/api/subagents/${encodeURIComponent(subagentId)}`, {
|
||||
method: 'DELETE',
|
||||
});
|
||||
}
|
||||
|
||||
export async function cancelDelegation(runId: string): Promise<{ ok: boolean; run_id: string }> {
|
||||
return fetchJSON(`/api/delegations/${encodeURIComponent(runId)}/cancel`, {
|
||||
method: 'POST',
|
||||
|
||||
Reference in New Issue
Block a user