An Electron-based AI assistant application that can record system audio and microphone, transcribe audio in real-time, and provide intelligent assistance through a modern glassmorphism interface.
- Real-time Audio Transcription: Records system audio and microphone with AI-powered transcription
- Multi-window Architecture: Supports multiple windows for enhanced workflow
- Modern Glass UI: Enhanced with glassmorphism effects using liquid-glass-react
- Dark Theme: Fumadocs-inspired dark theme with glass overlays
- AI Assistant: Integrated AI capabilities for intelligent conversation
- Gemini Live API Integration: Real-time AI communication with Google's Gemini Live API
# Clone the repository
git clone https://github.com/wysRocket/dao-copilot.git
cd dao-copilot
# Install dependencies
npm install
# Start the application
npm run start# Build for current platform
npm run build
# Clean previous builds
npm run clean
# Run tests before building
npm run prebuild| Command | Description |
|---|---|
npm start |
Start the development application |
npm run build |
Build the application for production |
npm run build:all |
Build for all platforms |
npm test |
Run unit tests |
npm run test:e2e |
Run end-to-end tests |
npm run test:all |
Run all tests |
npm run lint |
Run ESLint |
npm run format |
Check code formatting |
npm run format:write |
Fix code formatting |
npm run clean |
Clean build artifacts |
# Patch release (1.0.0 -> 1.0.1)
npm run release
# Minor release (1.0.0 -> 1.1.0)
npm run release:minor
# Major release (1.0.0 -> 2.0.0)
npm run release:majorThis project includes comprehensive GitHub Actions workflows:
- Runs on every push and pull request
- Executes linting, formatting checks, and tests
- Security audit and CodeQL analysis
- Uploads test results as artifacts
- Triggered by version tags or manual dispatch
- Cross-platform builds (Windows, macOS, Linux)
- Automatic GitHub releases
- Build artifact uploads
- Publishes to npm and GitHub Packages
- Triggered by releases or manual dispatch
- Documentation deployment to GitHub Pages
- Release asset management
- Auto-updates release descriptions
- Version Bump: Update version in
package.json - Auto-tagging: Automatic git tag creation
- Cross-platform Build: Windows, macOS, Linux binaries
- Release Creation: Automated GitHub releases
- Asset Upload: Distribution files attached to releases
The application includes comprehensive integration with Google's Gemini Live API for real-time AI interactions:
- Multi-Authentication Support: API key, service account, and default authentication
- Real-time Processing: Live audio streaming and processing capabilities
- TypeScript Support: Full type safety and IntelliSense support
- Comprehensive Testing: Automated test suites for validation
- Production Ready: Error handling, retry logic, and monitoring
- Get your API key from Google AI Studio
- Add to your
.envfile:GEMINI_API_KEY=your_api_key_here
- Run the test to verify setup:
node simple-api-test.mjs
- Complete Setup Guide - Detailed installation and configuration
- Quick Reference - Common code patterns and usage
- Implementation Changelog - Development history and progress
import {initializeGCPSDK, getGCPSDK} from '@/services/gcp-sdk-manager'
// Initialize SDK
await initializeGCPSDK()
// Generate text
const sdk = getGCPSDK()
const response = await sdk.genAI.models.generateContent({
model: 'gemini-2.5-flash',
contents: [{parts: [{text: 'Hello, world!'}]}]
})This application features a modern glassmorphism design system powered by liquid-glass-react, providing:
- Glass Effects: Blurred backgrounds with transparency for depth
- Dark Theme: Professional dark color scheme with glass overlays
- Visual Hierarchy: Layered glass components for improved UX
- Performance Optimized: Efficient rendering of glass effects
The application includes several glass-enhanced components:
TestGlassComponent: Demonstration component showing glass effects- Enhanced UI components with liquid-glass styling
- Consistent glassmorphism theme throughout the application
Create a .env file in the project root:
# Google AI/Gemini API
GEMINI_API_KEY=your_gemini_api_key_here
GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account.json
# Development
NODE_ENV=development
ELECTRON_IS_DEV=1The Vite configuration has been updated to include liquid-glass-react in optimized dependencies:
// vite.renderer.config.mts
optimizeDeps: {
include: ['liquid-glass-react', '@google-cloud/speech', '@google/genai'],
}# Build for current platform
npm run build
# Build for specific platform
npm run make -- --platform=win32
npm run make -- --platform=darwin
npm run make -- --platform=linux- Version Bump: Update version in
package.json - Push Changes:
git push origin main - Create Release: GitHub Actions automatically builds and releases
- Download: Releases available on GitHub Releases page
| Platform | File Types | Description |
|---|---|---|
| Windows | .exe |
Windows installer |
| macOS | .dmg |
macOS disk image |
| Linux | .AppImage, .deb, .snap |
Linux packages |
- Electron: Cross-platform desktop app framework
- React: UI library with TypeScript
- Vite: Build tool and development server
- Tailwind CSS: Utility-first CSS framework
- liquid-glass-react (v1.1.1): Provides glassmorphism effects and components
# Run all tests
npm run test:all
# Run unit tests only
npm run test:unit
# Run E2E tests only
npm run test:e2e
# Watch mode for development
npm run test:watchThe application follows a multi-window Electron architecture with:
- Main process for system-level operations
- Renderer processes for UI with React
- IPC communication between processes
- Glass UI layer for enhanced visual experience
- Ensure
liquid-glass-reactis properly installed - Check that components are wrapped with appropriate glass containers
- Verify CSS backdrop-filter support in your environment
- Run
npm installto ensure all dependencies are installed - Check that Vite configuration includes liquid-glass-react optimization
- Clear node_modules and reinstall if issues persist
- Verify GitHub secrets are configured (GITHUB_TOKEN is automatic)
- Check workflow files for syntax errors
- Ensure branch protection rules allow workflow runs
- Documentation: Check the
/docsfolder for detailed guides - Issues: Open an issue on GitHub
- Discussions: Use GitHub Discussions for questions and ideas
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes with glass UI enhancements
- Write tests for your changes
- Run the full test suite:
npm run test:all - Submit a pull request
- Follow the existing code style (ESLint + Prettier)
- Write tests for new features
- Update documentation as needed
- Use conventional commits for commit messages
[Add your license information here]
- liquid-glass-react: For the beautiful glassmorphism effects
- Google Cloud: For AI and speech processing APIs
- Electron Team: For the excellent desktop app framework
- React Team: For the powerful UI library