Skip to content

feat(agent): 新增可选 Jev 浏览器子任务插件 - #62

Merged
moonrailgun merged 1 commit into
mainfrom
moonrailgun/jev-mcp
Sep 22, 2026
Merged

moonrailgun merged 1 commit into
mainfrom
moonrailgun/jev-mcp

Conversation

@moonrailgun

@moonrailgun moonrailgun commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Background

Agent needs a way to delegate short, bounded browser subtasks (fill/click/scroll flows) to an external Jev-compatible decision service without touching the main model config, and without exposing this capability unless the user explicitly opts in for both connection and tool permission.

Changes

  • Register a shared plugin manifest (dao_agent_plugins.h) exposing Jev's connection URL/token and independent run_browser_task tool permission through the existing Agent settings snapshot.
  • Add DaoJevTask, a bounded observe/choose/act loop shared by Dao Agent and MCP, using compact viewport snapshots, guarded ref actions, and locally verified completion.
  • Extend dao_page_tools.cc with an atomic compact snapshot (excludes sensitive fields, contenteditable drafts, and nested controls) and guarded click/fill preconditions.
  • Wire run_browser_task through the Agent WebUI bridge/settings sync and MCP tool discovery/result adaptation, including cancellation on permission/config changes, target loss, and disconnect.
  • Add localized Settings UI for the Jev connection and tool permission, plus feature-checklist/docs updates and a local integration check script.

Testing

Added WebUI unit tests (jev.test.ts, compact_snapshot.test.ts, updated browser_tool_catalog.test.ts/tool_catalog.test.ts) and a C++ MCP catalog unit test update. A standalone local integration script (scripts/checks/jev-plugin.mjs) exercises settings, native Agent, and MCP flows end-to-end against a mock Jev server, per the verification notes in docs/superpowers/plans/2026-09-21-jev-plugin.md.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added an optional experimental Jev browser plugin for bounded, verified browser subtasks.
    • Added settings for plugin connection, access permissions, API URL, and token management.
    • Added run_browser_task support for Dao Agent and MCP clients.
    • Added compact accessibility snapshots and stronger action safeguards for browser automation.
    • MCP now exposes 34 native browser tools.
  • Documentation

    • Updated MCP and feature documentation with plugin setup, usage, limits, and cancellation behavior.
    • Added verification guidance and expanded Simplified Chinese localization coverage.

@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository: msgbyte/dao-browser/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 6ae768d9-7057-45d8-9bbf-987345fc8700

📥 Commits

Reviewing files that changed from the base of the PR and between afb65fa and f4d52e3.

📒 Files selected for processing (35)
  • docs/feature-checklist.md
  • docs/features.md
  • docs/mcp-server.md
  • docs/superpowers/plans/2026-09-21-jev-plugin.md
  • scripts/checks/jev-plugin.mjs
  • src/dao/browser/agent/dao_agent_plugins.h
  • src/dao/browser/agent/dao_agent_settings_handler.cc
  • src/dao/browser/automation/BUILD.gn
  • src/dao/browser/automation/dao_browser_tool_executor.cc
  • src/dao/browser/automation/dao_jev_task.cc
  • src/dao/browser/automation/dao_jev_task.h
  • src/dao/browser/automation/dao_page_tools.cc
  • src/dao/browser/mcp/dao_mcp_foundation_unittest.cc
  • src/dao/browser/mcp/dao_mcp_service.cc
  • src/dao/browser/mcp/helper/dao_mcp_stdio_server.cc
  • src/dao/browser/ui/dao_ui_sources.gni
  • src/dao/browser/ui/webui/dao_agent_ui.cc
  • src/dao/browser/ui/webui/dao_agent_ui.h
  • src/dao/browser/ui/webui/resources/agent/BUILD.gn
  • src/dao/browser/ui/webui/resources/agent/__tests__/browser_tool_catalog.test.ts
  • src/dao/browser/ui/webui/resources/agent/__tests__/compact_snapshot.test.ts
  • src/dao/browser/ui/webui/resources/agent/__tests__/jev.test.ts
  • src/dao/browser/ui/webui/resources/agent/__tests__/tool_catalog.test.ts
  • src/dao/browser/ui/webui/resources/agent/agent_bridge.ts
  • src/dao/browser/ui/webui/resources/agent/agent_plugins.ts
  • src/dao/browser/ui/webui/resources/agent/agent_settings_sync.ts
  • src/dao/browser/ui/webui/resources/agent/browser_tool_catalog.json
  • src/dao/browser/ui/webui/resources/agent/pi_tool_adapter.ts
  • src/dao/browser/ui/webui/resources/agent/tool_catalog.ts
  • src/patches/chrome/app/resources/generated_resources_zh-CN.xtb.patch
  • src/patches/chrome/app/settings_strings.grdp.patch
  • src/patches/chrome/browser/resources/settings/dao_page/dao_agent_page.html.patch
  • src/patches/chrome/browser/resources/settings/dao_page/dao_agent_page.ts.patch
  • src/patches/chrome/browser/resources/settings/dao_page/dao_agent_settings_browser_proxy.ts.patch
  • src/patches/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.patch
 ____________________________________________
< This is what it sounds like when bugs cry. >
 --------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@moonrailgun
moonrailgun merged commit 62d1a07 into main Sep 22, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant