An AI-Workspace with a built-in web browser for macOS
Browse the web and chat with AI in one unified, beautiful interface.
Slate is an open-sourced AI-Workspace with a built-in Browser.
Most browsers bolt AI on as an afterthought to a browser. Slate follows an opposite approach, where it's an AI-assistant first and browser is an extension to that.
How it works:
- Ask AI about "best road running shoes for men"
- AI searches and synthesizes results
- Open interesting sources in the same session
- Continue asking follow-ups with full context
Chat, browse, research—all in one place.
Features
AI as a First-Class Citizen
- 4 AI providers — Anthropic Claude, OpenAI, Google Gemini, and local models via Ollama
- Real-time streaming with live markdown rendering as responses arrive
- Web search — Claude and Gemini can search the web and cite sources inline
- Branch conversations — fork any message into a new tab to explore different directions
- Per-tab AI context — each tab maintains its own independent conversation history
Full Web Browsing
- Built on WebKit — standards-compliant, fast, and power-efficient
- Find in page, download manager, audio detection
- Content blocking — ads and trackers blocked out of the box
- Site security info — SSL details for every page
- Seamless tab switching between AI chat and web pages
Sessions & Tab Management
- Sessions group related tabs into focused workspaces
- Specialized tab types: Chat, Shopping, Research, News, Travel, Science, Image Search
- Sidebar with drag-and-drop reordering, search, favorites, and pinned sessions
- Auto-archive — inactive sessions fade to the archive, pinned and favorite sessions stay put
- Restore any archived session instantly
Beautiful, Minimal UI
- Glass morphism design — ultra-thin materials and gradient backgrounds
- 9 built-in color themes
- Lottie-animated typing indicators
- Fully keyboard-driven — Cmd+T for new sessions, native macOS shortcuts throughout
Everything Else
- Secure API key storage via Keychain
- Auto-updates powered by GitHub Releases
- Multi-step onboarding wizard
- Can be set as your default browser
Getting Started
Requirements
- macOS 15.2 or later
- Xcode 16 or later
- An API key for at least one supported AI provider
Build from Source
git clone https://github.com/your-username/slate.git
cd slate
open slate.xcodeprojPress ⌘+R in Xcode to build and run.
Adding AI Keys
Open Settings → AI Models inside the app and enter your API keys. They are stored securely in the system Keychain — never on disk or in the cloud.
| Provider | Where to get a key |
|---|---|
| Anthropic Claude | console.anthropic.com |
| OpenAI | platform.openai.com |
| Google Gemini | aistudio.google.com |
| Ollama | ollama.com (runs locally, no key needed) |
Architecture
Slate is a native SwiftUI app structured around three layers:
slate/
├── Views/ # SwiftUI views and components
│ └── Supporting/ # Reusable sub-components
├── Models/ # SwiftData models, configuration, state managers
├── Integrations/ # AI provider clients, WebKit integration, auto-update
└── Extensions/ # Swift extensions
Key Technologies
- SwiftUI + SwiftData for the UI and persistence layer
- WebKit for web browsing
- Combine for reactive state
- MarkdownUI for rich markdown rendering
- DotLottie for animations
- Swift Algorithms for collection utilities
Data Model
Session→ has manyTabsTab→ has oneAI(for chat tabs) or a URL (for web tabs)AI→ has manyChatMessages (cascade deleted)
See CLAUDE.md for a deeper architectural walkthrough.
Contributing
Contributions are welcome. To get started:
- Fork the repo and create a branch from
main - Make your changes — keep them focused and minimal
- Open a pull request with a clear description of the problem and solution
Please open an issue first for significant changes so we can align on direction before you invest the time.
Development Commands
| Action | Shortcut |
|---|---|
| Build | ⌘+B |
| Run | ⌘+R |
| Test | ⌘+U |
| Clean | ⌘+Shift+K |
Tests live in slateTests/ and use Swift Testing.

