A native macOS intelligent browser with AI-powered features, built with Swift 6.0 and SwiftUI.
- Split-Screen Browsing - Web browser with integrated AI chat panel
- AI Chat - Powered by Google Gemini and Anthropic Claude
- GenTabs - AI-generated interactive content (card grids, maps, 3D views)
- Dark Mode - Full support for macOS light and dark themes
- Menu Bar Access - Quick AI access via Cmd+Shift+K
- Native Performance - Built with Swift and WebKit for optimal macOS experience
| Empty State | Browser with Chat | GenTabs |
|---|---|---|
| Beautiful onboarding | Split-screen layout | AI-generated content |
- macOS 14.0 (Sonoma) or later
- Xcode 15+ (for development)
- Swift 5.9+
# Clone the repository
git clone https://github.com/yourusername/Canvas.git
cd Canvas
# Build and run (with tests)
./bundle_and_run.sh
# Or manually
swift test && swift build
open CanvasBrowser.app# Skip tests for faster iteration
./bundle_and_run.sh --skip-tests
# Build only (don't launch)
./bundle_and_run.sh --no-launch
# Release build
./bundle_and_run.sh --release- Open Canvas Browser
- Go to Settings (Cmd+,) > AI Features
- Choose your AI provider:
- Enter your API key and select a model
Canvas/
├── CanvasBrowser/ # Main app source
│ ├── App/ # App lifecycle & state
│ ├── Models/ # Data structures
│ ├── Views/ # SwiftUI views
│ ├── Services/ # AI & web services
│ └── Persistence/ # CoreData storage
├── Tests/ # Unit tests
├── Package.swift # SPM configuration
└── bundle_and_run.sh # Build script
| Action | Shortcut |
|---|---|
| New Tab | Cmd+T |
| Close Tab | Cmd+W |
| Toggle AI Menu | Cmd+Shift+K |
| Reload Page | Cmd+R |
| Settings | Cmd+, |
swift testSee claude.md for detailed architecture documentation and coding standards.
The project includes GitHub Actions workflows for:
- Automated testing on pull requests
- Release builds on main branch pushes
- DMG artifact generation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Run tests (
swift test) - Commit your changes
- Push to the branch
- Open a Pull Request
- Block ads like brave
- Support for safari extensions
- Bug Fixes
- Move from personal to org repo
- Support for in-browser MAW
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Swift and SwiftUI
- AI powered by Google Gemini and Anthropic Claude
- WebKit for browser rendering