- Chat with multiple AIs simultaneously: You can converse and compare on multiple AI platforms at the same time, gaining a comprehensive understanding of information and experiencing the strengths and weaknesses of models.
- Convenient input: You can quickly send messages to multiple websites through PolyQuery's functionality, just enter keywords.
- No ads: Completely open source, no ads
- Free: No payment required, all features are free, simultaneous conversations with multiple models are based on official websites, no API required.
- Cross-platform: Supports Windows, macOS, Linux platforms, no additional installation required
- Out of the box: No configuration required, install directly via installer and run
- One-click multi-send: Send the same question to multiple websites simultaneously
- Parallel comparison: View results from multiple websites simultaneously for easy comparison
- Quick input: Supports global shortcut Ctrl+Shift+space to open small window for quick input
- Custom websites: Freely expand the website list
- Website management: Supports adding, deleting, sorting, categorizing websites
- Drag-and-drop sorting: Supports drag-and-drop to rearrange website order
- Configuration persistence: Automatically saves user configuration and preferences
- Native desktop application based on Electron
- System tray support, minimize to tray
- Auto-update functionality
- Cross-platform support (Windows/macOS/Linux)
- Launch app: Run
npm run startor run the installed app directly - Add AI website: Click the "+" button in the sidebar to add a new AI platform
- Activate website: Double-click items in the website list to add/remove active websites
- Send message: Enter questions in the bottom input box, press Enter or click send button to sync to all active websites
- Toggle sidebar: Click the "<" or ">" button in the top left to collapse/expand sidebar
- Quick input: Press Ctrl+Shift+space to open small input window
- Toggle input box: Click the ">" button below to collapse/expand text input box
- Maximize webpage: Click the "⛶" button in the top right of the webpage to maximize
Download the latest installer and install:
- Node.js 16+
- npm or yarn or pnpm
- Clone project
git clone https://github.com/shenlan-ai/PolyQuery.git
cd polyquery- Install dependencies
npm install- Run in development mode
npm run dev- Build application
# Build and package
npm run build
# Build only without packaging
npm run build:electron
# Platform-specific builds
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # Linux- Frontend: Vue 3 + TypeScript + Vite
- Desktop: Electron + Electron Forge
- Build: Vite + Rollup
- Styling: Vue scoped CSS + custom design system
PolyQuery/
├── electron/ # Electron main process code
│ ├── config.ts # Application configuration management
│ ├── electron-env.d.ts # Electron type definitions
│ ├── llm_conversation.ts # LLM conversation logic
│ ├── main.ts # Electron main process entry
│ ├── preload.ts # Preload script, exposes secure API
│ ├── prompt_optimizer.ts # Prompt optimizer
│ └── website_data.ts # Website data and configuration
├── src/ # Vue application source code
│ ├── assets/ # Static resources
│ │ └── sendIcon.svg # Send icon
│ ├── components/ # Vue components
│ │ ├── webviews.vue # WebView container component
│ │ └── websitelist.vue # Website list component
│ ├── types/ # TypeScript type definitions
│ │ └── website.ts # Website configuration types
│ ├── App.vue # Main application component
│ ├── main.ts # Vue application entry
│ ├── smallwin.ts # Small window logic
│ ├── Smallwin.vue # Small window component
│ ├── style.css # Global styles
│ └── vite-env.d.ts # Vite environment type definitions
├── public/ # Public static resources
│ ├── icon.icns # macOS application icon
│ └── icon.ico # Windows application icon
├── pictures_in_README/ # Image resources used in README
├── .gitignore # Git ignore configuration
├── dev-app-update.yml # Development auto-update config
├── electron-builder.yml # Electron Builder config
├── forge.config.cjs # Electron Forge config
├── index.html # Main page HTML template
├── js.md # JavaScript documentation
├── package.json # Project dependencies and scripts
├── package-lock.json # Lock dependency versions
├── README.md # Project documentation
├── smallwin.html # Small window HTML template
├── tsconfig.json # TypeScript config
├── tsconfig.node.json # Node.js TypeScript config
└── vite.config.ts # Vite build config
- Embed multiple websites using Electron's
<webview>tag - Each WebView runs independently, supporting different JavaScript environments
- Automatic script injection for cross-domain input and sending
- Define specific CSS selectors for each AI platform
- Supports multiple input types: textarea, input, contenteditable div
- Use electron-store for local configuration storage
- Supports website lists, active websites, user preferences, etc.
- Auto-save on exit, auto-restore on startup
- Install dependencies
npm install- Start development server
npm run dev- Start Electron app
npm run start# Start app (dev mode)
npm run start
# Create unpacked app directory
npm run package
# Create distributable version
npm run make
# Build only without packaging
npm run build:electron
# Production build
npm run build
# Create unpacked directory (electron-builder)
npm run build:unpack
# Publish to different platforms
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # LinuxA: Different websites may change their DOM structure, causing selectors to fail. Please check if the website has been updated and adjust the text input selector accordingly.
A: Use the "+" button in the sidebar to add custom websites, you need to provide the correct URL and CSS selector.
A: Configuration files are stored in the user data directory, you can manually copy the electron-store storage files.
- Develop self-written script functionality
- Enable AI on websites to support external MCP via crawlers
- Add file upload script
- Implement CLI version of PolyQuery based on crawlers
Welcome to submit Issues and Pull Requests!
This project uses the MIT License - see LICENSE file for details
- Electron - Desktop application framework
- Vue.js - Frontend framework
- Vite - Build tool
- Icons8 - Icon resources
- All supported AI platform providers
Thanks to the following excellent contributors:
Important reminder: This project is for learning, academic research, and educational purposes only
-
Compliance statement:
- All code, tools, and functions in this project are for learning, academic research, and educational purposes only
- Strictly prohibited for any commercial use or profit-making activities
- Strictly prohibited for any illegal, irregular, or infringing behavior
-
Technical disclaimer:
- The author is not responsible for any direct or indirect losses caused by using this project
- Users should evaluate the applicability and risks of the project themselves
-
Liability limitation:
- Users should fully understand relevant laws and regulations before using this project
- Users should ensure their usage complies with local laws and regulations
- Users bear all consequences of using this project in violation of laws and regulations
Please read and understand the above disclaimer carefully before using this project. Using this project means you agree to and accept all the above terms.