📦nook-browser / Nook
← 返回首页
A new browser, not owned by Atlassian.
⚖️ GPL-3.0📅 创建于 2025-08-01🔄 更新于 2026-10-29
🔗 GitHub Swift

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有
Nook Logo

Nook

A fast, minimal browser with a sidebar-first design for macOS.

macOS 15.5+ Swift GPL-3.0 Open pull requests Open issues Contributors

Latest release

Download for macOS

Status: Development started back up in September 2026 under a new maintainer. See Releases for the current download.

Features

  • Sidebar-first navigation – vertical tabs that feel natural and uncluttered.
  • Performance – optimized with modern macOS APIs for speed and low memory use.
  • Minimal, modern UI – focused on content, not chrome.

Nook screenshot

Getting Started

Download

Download for macOS

or, Build from Source

Prerequisites

  • macOS 15.6 (Sequoia) or later, Apple Silicon. Xcode 26 needs 15.6; the built app runs on 15.5 and later
  • On-device AI chat and Tab Organizer require macOS 26 or later with Apple Intelligence enabled
  • Xcode 26 or later

git clone https://github.com/nook-browser/Nook.git
cd Nook
open Nook.xcodeproj

Nook builds for Apple Silicon only: the on-device tab organizer depends on MLX, which has no x86_64 slice. Xcode resolves the Swift packages on open.

You’ll need to set your personal Development Team in Signing to build locally.

Project Structure

Nook/
├── App/                       # Entry point, AppDelegate, window scene, menu commands
├── Packages/                  # Local Swift packages shared with the planned iOS port
│   ├── NookTabsCore/          # Tab tree model: spaces, items, ordering, on-disk store
│   ├── NookSettings/          # Settings service and every persisted value type
│   ├── NookDesign/            # Design tokens: radii, spacing, type, motion, surfaces
│   ├── NookBlocker/           # Content blocker: filter lists, adblock-rust conversion, cosmetic engine
│   ├── NookTweaks/            # Site tweaks: YouTube, Facebook, social downloads, SponsorBlock, routing
│   ├── NookWeb/               # Tabs controller, page sessions, windows, history, favicons, search
│   └── NookUI/                # Shared SwiftUI: rows, context menus, spaces list, toasts, settings tabs
├── Nook/
│   ├── Managers/              # Feature managers (macOS side)
│   │   ├── BrowserManager/    # Central coordinator; conforms to the package seams
│   │   ├── ExtensionManager/  # WKWebExtension support
│   │   ├── AIManager/         # AI chat providers, MCP client, browser tools
│   │   ├── DevMCPServer/      # Local MCP server for driving the app from a coding agent
│   │   ├── TabOrganizerManager/ # On-device LLM tab grouping (MLX)
│   │   ├── WebViewCoordinator/  # Web view pool for multi-window display
│   │   ├── DownloadManager/   # File downloads
│   │   ├── DialogManager/     # Modal dialogs
│   │   ├── PeekManager/       # Quick preview overlay
│   │   ├── SplitViewManager/  # Split-screen tab viewing
│   │   └── ...
│   ├── Models/                # macOS-only models and SwiftData entities
│   ├── Components/            # SwiftUI views: sidebar, website view, settings, drag and drop, dialogs
│   ├── Browser/               # macOS-only slice of the tab controller
│   ├── Utils/                 # WebKit helpers and utilities
│   └── ThirdParty/            # adblock-rust FFI crate and other embedded dependencies
├── CommandPalette/            # Command palette UI
├── Navigation/                # Sidebar structure: header, bottom bar, spaces list
├── Onboarding/                # First-run flow
├── Settings/                  # SwiftUI environment glue for the settings service
├── UI/                        # Shared buttons and controls
├── docs/                      # Architecture notes, design specs, implementation plans
├── scripts/                   # Filter list refresh, used in CI
└── assets/                    # Static assets

Architecture Overview

Nook follows a manager-based architecture where: - Managers handle business logic and coordinate between different parts of the app - Models represent data and state using Swift's @Observable macro - Components are SwiftUI views that reactively update based on model changes - BrowserManager acts as the central coordinator, connecting all managers together - Packages hold the model, blocker, tweak and shared view code that has no AppKit dependency, so it can be reused by an iOS app


## Star History Star History Chart

LICENSES

With the exception of third-party libraries in Nook/ThirdParty, all code is under the GPL 3.0 License. The relevant third-party code is licensed per-folder under a variety of free, open-source software licenses.

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR