mirror of
https://github.com/aaronjmars/opendia.git
synced 2025-12-17 17:56:36 +00:00
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>
This commit is contained in:
parent
0b09201160
commit
daa4b55ee5
@ -1,4 +1,4 @@
|
|||||||
# 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**
|
**The open alternative to Dia**
|
||||||
Connect your browser to AI models. No browser switching needed—works seamlessly with Chrome, Firefox, and any Chromium browser.
|
Connect your browser to AI models. No browser switching needed—works seamlessly with Chrome, Firefox, and any Chromium browser.
|
||||||
|
|||||||
78
build-dxt.sh
78
build-dxt.sh
@ -34,7 +34,7 @@ cp opendia-mcp/server.js dist/opendia-dxt/
|
|||||||
cat > dist/opendia-dxt/package.json << 'EOF'
|
cat > dist/opendia-dxt/package.json << 'EOF'
|
||||||
{
|
{
|
||||||
"name": "opendia",
|
"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",
|
"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",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -116,7 +116,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
|
|||||||
"dxt_version": "0.1",
|
"dxt_version": "0.1",
|
||||||
"name": "opendia",
|
"name": "opendia",
|
||||||
"display_name": "OpenDia - Browser Automation",
|
"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",
|
"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": {
|
"author": {
|
||||||
"name": "Aaron Elijah Mars",
|
"name": "Aaron Elijah Mars",
|
||||||
@ -271,7 +271,7 @@ cat > dist/opendia-dxt/manifest.json << 'EOF'
|
|||||||
"browser_extension": {
|
"browser_extension": {
|
||||||
"name": "OpenDia Browser Extension",
|
"name": "OpenDia Browser Extension",
|
||||||
"description": "Required Chrome/Firefox extension for browser automation by Aaron Elijah Mars",
|
"description": "Required Chrome/Firefox extension for browser automation by Aaron Elijah Mars",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"auto_install": false
|
"auto_install": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -295,9 +295,21 @@ cp LICENSE dist/opendia-dxt/ 2>/dev/null || echo "⚠️ LICENSE not found, ski
|
|||||||
cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF'
|
cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF'
|
||||||
# OpenDia Browser Extension Installation
|
# 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**
|
1. **Enable Developer Mode**
|
||||||
- Go to `chrome://extensions/`
|
- Go to `chrome://extensions/`
|
||||||
@ -306,37 +318,57 @@ cat > dist/opendia-dxt/EXTENSION_INSTALL.md << 'EOF'
|
|||||||
2. **Install Extension**
|
2. **Install Extension**
|
||||||
- Click "Load unpacked"
|
- Click "Load unpacked"
|
||||||
- Select the `extension/` folder from this DXT package
|
- 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**
|
1. **Load Temporary Add-on**
|
||||||
- Go to `about:debugging#/runtime/this-firefox`
|
- Go to `about:debugging#/runtime/this-firefox`
|
||||||
- Click "Load Temporary Add-on..."
|
- Click "Load Temporary Add-on..."
|
||||||
- Select the `manifest-firefox.json` file from the `extension/` folder
|
- 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
|
1. **Check Extension Status**
|
||||||
- Should show "Connected to MCP server"
|
- Click the OpenDia extension icon in your browser
|
||||||
- Green status indicator means ready to use
|
- 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
|
## Supported Browsers
|
||||||
- Mozilla Firefox (Manifest V2)
|
- ✅ **Mozilla Firefox** (Manifest V2)
|
||||||
- Google Chrome (Manifest V3)
|
- ✅ **Google Chrome** (Manifest V3)
|
||||||
- Arc Browser, Microsoft Edge, Brave Browser, Opera
|
- ✅ **Arc Browser, Microsoft Edge, Brave Browser, Opera**
|
||||||
- Any Chromium-based browser
|
- ✅ **Any Chromium-based browser**
|
||||||
|
|
||||||
## Features
|
## Key Features
|
||||||
🎯 Anti-detection bypass for Twitter/X, LinkedIn, Facebook
|
🎯 **Anti-detection bypass** for Twitter/X, LinkedIn, Facebook
|
||||||
📱 Smart automation and page analysis
|
📱 **Smart automation** and intelligent page analysis
|
||||||
🔧 Form filling with enhanced compatibility
|
🔧 **Form filling** with enhanced compatibility
|
||||||
📊 Multi-tab workflows and background operations
|
📊 **Multi-tab workflows** and background operations
|
||||||
🎨 Page styling and visual customization
|
🎨 **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
|
EOF
|
||||||
|
|
||||||
# Verify structure before zipping
|
# Verify structure before zipping
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "OpenDia",
|
"name": "OpenDia",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "Connect your browser to AI models",
|
"description": "Connect your browser to AI models",
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icons/icon-16.png",
|
"16": "icons/icon-16.png",
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "OpenDia",
|
"name": "OpenDia",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "Connect your browser to AI models",
|
"description": "Connect your browser to AI models",
|
||||||
"applications": {
|
"applications": {
|
||||||
"gecko": {
|
"gecko": {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "OpenDia",
|
"name": "OpenDia",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "Connect your browser to AI models",
|
"description": "Connect your browser to AI models",
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icon-16.png",
|
"16": "icon-16.png",
|
||||||
|
|||||||
4
opendia-extension/package-lock.json
generated
4
opendia-extension/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "opendia-extension",
|
"name": "opendia-extension",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "opendia-extension",
|
"name": "opendia-extension",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"webextension-polyfill": "^0.12.0"
|
"webextension-polyfill": "^0.12.0"
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "opendia-extension",
|
"name": "opendia-extension",
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"description": "Connect your browser to AI models",
|
"description": "Connect your browser to AI models",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node build.js",
|
"build": "node build.js",
|
||||||
|
|||||||
@ -358,7 +358,7 @@ async function getTabContentScriptStatus(tabId) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const response = await new Promise((resolve, reject) => {
|
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) => {
|
browser.tabs.sendMessage(tabId, { action: 'ping' }, (response) => {
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
resolve(response);
|
resolve(response);
|
||||||
@ -382,12 +382,12 @@ function getAvailableTools() {
|
|||||||
/*
|
/*
|
||||||
🎯 BACKGROUND TAB WORKFLOW GUIDE:
|
🎯 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
|
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
|
3. MULTI-TAB OPERATIONS: Process multiple tabs without switching between them
|
||||||
|
|
||||||
Example Multi-Tab Workflow:
|
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_analyze({intent_hint: "article", tab_id: 12345}) → Analyze background research tab
|
||||||
- page_extract_content({content_type: "article", tab_id: 12345}) → Extract content without switching
|
- 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
|
- get_selected_text({tab_id: 67890}) → Get quotes from another background tab
|
||||||
@ -689,8 +689,8 @@ function getAvailableTools() {
|
|||||||
inputSchema: {
|
inputSchema: {
|
||||||
type: "object",
|
type: "object",
|
||||||
examples: [
|
examples: [
|
||||||
{ check_content_script: true }, // RECOMMENDED: Check which tabs are ready for background operations
|
{ check_content_script: false }, // RECOMMENDED: Default false to avoid timeouts
|
||||||
{ current_window_only: false, check_content_script: true } // Check all tabs across windows
|
{ current_window_only: false, check_content_script: false } // Get all tabs across windows
|
||||||
],
|
],
|
||||||
properties: {
|
properties: {
|
||||||
current_window_only: {
|
current_window_only: {
|
||||||
|
|||||||
4
opendia-mcp/package-lock.json
generated
4
opendia-mcp/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "opendia",
|
"name": "opendia",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "opendia",
|
"name": "opendia",
|
||||||
"version": "1.0.5",
|
"version": "1.0.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "opendia",
|
"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",
|
"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",
|
"main": "server.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user