6 Commits

Author SHA1 Message Date
@aaronjmars
8d3c2dc9fc Merge pull request #18 from felixrieseberg/felixr/fix-manifest
fix: manifest.json for dxt
2025-10-21 13:46:10 -04:00
@aaronjmars
eede8cdee5 Update README.md 2025-10-09 17:14:15 +02:00
Felix Rieseberg
8783ae0dc2 fix: manifest.json for dxt 2025-07-28 21:26:16 +02:00
@aaronjmars
9ad89e7248 Update README.md 2025-07-27 16:36:51 +02:00
@aaronjmars
9dcbd230c5 Update README.md 2025-07-20 23:51:26 +02:00
Aaron Elijah Mars
daa4b55ee5 Update to version 1.1.0 with tab_list timeout fixes and enhanced documentation
- Fixed tab_list timeout issue on Chrome by increasing content script timeout from 1s to 3s
- Updated all package.json and manifest files to version 1.1.0
- Set check_content_script default to false to avoid timeouts
- Enhanced DXT build script with comprehensive installation guide and GitHub repo links
- Fixed OpenDia logo path in README.md
- Updated tool examples and documentation to reflect timeout improvements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-20 23:43:30 +02:00
10 changed files with 84 additions and 76 deletions

View File

@@ -1,7 +1,9 @@
# OpenDia <img src="opendia-extension/icon-128.png" alt="OpenDia" width="32" height="32">
# OpenDia <img src="opendia-extension/icons/icon-128.png" alt="OpenDia" width="32" height="32">
**The open alternative to Dia**
Connect your browser to AI models. No browser switching needed—works seamlessly with Chrome, Firefox, and any Chromium browser.
**The open alternative to Dia / Perplexity Comet**
Connect your browser to AI models.
No browser switching needed—works seamlessly with Chrome, Firefox, and any Chromium browser. Private, local-first & MCP focused.
If you are not technical / never used MCPs before, we recommend using **[Perplexity Comet](https://pplx.ai/leosimon)**.
[![npm version](https://img.shields.io/npm/v/opendia)](https://www.npmjs.com/package/opendia)
[![GitHub release](https://img.shields.io/github/release/aaronjmars/opendia.svg)](https://github.com/aaronjmars/opendia/releases/latest)
@@ -32,15 +34,15 @@ OpenDia lets AI models control your browser automatically. **The key advantage?
## 🌐 Browser Support
Works with **Chrome, Firefox, and any Chromium-based browser**:
-**Mozilla Firefox** (Manifest V2)
-**Google Chrome** (Manifest V3)
-**Arc**
-**Google Chrome**
-**Arc**
-**Mozilla Firefox**
-**Microsoft Edge**
-**Brave**
-**Opera**
-**Any Chromium based browser**
Perfect for **Cursor users** who want to automate their local testing and development workflows!
Also perfect for **Cursor users** who want to automate their local testing and development workflows!
## 🎬 What You Can Do
@@ -82,14 +84,14 @@ Perfect for **Cursor users** who want to automate their local testing and develo
### 1. Install the Browser Extension
**For Chrome/Chromium browsers:**
1. Download `opendia-chrome-1.0.6.zip` from [releases](https://github.com/aaronjmars/opendia/releases)
1. Download `opendia-chrome-1.1.0.zip` from [releases](https://github.com/aaronjmars/opendia/releases)
2. Extract the zip file to a folder
3. Go to `chrome://extensions/` (or your browser's extension page)
4. Enable "Developer mode"
5. Click "Load unpacked" and select the extracted folder
**For Firefox:**
1. Download `opendia-firefox-1.0.6.zip` from [releases](https://github.com/aaronjmars/opendia/releases)
1. Download `opendia-firefox-1.1.0.zip` from [releases](https://github.com/aaronjmars/opendia/releases)
2. Extract the zip file to a folder
3. Go to `about:debugging#/runtime/this-firefox`
4. Click "Load Temporary Add-on..."

View File

@@ -34,7 +34,7 @@ cp opendia-mcp/server.js dist/opendia-dxt/
cat > dist/opendia-dxt/package.json << 'EOF'
{
"name": "opendia",
"version": "1.0.6",
"version": "1.1.0",
"description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook",
"main": "server.js",
"scripts": {
@@ -116,7 +116,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
"dxt_version": "0.1",
"name": "opendia",
"display_name": "OpenDia - Browser Automation",
"version": "1.0.6",
"version": "1.1.0",
"description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook + universal automation",
"author": {
"name": "Aaron Elijah Mars",
@@ -127,9 +127,6 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
"license": "MIT",
"keywords": ["browser", "automation", "mcp", "ai", "claude", "chrome", "firefox", "extension", "twitter", "linkedin", "facebook", "anti-detection"],
"icon": "icon.png",
"icons": {
"128": "icon.png"
},
"server": {
"type": "node",
@@ -153,16 +150,16 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
"title": "WebSocket Port",
"description": "Port for Chrome/Firefox extension connection",
"default": 5555,
"minimum": 1024,
"maximum": 65535
"min": 1024,
"max": 65535
},
"http_port": {
"type": "number",
"title": "HTTP Port",
"description": "Port for HTTP/SSE server",
"default": 5556,
"minimum": 1024,
"maximum": 65535
"min": 1024,
"max": 65535
},
"enable_tunnel": {
"type": "boolean",
@@ -251,30 +248,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
"name": "page_style",
"description": "🎨 Transform page appearance with themes and effects"
}
],
"capabilities": {
"browser_automation": true,
"anti_detection": true,
"background_tabs": true,
"multi_tab_workflows": true,
"content_extraction": true,
"form_filling": true,
"social_media_posting": true,
"page_styling": true,
"bookmark_management": true,
"history_search": true,
"tab_management": true
},
"requirements": {
"browser_extension": {
"name": "OpenDia Browser Extension",
"description": "Required Chrome/Firefox extension for browser automation by Aaron Elijah Mars",
"version": "1.0.6",
"auto_install": false
}
}
]
}
EOF
@@ -295,9 +269,21 @@ cp LICENSE dist/opendia-dxt/ 2>/dev/null || echo "⚠️ LICENSE not found, ski
cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF'
# OpenDia Browser Extension Installation
## Quick Setup
**🔗 Official Repository:** https://github.com/aaronjmars/opendia
### For Chrome/Chromium Browsers
## Complete Installation Guide
### Step 1: Install the DXT Package (Already Done!)
✅ You've successfully installed the OpenDia DXT package in Claude Desktop
### Step 2: Install Browser Extension
**📦 Get Latest Extension:**
Download the latest extension from: https://github.com/aaronjmars/opendia/releases
**Or use the included extension in this DXT package:**
#### For Chrome/Chromium Browsers
1. **Enable Developer Mode**
- Go to `chrome://extensions/`
@@ -306,37 +292,57 @@ cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF'
2. **Install Extension**
- Click "Load unpacked"
- Select the `extension/` folder from this DXT package
- Extension should appear in your extensions list
- Extension should appear in your extensions list with OpenDia icon
### For Firefox
#### For Firefox
1. **Load Temporary Add-on**
- Go to `about:debugging#/runtime/this-firefox`
- Click "Load Temporary Add-on..."
- Select the `manifest-firefox.json` file from the `extension/` folder
> **Note**: Firefox extensions are loaded as temporary add-ons and will be removed when Firefox restarts.
> **Firefox Note**: Extensions are loaded as temporary add-ons and will be removed when Firefox restarts. For permanent installation, use the signed extension from GitHub releases.
## Verify Connection
### Step 3: Verify Everything Works
- Click the OpenDia extension icon
- Should show "Connected to MCP server"
- Green status indicator means ready to use
1. **Check Extension Status**
- Click the OpenDia extension icon in your browser
- Should show "Connected to MCP server"
- Green status indicator means ready to use
2. **Test in Claude Desktop**
- Ask Claude: "List my open browser tabs"
- Should return your current tabs if working correctly
## Supported Browsers
- Mozilla Firefox (Manifest V2)
- Google Chrome (Manifest V3)
- Arc Browser, Microsoft Edge, Brave Browser, Opera
- Any Chromium-based browser
- ✅ **Mozilla Firefox** (Manifest V2)
- ✅ **Google Chrome** (Manifest V3)
- ✅ **Arc Browser, Microsoft Edge, Brave Browser, Opera**
- ✅ **Any Chromium-based browser**
## Features
🎯 Anti-detection bypass for Twitter/X, LinkedIn, Facebook
📱 Smart automation and page analysis
🔧 Form filling with enhanced compatibility
📊 Multi-tab workflows and background operations
🎨 Page styling and visual customization
## Key Features
🎯 **Anti-detection bypass** for Twitter/X, LinkedIn, Facebook
📱 **Smart automation** and intelligent page analysis
🔧 **Form filling** with enhanced compatibility
📊 **Multi-tab workflows** and background operations
🎨 **Page styling** and visual customization
🔒 **Privacy-first** - everything runs locally
For more help, visit: https://github.com/aaronjmars/opendia
## Getting Help
- **📖 Full Documentation:** https://github.com/aaronjmars/opendia
- **🐛 Report Issues:** https://github.com/aaronjmars/opendia/issues
- **💬 Discussions:** https://github.com/aaronjmars/opendia/discussions
## What's Next?
Try these example prompts in Claude Desktop:
- "List my open browser tabs"
- "Analyze the content of my current tab"
- "Apply a dark theme to this webpage"
- "Extract the main article text from this page"
**🚀 Ready to supercharge your browser with AI!**
EOF
# Verify structure before zipping

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "OpenDia",
"version": "1.0.6",
"version": "1.1.0",
"description": "Connect your browser to AI models",
"icons": {
"16": "icons/icon-16.png",

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "OpenDia",
"version": "1.0.6",
"version": "1.1.0",
"description": "Connect your browser to AI models",
"applications": {
"gecko": {

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "OpenDia",
"version": "1.0.6",
"version": "1.1.0",
"description": "Connect your browser to AI models",
"icons": {
"16": "icon-16.png",

View File

@@ -1,12 +1,12 @@
{
"name": "opendia-extension",
"version": "1.0.5",
"version": "1.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "opendia-extension",
"version": "1.0.5",
"version": "1.0.6",
"license": "MIT",
"dependencies": {
"webextension-polyfill": "^0.12.0"

View File

@@ -1,6 +1,6 @@
{
"name": "opendia-extension",
"version": "1.0.6",
"version": "1.1.0",
"description": "Connect your browser to AI models",
"scripts": {
"build": "node build.js",

View File

@@ -358,7 +358,7 @@ async function getTabContentScriptStatus(tabId) {
}
const response = await new Promise((resolve, reject) => {
const timeout = setTimeout(() => resolve(null), 1000);
const timeout = setTimeout(() => resolve(null), 3000); // Increase to 3 seconds
browser.tabs.sendMessage(tabId, { action: 'ping' }, (response) => {
clearTimeout(timeout);
resolve(response);
@@ -382,12 +382,12 @@ function getAvailableTools() {
/*
🎯 BACKGROUND TAB WORKFLOW GUIDE:
1. DISCOVER TABS: Use tab_list with check_content_script=true to see all tabs and their IDs
1. DISCOVER TABS: Use tab_list with check_content_script=false to see all tabs and their IDs
2. TARGET SPECIFIC TABS: Add tab_id parameter to any tool to work on background tabs
3. MULTI-TAB OPERATIONS: Process multiple tabs without switching between them
Example Multi-Tab Workflow:
- tab_list({check_content_script: true}) → Get tab IDs and readiness status
- tab_list({check_content_script: false}) → Get tab IDs quickly
- page_analyze({intent_hint: "article", tab_id: 12345}) → Analyze background research tab
- page_extract_content({content_type: "article", tab_id: 12345}) → Extract content without switching
- get_selected_text({tab_id: 67890}) → Get quotes from another background tab
@@ -689,8 +689,8 @@ function getAvailableTools() {
inputSchema: {
type: "object",
examples: [
{ check_content_script: true }, // RECOMMENDED: Check which tabs are ready for background operations
{ current_window_only: false, check_content_script: true } // Check all tabs across windows
{ check_content_script: false }, // RECOMMENDED: Default false to avoid timeouts
{ current_window_only: false, check_content_script: false } // Get all tabs across windows
],
properties: {
current_window_only: {

View File

@@ -1,12 +1,12 @@
{
"name": "opendia",
"version": "1.0.5",
"version": "1.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "opendia",
"version": "1.0.5",
"version": "1.0.6",
"license": "MIT",
"dependencies": {
"cors": "^2.8.5",

View File

@@ -1,6 +1,6 @@
{
"name": "opendia",
"version": "1.0.6",
"version": "1.1.0",
"description": "🎯 OpenDia - The open alternative to Dia. Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook",
"main": "server.js",
"bin": {