Skip to content

Albert-Jokelin/Canvas-Browser

Canvas Browser

A native macOS intelligent browser with AI-powered features, built with Swift 6.0 and SwiftUI.

macOS 14+ Swift 5.9+ License

Features

  • 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

Screenshots

Empty State Browser with Chat GenTabs
Beautiful onboarding Split-screen layout AI-generated content

Requirements

  • macOS 14.0 (Sonoma) or later
  • Xcode 15+ (for development)
  • Swift 5.9+

Quick Start

Build & Run

# 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

Build Options

# 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

Configuration

AI Setup

  1. Open Canvas Browser
  2. Go to Settings (Cmd+,) > AI Features
  3. Choose your AI provider:
  4. Enter your API key and select a model

Architecture

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

Keyboard Shortcuts

Action Shortcut
New Tab Cmd+T
Close Tab Cmd+W
Toggle AI Menu Cmd+Shift+K
Reload Page Cmd+R
Settings Cmd+,

Development

Running Tests

swift test

Project Structure

See claude.md for detailed architecture documentation and coding standards.

CI/CD

The project includes GitHub Actions workflows for:

  • Automated testing on pull requests
  • Release builds on main branch pushes
  • DMG artifact generation

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Run tests (swift test)
  4. Commit your changes
  5. Push to the branch
  6. Open a Pull Request

TODO

  • Block ads like brave
  • Support for safari extensions
  • Bug Fixes
  • Move from personal to org repo
  • Support for in-browser MAW

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

The Open-Source Agentic Browser. Turn your tabs into tools.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors