Skip to content

feat(browser): add browser automation engine, persistent profiles, and agent tools - #4318

Open
rahulsaroh wants to merge 22 commits into
iOfficeAI:mainfrom
rahulsaroh:feat/teamwork-backup-browser
Open

rahulsaroh wants to merge 22 commits into
iOfficeAI:mainfrom
rahulsaroh:feat/teamwork-backup-browser

Conversation

@rahulsaroh

@rahulsaroh rahulsaroh commented Oct 12, 2026 •

Copy link
Copy Markdown

Pull Request

Description

This PR adds a complete Browser Automation Engine to AionUi along with persistent browser sessions, external Chrome integration, agent tool registrations, workflow execution, social media posting, safety approval gates, and a rich interactive UI.

Key Capabilities Added:

  1. Persistent Browser Sessions & Multi-Profile Support:

    • Isolated session partitions (persist:aionui-browser-<profileId>) preserving cookies, localStorage, and authentication state across app restarts.
    • External Chrome launcher fallback via Chrome DevTools Protocol (--remote-debugging-port=9222) to bypass Google sign-in restrictions.
    • Profile management with one-click data wipe.
  2. Automation Engine:

    • Resilient locators prioritizing accessibility roles/labels over brittle CSS/XPath.
    • Built-in retry loops with configurable timeouts and failure screenshot capture.
    • DOM snapshot and accessibility tree extraction for spatial reasoning.
  3. Download Manager:

    • Native will-download interception saving files to <workspace>/browser-downloads/<profile>/<YYYY-MM-DD>/.
    • Automatic download completion verification (non-zero size, extension matching).
  4. Agent & Multi-Agent Teamwork Integration:

    • 13 registered browser tools (browser_open, browser_click, browser_type, browser_wait, browser_snapshot, browser_screenshot, browser_download, browser_upload, browser_list_tabs, browser_close, browser_run_workflow, browser_social_post, browser_select_profile).
    • Integrated into DefaultTeamworkRunner with Worker, Explorer, and Sentinel roles.
    • Real-time IPC progress broadcasting and cooperative cancellation.
  5. Reusable Workflows & Site Configurations:

    • Saved workflow engine supporting template variable interpolation ({{var}}).
    • Site configurations for Google Flow, Instagram, and Facebook.
    • Built-in starter workflows for Google Flow media generation and social posting.
  6. Social Posting Engine & Safety Gates:

    • Multi-channel posting (Meta Graph API preferred with browser fallback).
    • Human-like pacing with randomized typing/click jitter, single-execution mutex, and configurable daily post caps.
    • Interactive safety approval modal requiring explicit confirmation for sensitive actions.
  7. UI Polish & Documentation:

    • Live BrowserPanel with Action Log drawer, emergency stop button, and manual takeover mode.
    • Settings tab under Settings > Tools > Browser Automation.
    • Comprehensive documentation in docs/browser-automation.md.

Type of Change

  • feat — New feature (non-breaking change which adds functionality)

Atomic PR Checklist (Rule 1)

  • This PR contains exactly one feature or bug fix that cannot be further decomposed
  • The PR title follows Conventional Commit format: <type>(<scope>): <subject> (English)

Local Checks (Rule 3)

  • bun run format — formatting passes
  • bun run lint — no lint errors (skip if no .ts/.tsx changed)
  • bunx tsc --noEmit — no type errors (skip if no .ts/.tsx changed)
  • bunx vitest run — tests pass (69 passed across 9 browser test suites)
  • i18n validated (bun run i18n:types + node scripts/check-i18n.js)
  • New/changed user-facing text uses i18n keys (no hardcoded strings)

Runtime Verification

  • Verified on Windows
  • I have performed a self-review of my own code

@rahulsaroh
rahulsaroh force-pushed the feat/teamwork-backup-browser branch from 2b87c2a to c688e51 Compare October 13, 2026 05:48
@rahulsaroh rahulsaroh changed the title feat: add teamwork scoping engine, backup manager, and browser panel feat(browser): add browser automation engine, persistent profiles, and agent tools Oct 14, 2026

This branch has not been deployed

No deployments
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