Files
ccs/src/utils/browser-codex-overrides.ts
T
walkerandClaude Opus 4.6 eb8149e8fa feat(browser): 接入 CCS browser MCP 与最小交互闭环
新增 browser MCP 安装、Chrome 复用与运行时接线,
实现 navigate、click、type、take_screenshot 四个 phase-1 工具并补齐相关单测。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:19:16 +08:00

29 lines
981 B
TypeScript

const CODEX_BROWSER_MCP_SERVER_NAME = 'ccs_browser';
const DEFAULT_BROWSER_TOOL_TIMEOUT_SEC = 30;
const PLAYWRIGHT_MCP_PACKAGE = '@playwright/mcp@0.0.70';
function formatTomlString(value: string): string {
return JSON.stringify(value);
}
function formatTomlArray(values: string[]): string {
return JSON.stringify(values);
}
function getNpxCommand(): string {
return process.platform === 'win32' ? 'npx.cmd' : 'npx';
}
export function getCodexBrowserMcpServerName(): string {
return CODEX_BROWSER_MCP_SERVER_NAME;
}
export function buildCodexBrowserMcpOverrides(): string[] {
return [
`mcp_servers.${CODEX_BROWSER_MCP_SERVER_NAME}.command=${formatTomlString(getNpxCommand())}`,
`mcp_servers.${CODEX_BROWSER_MCP_SERVER_NAME}.args=${formatTomlArray(['-y', PLAYWRIGHT_MCP_PACKAGE])}`,
`mcp_servers.${CODEX_BROWSER_MCP_SERVER_NAME}.enabled=true`,
`mcp_servers.${CODEX_BROWSER_MCP_SERVER_NAME}.tool_timeout_sec=${DEFAULT_BROWSER_TOOL_TIMEOUT_SEC}`,
];
}