Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
3266d81
feat: Rebrand to GoDaddy ANS and add multi-provider support
vyung-godaddy Nov 12, 2025
ae9fd3e
fix: MCP tool execution using transport.send() workaround
vyung-godaddy Nov 13, 2025
35a6692
feat: UI improvements and model display updates
vyung-godaddy Nov 13, 2025
1838030
feat: Add A2A protocol support and fix browser tools execution
vyung-godaddy Nov 16, 2025
a48d566
fix: Prevent context overflow in Anthropic browser tools
vyung-godaddy Nov 16, 2025
9d8651a
feat: Add visual feedback for browser automation
vyung-godaddy Nov 16, 2025
5d37d37
feat: Improve auto-scroll and click accuracy
vyung-godaddy Nov 16, 2025
b32ced4
feat: Add GitHub Actions workflow with environment-specific builds
vyung-godaddy Nov 16, 2025
61f60d4
docs: Reorganize README with ANS as primary focus
vyung-godaddy Nov 16, 2025
80002a7
feat: Add multi-provider support and Anthropic computer use for Elect…
vyung-godaddy Nov 16, 2025
d55fb7c
fix: Fix packaged app asar path resolution for renderer and preload
vyung-godaddy Nov 16, 2025
d64dee4
fix: Prevent crash on app quit by checking if objects are destroyed
vyung-godaddy Nov 16, 2025
2f314af
feat: improve Chrome extension UI/UX for browser automation
vyung-godaddy Nov 16, 2025
d5f74ae
feat: enhance GitHub Actions artifact management
vyung-godaddy Nov 16, 2025
50c36d3
fix: correct artifact packaging paths in GitHub Actions
vyung-godaddy Nov 16, 2025
fd8fb40
docs: add comprehensive wiki documentation
vyung-godaddy Nov 16, 2025
6dca346
feat: enable browser tools by default
vyung-godaddy Nov 17, 2025
ee37fde
feat: add environment label to GitHub Actions job name
vyung-godaddy Nov 17, 2025
21e379d
fix: add run-name to show environment in Actions UI
vyung-godaddy Nov 17, 2025
21fead3
fix: revert browser tools to disabled by default
vyung-godaddy Nov 17, 2025
fefd8e6
feat: abort all pending browser operations on "Take Over"
vyung-godaddy Nov 17, 2025
8e43ba2
fix: prevent overlay from reappearing after "Take Over"
vyung-godaddy Nov 17, 2025
6167ee4
debug: add logging for click coordinate debugging
vyung-godaddy Nov 17, 2025
ec55f3d
feat: smart input field detection for clicks
vyung-godaddy Nov 17, 2025
628b12e
feat: add screenshot tool for Anthropic Claude
vyung-godaddy Nov 17, 2025
deb5974
feat: add explicit screenshot workflow instructions for Claude
vyung-godaddy Nov 17, 2025
fda2805
fix: include viewport dimensions with screenshots for accurate clicking
vyung-godaddy Nov 17, 2025
56d8999
debug: add visual debug marker for click coordinates
vyung-godaddy Nov 17, 2025
68667d8
feat: significantly improve coordinate instructions for Claude
vyung-godaddy Nov 17, 2025
ff6b751
feat: prioritize DOM-based interactions over screenshots
vyung-godaddy Nov 17, 2025
f41281d
fix: improve scroll functionality with better logging and default amount
vyung-godaddy Nov 18, 2025
21f9291
fix: detect and scroll custom scrollable containers (fixes Slack, SPAs)
vyung-godaddy Nov 18, 2025
5d84632
debug: add detailed logging for scroll container detection
vyung-godaddy Nov 18, 2025
e29ee5c
fix: detect and scroll elements with hidden scrollbars (Slack pattern)
vyung-godaddy Nov 18, 2025
9a43d6c
feat: rename Electron app to GoDaddy ANS Desktop
vyung-godaddy Nov 18, 2025
64eb10b
feat: remove OpenAI and Gemini from settings dropdown
vyung-godaddy Nov 19, 2025
f11bfad
feat: remove OpenAI and Gemini from Chrome extension settings
vyung-godaddy Nov 19, 2025
f399f8b
feat: set default GoCode URL to production endpoint
vyung-godaddy Nov 19, 2025
b55a3ae
feat: improve ANS authentication UX with sign-in button
vyung-godaddy Nov 19, 2025
451986a
fix: correct ANS sign-in URL
vyung-godaddy Nov 19, 2025
e0fd546
feat: add manual update checker to settings
vyung-godaddy Nov 19, 2025
ad53e8d
fix: update checker to use GitHub Actions artifacts
vyung-godaddy Nov 19, 2025
82660d0
fix: implement proper semantic version comparison
vyung-godaddy Nov 19, 2025
19d8dad
feat: add "Show Install Path" button to update flow
vyung-godaddy Nov 20, 2025
d5f6367
feat: always show update option for debugging/testing
vyung-godaddy Nov 20, 2025
966f002
fix: use chrome.tabs.create for Show Install Path button
vyung-godaddy Nov 20, 2025
e8f9e56
feat: add helpful alert for Show Install Path button
vyung-godaddy Nov 20, 2025
21c4a33
fix: server toggle checkbox not updating UI
vyung-godaddy Nov 20, 2025
d32b4ee
fix: persist trustedAgentOptIn state to localStorage
vyung-godaddy Nov 20, 2025
d197db3
fix: banner UI now updates immediately when opting in/out
vyung-godaddy Nov 20, 2025
97fa3c0
feat: support prefix matching for agent discovery
vyung-godaddy Nov 20, 2025
09878dc
feat: add pressKey tool for browser automation
vyung-godaddy Nov 20, 2025
ad1b11f
fix: make Enter key instruction more prominent in system prompt
vyung-godaddy Nov 20, 2025
f653f64
fix: shorten system prompt to avoid context limit errors
vyung-godaddy Nov 20, 2025
ded6f59
Revert "fix: shorten system prompt to avoid context limit errors"
vyung-godaddy Nov 20, 2025
066f7bd
feat: make Enter key requirement ultra-prominent in system prompt
vyung-godaddy Nov 20, 2025
505063c
fix: enhance Enter key handling for Chrome compatibility
vyung-godaddy Nov 20, 2025
f84e07f
fix: remove 'John Doe' examples from system prompt
vyung-godaddy Nov 20, 2025
8ca791b
fix: critical Enter key press implementation bugs
vyung-godaddy Nov 20, 2025
9e10f3d
fix: ensure input field maintains focus for Enter key press
vyung-godaddy Nov 20, 2025
a2f6e86
fix: press Enter immediately after typing without losing focus
vyung-godaddy Nov 20, 2025
7964b4c
feat: add extensive search box diagnostics and Workday support
vyung-godaddy Nov 20, 2025
ffbbc15
feat: add comprehensive coordinate click diagnostics
vyung-godaddy Nov 21, 2025
8df354e
fix: implement complete, realistic click event sequence
vyung-godaddy Nov 21, 2025
a0cf18c
feat: add comprehensive click diagnostics and multi-strategy click
vyung-godaddy Nov 21, 2025
64f7f94
fix: add system prompt to prevent XML syntax when browser tools disabled
vyung-godaddy Nov 22, 2025
61e3eae
fix: prioritize MCP tools over browser automation in browser mode
vyung-godaddy Nov 22, 2025
c5bfde5
feat: add collapsible Available Tools panel in chat
vyung-godaddy Nov 22, 2025
6e8edae
feat: add visual indicator when routing to A2A agent
vyung-godaddy Nov 22, 2025
82d9054
fix: initialize MCP service on page load alongside A2A
vyung-godaddy Nov 22, 2025
c9205db
fix: improve MCP connection error logging to show URLs
vyung-godaddy Nov 22, 2025
2b2691b
fix: add URL to inner connectToServer error handler
vyung-godaddy Nov 22, 2025
5160867
feat: hide Available Tools panel when no tools are available
vyung-godaddy Nov 22, 2025
abf459f
fix: only show A2A agent for current site in Available Tools
vyung-godaddy Nov 22, 2025
6dbbb2c
fix: improve click and key press for complex apps like Slack
vyung-godaddy Nov 22, 2025
7d60fa5
fix: prevent 'Take Over Control' button from blocking page clicks
vyung-godaddy Nov 23, 2025
726de00
fix: disable 'Take Over Control' overlay to prevent click interference
vyung-godaddy Nov 23, 2025
77011ec
feat: replace intrusive overlay with small floating indicator
vyung-godaddy Nov 23, 2025
f96cb27
debug: add comprehensive click debugging and coordinate validation
vyung-godaddy Nov 23, 2025
772019b
fix: implement aggressive native click strategy for trusted events
vyung-godaddy Nov 23, 2025
eb727dc
fix: disable automation overlay to prevent click interference
vyung-godaddy Nov 23, 2025
e3d840e
feat: add site-specific custom instructions
vyung-godaddy Nov 23, 2025
a52fc86
feat: bake in Jira, Confluence, and Workday instructions
vyung-godaddy Nov 23, 2025
d2d2275
fix: use native-only click strategy for maximum compatibility
vyung-godaddy Nov 23, 2025
580ddeb
feat: add same-tab navigation rule to all site instructions
vyung-godaddy Nov 23, 2025
8d610c9
fix: remove all examples from site instructions to reduce LLM confusion
vyung-godaddy Nov 23, 2025
7d0f2f5
feat: simplify to top 3 Atlassian tasks only
vyung-godaddy Nov 23, 2025
50ceb29
feat: add specific JQL examples for Jira search workflows
vyung-godaddy Nov 23, 2025
109daef
fix: clarify JQL search workflow - must click JQL button first
vyung-godaddy Nov 23, 2025
3d96f57
feat: re-enable automation overlay with click-through protection
vyung-godaddy Nov 23, 2025
c2b9889
fix: disable automation overlay - confirmed to break button clicks
vyung-godaddy Nov 23, 2025
b36c326
fix: use resolution-based JQL query for finding open bugs
vyung-godaddy Nov 23, 2025
27944fe
fix: use status-based exclusion query for finding open bugs
vyung-godaddy Nov 23, 2025
3e1c132
fix: simplify JQL query to just assignee filter
vyung-godaddy Nov 23, 2025
cf49c9f
fix: add explicit steps to click JQL button before entering query
vyung-godaddy Nov 23, 2025
b4d2e09
feat: use Filters sidebar instead of JQL queries for finding issues
vyung-godaddy Nov 23, 2025
5cf99a0
fix: simplify to "Click on Filters" instead of navigate + look
vyung-godaddy Nov 23, 2025
686e573
feat: add comprehensive general browser interaction framework
vyung-godaddy Nov 23, 2025
78bfde5
fix: disable smart input-finding that was redirecting coordinate clicks
vyung-godaddy Nov 23, 2025
2ab8ba9
fix: handle devicePixelRatio scaling for screenshot coordinates
vyung-godaddy Nov 23, 2025
e08e989
fix: improve coordinate measurement instructions and Jira workflow
vyung-godaddy Nov 23, 2025
fa0d2be
feat: add auto-save screenshots to Downloads folder
vyung-godaddy Nov 23, 2025
2f62dbf
feat: improve coordinate measurement guidance and click logging
vyung-godaddy Nov 24, 2025
e964266
fix: clarify coordinate measurement to center of entire control
vyung-godaddy Nov 24, 2025
7249f5b
feat: improve DOM-based element finding for clickElement
vyung-godaddy Nov 24, 2025
283f653
feat: re-enable browser automation visual overlay
vyung-godaddy Nov 24, 2025
f9968fc
feat: comprehensive conversation context improvements
vyung-godaddy Nov 24, 2025
2495014
feat: interactive JIRA bug creation with project selection
vyung-godaddy Nov 24, 2025
c4c3de8
fix: JIRA search should stop immediately after clicking Assigned to me
vyung-godaddy Nov 24, 2025
411dffc
fix: prevent tool_use/tool_result pair breakage during message trimming
vyung-godaddy Nov 24, 2025
312580c
fix: handle HTML error responses instead of crashing on JSON.parse
vyung-godaddy Nov 24, 2025
09a92c1
fix: scroll not working on custom scrollable containers
vyung-godaddy Nov 24, 2025
cfcf078
fix: add SharePoint/Office Online scroll support and comprehensive lo…
vyung-godaddy Nov 24, 2025
874dc3b
feat: add SharePoint/Office Online site-specific instructions
vyung-godaddy Nov 24, 2025
53d9356
fix: PageDown and navigation keys not working due to wrong key codes
vyung-godaddy Nov 24, 2025
eaa4eaf
fix: filter out empty messages before sending to Anthropic API
vyung-godaddy Nov 24, 2025
c31a216
fix: add API key validation and improve error messages
vyung-godaddy Nov 24, 2025
84d5511
fix: update error message to mention GoCode Key
vyung-godaddy Nov 24, 2025
f0760fc
feat: enforce GoCode-only API access, remove direct Anthropic option
vyung-godaddy Nov 24, 2025
d8c9b63
fix: add manual scroll fallback for synthetic keyboard events
vyung-godaddy Nov 24, 2025
4d3dffb
fix: add friendly error message for VPN connection issues
vyung-godaddy Nov 25, 2025
caecb22
feat: update ANS API endpoint to OTE environment
vyung-godaddy Nov 25, 2025
3a6d459
feat: update MCP protocol extension to mcp1
vyung-godaddy Nov 25, 2025
9f4439b
feat: display MCP server URL in Available Tools panel
vyung-godaddy Nov 25, 2025
520ddf0
include page context
dshaikh-godaddy Nov 26, 2025
6620ad3
disable screenshot processing and reprocess dom context after every e…
dshaikh-godaddy Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 128 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: Build Extension

on:
# Allow manual trigger from Actions tab with environment selection
workflow_dispatch:
inputs:
environment:
description: 'Environment to build'
required: true
type: choice
options:
- dev
- test
- prod

run-name: Build Extension - ${{ github.event.inputs.environment }}

jobs:
build:
name: Build Extension - ${{ github.event.inputs.environment }}
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.environment }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build for ${{ github.event.inputs.environment }}
run: npm run build
env:
BUILD_ENV: ${{ github.event.inputs.environment }}

- name: Create distribution package
run: |
# Determine the artifacts subdirectory based on environment
case "${{ github.event.inputs.environment }}" in
dev)
ARTIFACTS_DIR="artifacts/Dev"
;;
test)
ARTIFACTS_DIR="artifacts/Test"
;;
prod)
ARTIFACTS_DIR="artifacts/Prod"
;;
esac

# Check if artifacts directory exists
if [ ! -d "$ARTIFACTS_DIR" ]; then
echo "❌ Error: $ARTIFACTS_DIR not found"
echo "Available directories:"
ls -la artifacts/ || echo "No artifacts directory found"
exit 1
fi

# Create a clean distribution directory
mkdir -p dist

# Create ZIP file for easy distribution
cd "$ARTIFACTS_DIR"
zip -r "../../dist/extension-${{ github.event.inputs.environment }}.zip" .
cd ../..

# Copy unzipped files as well
cp -r "$ARTIFACTS_DIR" "dist/extension-${{ github.event.inputs.environment }}"

echo "✅ Created distribution package"
ls -lh dist/

- name: Upload ZIP artifact
uses: actions/upload-artifact@v4
with:
name: extension-${{ github.event.inputs.environment }}-v${{ github.run_number }}
path: dist/extension-${{ github.event.inputs.environment }}.zip
retention-days: 90

- name: Upload unzipped artifact
uses: actions/upload-artifact@v4
with:
name: extension-${{ github.event.inputs.environment }}-unzipped-v${{ github.run_number }}
path: dist/extension-${{ github.event.inputs.environment }}/
retention-days: 90

- name: Build summary
run: |
echo "### 🎉 Build completed successfully!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Environment:** \`${{ github.event.inputs.environment }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Version:** \`1.2.3\`" >> $GITHUB_STEP_SUMMARY
echo "**Build Number:** \`#${{ github.run_number }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📦 Download Artifacts" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Two artifact types are available:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. **ZIP Package** - \`extension-${{ github.event.inputs.environment }}-v${{ github.run_number }}\`" >> $GITHUB_STEP_SUMMARY
echo " - Ready to distribute, single file download" >> $GITHUB_STEP_SUMMARY
echo " - Extract and load in Chrome via \`chrome://extensions/\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "2. **Unzipped Extension** - \`extension-${{ github.event.inputs.environment }}-unzipped-v${{ github.run_number }}\`" >> $GITHUB_STEP_SUMMARY
echo " - Direct folder structure" >> $GITHUB_STEP_SUMMARY
echo " - Load directly in Chrome as unpacked extension" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📋 Installation Instructions" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Download the artifact from the **Artifacts** section above" >> $GITHUB_STEP_SUMMARY
echo "2. Extract the ZIP file (if using ZIP package)" >> $GITHUB_STEP_SUMMARY
echo "3. Open Chrome and go to \`chrome://extensions/\`" >> $GITHUB_STEP_SUMMARY
echo "4. Enable **Developer mode** (top right)" >> $GITHUB_STEP_SUMMARY
echo "5. Click **Load unpacked**" >> $GITHUB_STEP_SUMMARY
echo "6. Select the extracted extension folder" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Retention:** Artifacts are kept for 90 days" >> $GITHUB_STEP_SUMMARY
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ Thumbs.db
# Logs
*.log
npm-debug.log*
artifacts/
138 changes: 87 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,62 @@
<div align="center">
# ANS Browser Extension

![Banner](./assets/banner.png)
AI-powered browser automation with GoDaddy Agent Naming System (ANS) integration.

# Open ChatGPT Atlas
## Features

Open Source and Free Alternative to ChatGPT Atlas.
- **◉ Browser Tools Mode**: AI-powered browser automation with clicks, typing, scrolling, and navigation
- **🤖 ANS Integration**: GoDaddy Agent Naming System (ANS) support for trusted A2A agents
- **Sidebar Chat Interface**: Clean, modern React-based chat UI accessible from any tab
- **Direct Browser Automation**: No backend required - all API calls made directly from extension
- **Visual Feedback**: Blue border overlay and element highlighting during automation
- **Multi-Environment Builds**: Separate Dev, Test, and Prod environment configurations
- **🔧 Composio Support**: Optional Tool Router mode for Gmail, Slack, GitHub, and 500+ integrations

![Atlas Demo](./atlas.gif)
## Getting Started

<a href="https://github.com/composiohq/open-chatgpt-atlas"><img alt="Star" src="https://img.shields.io/badge/⭐%20Star%20Us-GitHub-yellow?style=for-the-badge"></a>
### For GoDaddy Employees (ANS Extension)

#### Prerequisites
- Chrome or Edge browser (Manifest V3 support)
- GoDaddy VPN access
- GoCode API key
- ANS credentials

</div>
#### Installation Steps

## Features
1. **Connect to VPN**
- Log into GoDaddy VPN

- **🔧 Tool Router Mode**: Composio's intelligent tool routing for accessing Gmail, Slack, GitHub, and 500+ integrations
- **◉ Browser Tools Mode**: Gemini 2.5 Computer Use for visual browser automation with screenshots, clicks, typing, scrolling, and navigation
- **Sidebar Chat Interface**: Clean, modern React-based chat UI accessible from any tab
- **Direct Browser Automation**: No backend required - all API calls made directly from extension
- **Visual Feedback**: Blue click indicators and element highlighting during automation
- **Safety Features**: Confirmation dialogs for sensitive actions (checkout, payment, etc.)
2. **Authenticate ANS Access**
- Sign into [www.dev-godaddy.com](https://www.dev-godaddy.com) in Chrome
- This step is required to access ANS services

## Getting Started
3. **Download and Install Extension**
- Download the extension zip file from the latest release
- Unzip into a folder named `dist`

### Prerequisites
4. **Load Extension in Chrome**
- Open Chrome and navigate to `chrome://extensions/`
- Enable "Developer mode" in the top right corner
- Click "Load unpacked"
- Select the `dist` folder

5. **Configure API Keys**
- Click the Settings (⚙️) icon in the extension
- Add the following base URL:
```
https://caas-gocode-prod.caas-prod.prod.onkatana.net
```
- Get your GoCode API key: [https://caas.godaddy.com/gocode/my-api-keys](https://caas.godaddy.com/gocode/my-api-keys)
- Get your ANS credentials: [https://api.ote-godaddy.com/v1/agents](https://api.ote-godaddy.com/v1/agents)

### For Developers (Building from Source)

#### Prerequisites
- Node.js 18+ and npm
- Chrome or Edge browser (Manifest V3 support)
- Google API key for Gemini (required)
- Composio API key (optional, for Tool Router mode)

### Installation
#### Build and Install

1. Clone this repository
2. Install dependencies:
Expand All @@ -41,15 +66,22 @@ npm install

3. Build the extension:
```bash
npm run build
# Build for Dev environment
BUILD_ENV=dev npm run build

# Build for Test environment
BUILD_ENV=test npm run build

# Build for Prod environment
BUILD_ENV=prod npm run build
```

4. Load the extension in Chrome:
- Open Chrome and navigate to `chrome://extensions/`
- Enable "Developer mode" in the top right
- Click "Load unpacked"
- Select the `dist` folder
- Open Settings (⚙️ icon) to configure your API keys
- Select the `artifacts/Dev` (or `artifacts/Test` or `artifacts/Prod`) folder
- Configure your API keys in Settings (⚙️ icon)

### Running the Electron Browser

Expand All @@ -72,21 +104,7 @@ npm run electron:dev

The Electron browser will launch with the full Atlas functionality integrated, allowing you to use browser tools and tool routing directly from the desktop application.

### Configuration

#### Required Setup

1. **Google API Key** (Required)
- Get your key from [Google AI Studio](https://aistudio.google.com/app/apikey)
- Add it in Settings under "Google API Key"
- Supports: Gemini 2.5 Pro, Flash, and Flash Lite

2. **Composio API Key** (Optional - for Tool Router mode)
- Get your key from [Composio Dashboard](https://app.composio.dev/settings)
- Add it in Settings under "Composio API Key"
- Enables access to 500+ app integrations

#### Using Browser Tools (◉ Button)
### Using Browser Tools

1. Enable Browser Tools by clicking the ◉ button in the chat header
2. The extension automatically uses Gemini 2.5 Computer Use Preview
Expand All @@ -98,17 +116,6 @@ The Electron browser will launch with the full Atlas functionality integrated, a
- "Take a screenshot of this page"
- "Click the first image on the page"

#### Using Tool Router Mode

1. Add your Composio API key in Settings
2. Click ◉ to disable Browser Tools (or keep it off)
3. Chat normally - the AI will automatically use Composio tools when needed

**Example prompts:**
- "Check my Gmail for unread messages"
- "Create a GitHub issue titled 'Bug in login flow'"
- "Send a Slack message to #general with 'Hello team!'"

### Development

Run with hot reload:
Expand All @@ -118,16 +125,45 @@ npm run dev

Then reload the extension in Chrome after each change.

---

## For Composio Users (Tool Router Mode)

This extension also supports Composio's Tool Router for accessing Gmail, Slack, GitHub, and 500+ app integrations.

### Prerequisites
- Composio API key from [Composio Dashboard](https://app.composio.dev/settings)
- Google API key from [Google AI Studio](https://aistudio.google.com/app/apikey)

### Setup

1. Open extension Settings (⚙️ icon)
2. Add your Composio API key under "Composio API Key"
3. Add your Google API key under "Google API Key"

### Using Tool Router Mode

1. Make sure Browser Tools is disabled (◉ button should be OFF)
2. Chat normally - the AI will automatically use Composio tools when needed

**Example prompts:**
- "Check my Gmail for unread messages"
- "Create a GitHub issue titled 'Bug in login flow'"
- "Send a Slack message to #general with 'Hello team!'"

### Composio Resources
- [Composio Platform](https://composio.dev/?utm_source=Github&utm_medium=Youtube&utm_campaign=2025-11&utm_content=Atlas)
- [Tool Router Documentation](https://docs.composio.dev/docs/tool-router/quick-start)
- [Composio GitHub](https://github.com/composiohq)

## Documentation

- **[FAQ](./FAQ.md)** - Frequently asked questions and quick troubleshooting
- **[TROUBLESHOOTING.md](./TROUBLESHOOTING.md)** - Detailed troubleshooting guide for common issues

## References

- [Composio Platform](https://composio.dev/?utm_source=Github&utm_medium=Youtube&utm_campaign=2025-11&utm_content=Atlas) - Intelligent tool routing for AI agents
- [Composio Tool Router Documentation](https://docs.composio.dev/docs/tool-router/quick-start) - Learn how to use Tool Router to route tool calls across 500+ integrations
- [Composio GitHub](https://github.com/composiohq) - Python and TS SDK
- [ChatGPT Atlas](https://openai.com/index/introducing-chatgpt-atlas/) - OpenAI's browser automation AI agent
- [Gemini Computer Use Model](https://blog.google/technology/google-deepmind/gemini-computer-use-model/) - Google's AI model for browser automation
- [Gemini API Documentation](https://ai.google.dev/gemini-api/docs/computer-use) - Official documentation for Gemini Computer Use
- [GoDaddy ANS Documentation](https://api.ote-godaddy.com/v1/agents) - ANS agent registration and credentials
Loading