129 Commits
Author SHA1 Message Date
Kai (Tam Nhu) Tran 3608bf71a1 feat: rebrand CCS as Claude Codex Switch (#1658)
Closes #1657
2026-07-22 14:23:42 -04:00
Kai (Tam Nhu) Tran 05685d1c21 fix: keep agy websearch permissions enabled (#1625) 2026-07-01 00:45:09 -04:00
Kai (Tam Nhu) Tran 9dd9bf2978 feat(websearch): add agy provider and deprecate gemini cli fallback (#1607)
Google retired the gemini CLI on 2026-06-18, so the gemini websearch fallback no longer
works. Add agy (Antigravity) as the primary CLI websearch provider end to end: runtime spawn
in websearch-transformer.cjs (agy --dangerously-skip-permissions --print-timeout Ns -p),
detection (agy.ts), config schema and defaults, hook env, status, dashboard persistence, and docs.

The legacy gemini provider stays present but is marked deprecated for enterprise users who
retain access. Image analysis already supported the agy provider (no change). The CLIProxy
gemini quota fetcher (Gemini API OAuth, not the cli binary) is untouched.

Validation: typecheck, lint, and the websearch + config + web-server unit suites pass.
2026-06-27 10:01:25 -04:00
Kai (Tam Nhu) Tran 5ca9b7b1e2 Merge pull request #1448 from kaitranntt/codex/fix-browser-page-open/close-handlers
fix(browser): handle DevTools close endpoint response
2026-05-30 16:09:17 -04:00
Kai (Tam Nhu) Tran 92252189b1 fix(browser): handle DevTools close endpoint response 2026-05-30 14:56:49 -04:00
Kai (Tam Nhu) Tran c322829f44 fix(browser): cap click and key repeat counts in MCP (#1367)
* fix(browser): cap click and key repeat counts in MCP

* style: apply prettier formatting
2026-05-23 21:44:42 -04:00
Kai (Tam Nhu) Tran 8b3ba5532e fix(browser): log only matched intercepted requests (#1366) 2026-05-23 21:44:40 -04:00
Kai (Tam Nhu) Tran 8051f1614b fix(browser): stop recorder leaking sensitive input
Squash merge PR #1293 into dev.
2026-05-19 09:04:05 -04:00
Kai (Tam Nhu) Tran 9a2a1dde31 fix(browser): redact observed event URLs
Squash merge PR #1296 into dev.
2026-05-19 08:54:57 -04:00
Kai (Tam Nhu) Tran 538b6444ff fix(browser): gate response fulfillment opt-in
Squash merge PR #1295 into dev.
2026-05-19 08:41:00 -04:00
Kai (Tam Nhu) Tran a86486497b fix(browser): block sensitive header intercept matchers
Squash merge PR #1294 into dev.
2026-05-19 08:31:17 -04:00
Kai (Tam Nhu) Tran 2115742caf fix(websearch): avoid shell for legacy CLI fallbacks (#1267)
* fix(websearch): avoid shell for legacy CLI fallbacks

* style: apply prettier formatting
2026-05-16 13:58:52 -04:00
Kai (Tam Nhu) Tran 40300c286e fix(security): constrain image fallback hook to workspace (#1232) 2026-05-12 18:13:32 -04:00
Kai (Tam Nhu) Tran eb4bbfddf3 security(browser-mcp): restrict model-callable local file uploads/downloads to safe roots and deny sensitive paths (#1220)
* fix(browser): restrict file transfer paths

* fix(browser): normalize safe transfer paths

* fix(browser): reject sensitive transfer roots
2026-05-12 08:57:33 -04:00
walker1211andClaude Opus 4.7 4c46d6c5ae fix(browser): 修复 DevTools 页面创建和截图诊断
兼容 Chrome DevTools /json/new 的 PUT 方法,过滤不可用的 top-chrome 页面目标,并在截图前对 0x0 viewport 给出明确错误。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 14:46:18 +08:00
Tam Nhu Tran 7732b2039a fix(browser): harden Browser MCP sessions and artifacts 2026-04-22 22:34:49 -04:00
walker1211andClaude Opus 4.7 40c718c584 fix(browser): 修复 download 事件的 pageIndex 过滤
为 browser_wait_for_event 的 download 路径补齐按页面 frame tree 过滤,避免多页面或动态 iframe 下载时误命中或漏命中。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 21:42:00 +08:00
walker1211andClaude Opus 4.7 1833ed3ad6 feat(browser): 增加跨 page orchestration 能力
新增显式跨页 orchestration block,支持开页、切页、关页后执行单页逻辑。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 21:03:33 +08:00
walker1211andClaude Opus 4.7 2f167d8445 feat(browser): 增加 artifact 持久化与导入导出能力
新增 recording、replay、orchestration 的本地 JSON artifact 导出、导入、列出与删除能力。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 20:31:51 +08:00
walker1211andClaude Opus 4.7 101396f728 feat(browser): 增加 orchestration 执行策略增强
为 block 与 sequence step 增加最小 continueOnError 语义,并补充 failures 汇总输出。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 19:35:52 +08:00
walker1211andClaude Opus 4.7 0038b063ac feat(browser): 增加 sequence 组合块能力
新增单层 sequence 容器以组合现有 orchestration blocks,并补充 sequence 内失败定位能力。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 18:55:24 +08:00
walker1211andClaude Opus 4.7 4af967559c feat(browser): 增强 assert_query 断言与诊断信息
为 assert_query 增加 assertions 数组、更多比较操作和结构化失败 diagnostics。
并补充多断言、类型错误和数值比较的回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 17:39:19 +08:00
walker1211andClaude Opus 4.7 77855035f4 feat(browser): 完成 Phase 10C orchestration 能力
新增固定流程块 orchestration 闭环,支持 wait_then_click、wait_then_type、run_replay_sequence 与 assert_query。
并补充 block 级失败定位与相关回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 15:00:15 +08:00
walker1211andClaude Opus 4.7 9d21e83d46 feat(browser): 完成 Phase 10B replay 能力
新增最小 replay 闭环,支持消费 10A 结构化 steps 并顺序回放常见动作。
同时补充输入校验、失败定位与 replay 边界覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 13:59:34 +08:00
walker1211andClaude Opus 4.7 5288387151 feat(browser): 完成 Phase 10A 录制动作规范化
补齐 recording 安装阶段的真实页面监听与注入失败回滚,避免空录制和损坏会话状态。
并完善高层 step 规范化与相关回归覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:50:15 +08:00
walker1211andClaude Opus 4.7 17a3434056 feat(browser): 增加 Phase 10A recording 生命周期
补齐 recording session state、基础 recorder 注入与 capture 读取,打通 start/stop/get/clear 最小闭环。
并补充 pageId 路由、生命周期错误与 page close 停止录制覆盖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:44:22 +08:00
walker1211andClaude Opus 4.7 844b5f6c42 feat(browser): 完成 Phase 9 拖拽与指针动作能力
补齐文件拖拽、元素拖拽与受限 pointer 原语,让 Browser MCP 能覆盖常见上传与页面内拖放交互。
并补足 pageId 路由与回归测试,保持与现有 selected-page 语义一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 18:41:18 +08:00
walker1211andClaude Opus 4.7 492ee5b083 feat(browser): 完成 Phase 8 文件传输能力
增加 browser-scoped 下载控制与 page-scoped file input 上传,补齐 Phase 8 文档与回归覆盖,并去掉下载列表的 pageId 假能力以保持语义一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 13:46:07 +08:00
walker1211andClaude Opus 4.7 bd073acf47 feat(browser): 增加 richer request matching 能力
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 00:43:37 +08:00
walker1211andClaude Opus 4.7 f133deb539 feat(browser): 增加 Phase 6B mock response 能力
在现有拦截规则之上补齐 fulfill 动作,支持最小状态码、响应头和文本响应体。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 23:15:04 +08:00
walker1211andClaude Opus 4.7 a93e0b6494 feat(browser): 完成 browser MCP 第六阶段 6A 最小拦截闭环
补齐最小 request interception 工具链与会话内状态管理,确保规则绑定具体页面并通过完整验证门禁。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 22:03:17 +08:00
walker1211andClaude Opus 4.7 ff0e7085b8 feat(browser): 完成 browser MCP 第五阶段页面控制
补充 selected page 会话状态与页面选择、打开、关闭能力,
并为 browser_get_session_info 增加 selected 标记与最小多标签文档说明。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 16:39:51 +08:00
walker1211andClaude Opus 4.7 e92a2c11bf feat(browser): 完成 browser MCP 第四阶段输入能力
补齐 browser_click 的精细点击参数,并新增 browser_press_key 与 browser_scroll,继续扩展 browser MCP 的真实交互能力。
同步更新单测与浏览器自动化文档,确保 Phase 4 能力完成并通过验证。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 13:59:15 +08:00
walker1211andClaude Opus 4.7 cf2375e169 feat(browser): 完成 browser MCP 第三阶段能力
补齐 iframe/shadow 作用域查询与页面事件观察能力,并同步测试与文档,确保 Phase 3 以可验证增量独立收口。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 01:55:16 +08:00
walker1211 b90eae3892 feat(browser): 完成 browser MCP 第一阶段能力与配置打通
- 增加 browser_wait_for、browser_eval 及 click/query 扩展能力
- 打通 browser eval_mode 的配置、状态、启动链路与设置界面
- 补充浏览器相关测试隔离、文档和 CI parity 收尾调整
2026-04-18 00:29:43 +08:00
Tam Nhu Tran d30f5803a7 fix(browser): harden browser MCP websocket startup
- fall back across globalThis.WebSocket, undici, and ws for installed runtimes

- normalize socket event handling for both WHATWG and ws implementations

- add an installed-copy regression test for missing ws in Bun global layouts
2026-04-13 12:56:22 -04:00
walkerandClaude Opus 4.6 74f028168d fix(browser): 加固 browser_click 激活语义并修复相关验证阻塞
- 将 browser_click 调整为 mousedown/mouseup 后走 native click
- 在取消激活和中途 detached 场景下避免强制触发 native activation
- 补齐 browser_click 的回归测试与取消激活场景覆盖
- 修复 cliproxy 本地代理、Droid 环境隔离、图像分析 hook 与 proxy 集成测试的验证阻塞

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:19:16 +08:00
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
Tam Nhu Tran 8b553c35c1 fix(websearch): harden searxng url handling 2026-04-12 06:31:20 -04:00
buiducnhat eec8c8b4a3 feat(websearch): add SearXNG provider support and configuration
- Updated websearch.md to include SearXNG in the configuration guide.
- Implemented SearXNG JSON API integration in websearch-transformer.cjs.
- Enhanced unified-config-loader.ts to support SearXNG settings.
- Defined SearXNG configuration types in unified-config-types.ts.
- Updated hook-env.ts to manage SearXNG environment variables.
- Modified status.ts to include SearXNG in web search provider checks.
- Added SearXNG routes and validation in websearch-routes.ts.
- Implemented SearXNG provider tests in websearch-transformer.test.ts.
- Updated readiness tests to account for SearXNG in status.test.ts.
- Enhanced websearch routes tests to validate SearXNG settings.
- Added SearXNG configuration fields in the UI settings.
2026-04-11 16:43:59 +07:00
Tam Nhu Tran 64ecd8b3dc feat(image-analysis): make MCP-first provisioning self-healing 2026-04-08 13:36:05 -04:00
Tam Nhu Tran a33d3f4481 fix: classify DuckDuckGo non-result HTML as failure 2026-04-04 13:05:31 -04:00
Tam Nhu Tran 77b488f8b1 fix(image-analysis): harden runtime and provisioning 2026-04-02 18:36:19 -04:00
Tam Nhu Tran 813b2dd4d0 feat(image-analysis): add provider-backed runtime 2026-04-02 15:44:13 -04:00
Tam Nhu Tran 7f83e041b7 feat(websearch): add managed mcp runtime and provider cooldowns
- switch ccs-websearch MCP to stdio-first framing and keep legacy compatibility

- add cooldown persistence and bounded retries for provider failures

- surface cooldown status in readiness output and regression tests
2026-03-31 14:22:11 -04:00
Tam Nhu Tran cae5b710b8 fix(websearch): close review gaps in managed runtime 2026-03-30 23:02:20 -04:00
Tam Nhu Tran de7171d810 feat(websearch): finish managed third-party rollout
- steer third-party launches toward the managed WebSearch MCP tool

- add opt-in trace diagnostics across launch, MCP, provider, and headless paths

- extend docs and regression coverage for the first-class runtime

Refs #862
2026-03-30 22:41:51 -04:00
Tam Nhu Tran e260df7178 feat: add first-class CCS WebSearch runtime 2026-03-30 16:10:39 -04:00
Tam Nhu Tran a5d71e3560 fix: normalize websearch hook output for local providers 2026-03-30 15:10:30 -04:00
Tam Nhu Tran 6c7d215ecc feat(websearch): add real provider chain 2026-03-23 15:26:05 -04:00