Skip to content

feat: add Kortix Chrome Extension - Browser Operator for AI Agents#17

Open
Logrui wants to merge 346 commits intomainfrom
manus/chrome-extension
Open

feat: add Kortix Chrome Extension - Browser Operator for AI Agents#17
Logrui wants to merge 346 commits intomainfrom
manus/chrome-extension

Conversation

@Logrui
Copy link
Copy Markdown
Owner

@Logrui Logrui commented Jan 10, 2026

Overview

This PR introduces the Kortix AI Browser Operator, a headless Chrome extension that enables Kortix AI agents to control the user's local browser.

Key Features

  • Listener/Router Pattern: Receives commands from Kortix backend and executes them in the browser
  • 12 Core Commands: Navigate, click, type, scroll, screenshot, extract emails, extract content, get elements, fill form, submit form, get page info, execute script
  • Session Management: Unique session ID, command history tracking, extraction history
  • Error Handling: Graceful error messages, timeout handling, fallback support
  • Security: Manifest V3, minimal permissions, message validation ready
  • Testing: Mock extension, testing utilities, example scenarios
  • Documentation: 6 comprehensive guides covering installation, integration, deployment

Architecture

The extension implements a listener/router pattern similar to Manus 'My Browser':

Kortix Backend Router
    ↓
    ├─ Local Browser (Chrome Extension) ← This PR
    ├─ Sandbox Browser (Fallback)
    └─ Cloud Browser (Fallback)

Files Added

  • Core Implementation (5 files): Background service worker, content script, popup UI, types, manifest
  • Integration & Testing (3 files): Backend client, testing utilities, example tests
  • Configuration (3 files): package.json, tsconfig.json, vite.config.ts
  • Documentation (6 files): README, QUICKSTART, INTEGRATION, DEPLOYMENT, CONTRIBUTING, PROJECT_SUMMARY
  • UI (2 files): Popup HTML and entry point

Total: 18 files created

Integration

Kortix backend can integrate with this extension via the BrowserRouterClient:

from kortix_browser_extension import BrowserRouterClient

client = BrowserRouterClient()
await client.initialize()

# Use in agents
emails = await client.extract_emails()
await client.navigate('https://example.com')

Testing

Testing utilities and example scenarios provided in src/testing/ for easy integration testing.

Deployment

Ready for:

  1. Development testing via chrome://extensions/
  2. Production deployment to Chrome Web Store
  3. Integration with Kortix backend agents

Documentation

See packages/kortix-chrome-extension/README.md for complete documentation and API reference.

escapade-mckv and others added 30 commits January 6, 2026 16:29
Co-authored-by: markokraemer.mail <markokraemer.mail@gmail.com>
…config

cpu & memory logs while llm calls
…r-discord-link-4ec1

Website footer discord link
escapade-mckv and others added 26 commits January 10, 2026 02:10
feat(AgentSelector): enhance mode display and loading state; adjust l…
defer image_context and save after all tool results
feat: enhance markdown rendering with cross-platform support and add …
…full-width support and improve loading states
- Implement listener/router pattern for browser control
- Support 12 core commands (navigate, click, type, scroll, extract emails, etc.)
- Minimal popup UI for status and debugging
- Complete TypeScript implementation with Manifest V3
- Comprehensive documentation and integration guides
- Testing utilities and example scenarios
- Ready for production deployment to Chrome Web Store

The extension enables Kortix AI agents to control the user's local browser,
following the same architecture as Manus 'My Browser' feature.
Copilot AI review requested due to automatic review settings January 10, 2026 07:41
@vercel
Copy link
Copy Markdown

vercel Bot commented Jan 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
suna Error Error Jan 10, 2026 7:41am

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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.