feat: add computer control and managed browser

This commit is contained in:
lofyer
2026-08-05 12:55:24 +08:00
parent 2f549387a6
commit 38ac2206f2
92 changed files with 21028 additions and 766 deletions
+20 -1
View File
@@ -6,6 +6,10 @@ import type {
Transport
} from '@modelcontextprotocol/sdk/shared/transport.js'
import type { ResolvedMcpServer } from './capability-service'
import {
isCuratedMcpLaunchDescriptor,
type CuratedMcpLaunchDescriptor
} from './curated-mcp-launch'
function validateRemoteUrl(value: string): URL {
const url = new URL(value)
@@ -34,8 +38,23 @@ function createRestrictedFetch(origin: string): FetchLike {
}
export function createMcpTransport(
server: ResolvedMcpServer
server: ResolvedMcpServer | CuratedMcpLaunchDescriptor
): Transport {
if (isCuratedMcpLaunchDescriptor(server)) {
return new StdioClientTransport({
command: server.command,
args: [...server.args],
cwd: server.cwd,
env: { ...server.env },
stderr: 'ignore',
maxBufferSize: 2 * 1024 * 1024
})
}
if ((server as { transport?: string }).transport === 'curated-stdio') {
throw new Error('无效的精选 MCP 启动描述')
}
if (server.transport === 'stdio') {
return new StdioClientTransport({
command: server.command,