A local-first workspace for documents, tasks and meetings on macOS — nested spaces, typed properties, relations and saved views, with transcription, Smart Minutes and an agent running entirely on-device via MLX on Apple Silicon
168
stars
389
commits
Swift
primary language
Sep 4, 2026
updated
A local-first workspace for documents, tasks and meetings on macOS.
Nested spaces, typed properties, relations and saved views — with on-device transcription, Smart Minutes and an agent across all of it. Nothing leaves your Mac.
Download for macOS • Build from Source • Contributing • Request a feature
Logue is a workspace. Nested spaces, a block editor, typed properties on any document,
relations that compute their own inverses, [[wiki links]] with backlinks and a graph,
saved views with nested filter groups, and 55 templates. If you have used Notion or
Obsidian, you know the shape.
It also records your meetings — transcribing them, separating the speakers, writing the minutes, and turning what people committed to into tasks that live in the same workspace as everything else. And an agent runs across all of it, able to reach your documents, meetings, calendar, reminders and files, from the app, from a floating panel over whatever you are using, or from a Chrome extension.
All of it runs on-device via MLX on Apple Silicon — transcription, diarization,
summarization and the agent alike. The only network calls are model downloads, update
checks, and the opt-in features you explicitly enable (web search and external AI
providers). Documents are encrypted on disk, or you can keep them as plain .md files in
a folder you own and edit them in anything else.
This repository contains the full app source: the LLM engine, the recording pipeline, the agent and its tools, the editor, and the test suites. Bitwize builds Logue for people who want the full power of AI without handing over their work.
New here? Read CONTRIBUTING.md to get set up and learn the standards every pull request follows.
NSTextView with full SwiftUI integrationbelongs to, has, related to) that compute their own inverses, so declaring one side is enough[[Document Name]] to link documents; links show the target's real name, are clickable, survive renames, and every document lists what links back to it.md files in ~/Logue instead of encrypted storage, and edit them in any editor, track them in git, or point an agent at them. The folder is the storage, not a copy: edits, new files, renames, moves and deletions flow both ways, and folders map to spaces including nested ones. Off by default, and Logue explains the encryption you give up before turning it onSpeechTranscriber (macOS 26+), streaming audio directly with no buffering delaysSend the deck tomorrow #launch ! files itself: due date, tag and priority parsed out of the sentence| Ask Logue — the agent, its tools and its sources | Tasks, triaged out of a meeting |
|---|---|
![]() | ![]() |
| Meeting transcription + Ask Logue | Smart Minutes |
|---|---|
![]() | ![]() |
| AI writing editor with fact-checking | On-device PII detection |
|---|---|
![]() | ![]() |
| The Chrome extension — the same assistant, answered by the model on this Mac |
|---|
![]() |
Requirements: macOS 26.0 (Tahoe) or later on Apple Silicon (M1 or newer).
Logue-<version>.dmg from the Releases page.Browser extension (optional). Install Logue for Chrome to ask about the page you are on. It talks to the Logue app over your Mac's loopback address — the page never leaves your machine, and there is no account or server involved.
Updates are delivered in-app via Sparkle: Logue checks the GitHub-hosted feed on launch and prompts you to install new versions. Updating only replaces the app — your meetings, documents, and downloaded models are stored separately and are never touched. To update manually, download the newest DMG and drag it over the old app.
Prerequisites: macOS 26.0+ (Tahoe) on Apple Silicon, Xcode 26+ (it ships the macOS 26 SDK required by SpeechTranscriber), and XcodeGen.
1. Clone with submodules (vendored dependencies live under Vendor/):
git clone --recurse-submodules https://github.com/bitwize-ai/Logue.git
cd Logue
2. Download the Metal toolchain (one-time; required by MLX):
xcodebuild -downloadComponent MetalToolchain
3. Install tooling and generate the Xcode project:
brew install xcodegen swiftformat swiftlint
xcodegen generate
4. Build and run — open in Xcode and hit Run, or from the CLI:
# The signing flags let you build without an Apple Developer account.
xcodebuild build -project Logue.xcodeproj -scheme Logue -destination 'platform=macOS' \
CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
open Logue.xcodeproj
Already cloned without submodules? Run
git submodule update --init --recursive. Re-runxcodegen generatewhenever you add/remove.swiftfiles or editproject.yml.
Dev builds use ad-hoc signing with the sandbox off — no Apple Developer account
needed just to build and run. (In Xcode, if the build stops at signing, either
pick your team under Signing & Capabilities or use the CLI flags above.) Full linting and git-hook setup are in
docs/dev-setup.md.
Logue runs fully on-device out of the box — no keys or accounts are required to build, run, or use it. Everything below is optional and only relevant if you fork the project or cut your own signed releases. Nothing is hardcoded to secrets: all credentials are read from your own environment / GitHub Actions secrets.
Optional external AI providers. Alongside the on-device MLX models, you can add OpenAI-/Anthropic-compatible or OpenRouter/Ollama/LM Studio endpoints under Settings → Models. Keys are entered in-app and stored in your macOS Keychain — never in the repo.
Running your own signed builds / releases. To ship notarized builds under your own identity, set these as GitHub Actions repository secrets (the release workflow reads them — none are committed):
| Secret | Purpose |
|---|---|
APPLE_TEAM_ID | Apple Developer Team ID |
APPLE_CERTIFICATE_BASE64 / APPLE_CERTIFICATE_PASSWORD | "Developer ID Application" cert (base64 .p12 + password) |
APPLE_ID / APPLE_APP_PASSWORD | Apple ID + app-specific password for notarization |
SPARKLE_PRIVATE_KEY | EdDSA key that signs auto-update ZIPs |
For a signed fork you'll also want to change, in project.yml:
PRODUCT_BUNDLE_IDENTIFIER, default com.bitwize.logue);iCloud.com.bitwize.logue) in
Logue.entitlements — these are tied to your Apple
Developer account, so point them at a container you own if you want iCloud sync (or remove
them). The shipped release entitlements don't include iCloud, so signed release builds
aren't affected;SUFeedURL + SUPublicEDKey.Building and running unsigned dev builds needs none of the above. See
docs/dev-setup.md and
docs/SPARKLE_UPDATE_FLOW.md.
Logue/ — Main Swift source; SwiftUI + AppKit application target.Logue/Engine/ — LLM inference actor, prompt builders, and retry helpers. All AI logic lives here.Logue/Agent/ — Ask Logue: the agent graph, run state, routing, Deep Research, and the tools the agent can call.Logue/CrossApp/ — Everything outside the app window: the Command Center island, inline assistant, global shortcuts, and menu bar companion.Logue/Services/ — Recording pipeline, transcription, speaker diarization, encryption, document storage, the browser bridge, and scheduling services.Logue/Views/ — All SwiftUI views: the document workspace and block editor, meetings, Ask Logue, Tasks, Templates, Settings, and more.LogueTests/ — Swift Testing suites (@Suite, @Test), including real-inference LLM integration tests.Vendor/ — Vendored git submodule dependencies — no remote access required at build time.docs/ — Developer setup and release documentation.scripts/ — Release build script, Sparkle appcast updater, and export options plist.Contributions are welcome! Read CONTRIBUTING.md for setup and the security, concurrency, and SwiftLint standards enforced on every pull request. The full, always-current ruleset the project builds against lives in CLAUDE.md.
Found a bug or have an idea? Open an issue.
Have questions about using Logue? Check the FAQ on our site, or email us at support@bitwize.ai.
Logue is open source under the MIT License — © 2026 Bitwize.
Some vendored dependencies under Vendor/ are licensed separately (MIT, BSD,
Apache-2.0); see each package for details.
Swift
99.3%
A local-first workspace for documents, tasks and meetings on macOS — nested spaces, typed properties, relations and saved views, with transcription, Smart Minutes and an agent running entirely on-device via MLX on Apple Silicon
168
stars
389
commits
Swift
primary language
Sep 4, 2026
updated
A local-first workspace for documents, tasks and meetings on macOS.
Nested spaces, typed properties, relations and saved views — with on-device transcription, Smart Minutes and an agent across all of it. Nothing leaves your Mac.
Download for macOS • Build from Source • Contributing • Request a feature
Logue is a workspace. Nested spaces, a block editor, typed properties on any document,
relations that compute their own inverses, [[wiki links]] with backlinks and a graph,
saved views with nested filter groups, and 55 templates. If you have used Notion or
Obsidian, you know the shape.
It also records your meetings — transcribing them, separating the speakers, writing the minutes, and turning what people committed to into tasks that live in the same workspace as everything else. And an agent runs across all of it, able to reach your documents, meetings, calendar, reminders and files, from the app, from a floating panel over whatever you are using, or from a Chrome extension.
All of it runs on-device via MLX on Apple Silicon — transcription, diarization,
summarization and the agent alike. The only network calls are model downloads, update
checks, and the opt-in features you explicitly enable (web search and external AI
providers). Documents are encrypted on disk, or you can keep them as plain .md files in
a folder you own and edit them in anything else.
This repository contains the full app source: the LLM engine, the recording pipeline, the agent and its tools, the editor, and the test suites. Bitwize builds Logue for people who want the full power of AI without handing over their work.
New here? Read CONTRIBUTING.md to get set up and learn the standards every pull request follows.
NSTextView with full SwiftUI integrationbelongs to, has, related to) that compute their own inverses, so declaring one side is enough[[Document Name]] to link documents; links show the target's real name, are clickable, survive renames, and every document lists what links back to it.md files in ~/Logue instead of encrypted storage, and edit them in any editor, track them in git, or point an agent at them. The folder is the storage, not a copy: edits, new files, renames, moves and deletions flow both ways, and folders map to spaces including nested ones. Off by default, and Logue explains the encryption you give up before turning it onSpeechTranscriber (macOS 26+), streaming audio directly with no buffering delaysSend the deck tomorrow #launch ! files itself: due date, tag and priority parsed out of the sentence| Ask Logue — the agent, its tools and its sources | Tasks, triaged out of a meeting |
|---|---|
![]() | ![]() |
| Meeting transcription + Ask Logue | Smart Minutes |
|---|---|
![]() | ![]() |
| AI writing editor with fact-checking | On-device PII detection |
|---|---|
![]() | ![]() |
| The Chrome extension — the same assistant, answered by the model on this Mac |
|---|
![]() |
Requirements: macOS 26.0 (Tahoe) or later on Apple Silicon (M1 or newer).
Logue-<version>.dmg from the Releases page.Browser extension (optional). Install Logue for Chrome to ask about the page you are on. It talks to the Logue app over your Mac's loopback address — the page never leaves your machine, and there is no account or server involved.
Updates are delivered in-app via Sparkle: Logue checks the GitHub-hosted feed on launch and prompts you to install new versions. Updating only replaces the app — your meetings, documents, and downloaded models are stored separately and are never touched. To update manually, download the newest DMG and drag it over the old app.
Prerequisites: macOS 26.0+ (Tahoe) on Apple Silicon, Xcode 26+ (it ships the macOS 26 SDK required by SpeechTranscriber), and XcodeGen.
1. Clone with submodules (vendored dependencies live under Vendor/):
git clone --recurse-submodules https://github.com/bitwize-ai/Logue.git
cd Logue
2. Download the Metal toolchain (one-time; required by MLX):
xcodebuild -downloadComponent MetalToolchain
3. Install tooling and generate the Xcode project:
brew install xcodegen swiftformat swiftlint
xcodegen generate
4. Build and run — open in Xcode and hit Run, or from the CLI:
# The signing flags let you build without an Apple Developer account.
xcodebuild build -project Logue.xcodeproj -scheme Logue -destination 'platform=macOS' \
CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
open Logue.xcodeproj
Already cloned without submodules? Run
git submodule update --init --recursive. Re-runxcodegen generatewhenever you add/remove.swiftfiles or editproject.yml.
Dev builds use ad-hoc signing with the sandbox off — no Apple Developer account
needed just to build and run. (In Xcode, if the build stops at signing, either
pick your team under Signing & Capabilities or use the CLI flags above.) Full linting and git-hook setup are in
docs/dev-setup.md.
Logue runs fully on-device out of the box — no keys or accounts are required to build, run, or use it. Everything below is optional and only relevant if you fork the project or cut your own signed releases. Nothing is hardcoded to secrets: all credentials are read from your own environment / GitHub Actions secrets.
Optional external AI providers. Alongside the on-device MLX models, you can add OpenAI-/Anthropic-compatible or OpenRouter/Ollama/LM Studio endpoints under Settings → Models. Keys are entered in-app and stored in your macOS Keychain — never in the repo.
Running your own signed builds / releases. To ship notarized builds under your own identity, set these as GitHub Actions repository secrets (the release workflow reads them — none are committed):
| Secret | Purpose |
|---|---|
APPLE_TEAM_ID | Apple Developer Team ID |
APPLE_CERTIFICATE_BASE64 / APPLE_CERTIFICATE_PASSWORD | "Developer ID Application" cert (base64 .p12 + password) |
APPLE_ID / APPLE_APP_PASSWORD | Apple ID + app-specific password for notarization |
SPARKLE_PRIVATE_KEY | EdDSA key that signs auto-update ZIPs |
For a signed fork you'll also want to change, in project.yml:
PRODUCT_BUNDLE_IDENTIFIER, default com.bitwize.logue);iCloud.com.bitwize.logue) in
Logue.entitlements — these are tied to your Apple
Developer account, so point them at a container you own if you want iCloud sync (or remove
them). The shipped release entitlements don't include iCloud, so signed release builds
aren't affected;SUFeedURL + SUPublicEDKey.Building and running unsigned dev builds needs none of the above. See
docs/dev-setup.md and
docs/SPARKLE_UPDATE_FLOW.md.
Logue/ — Main Swift source; SwiftUI + AppKit application target.Logue/Engine/ — LLM inference actor, prompt builders, and retry helpers. All AI logic lives here.Logue/Agent/ — Ask Logue: the agent graph, run state, routing, Deep Research, and the tools the agent can call.Logue/CrossApp/ — Everything outside the app window: the Command Center island, inline assistant, global shortcuts, and menu bar companion.Logue/Services/ — Recording pipeline, transcription, speaker diarization, encryption, document storage, the browser bridge, and scheduling services.Logue/Views/ — All SwiftUI views: the document workspace and block editor, meetings, Ask Logue, Tasks, Templates, Settings, and more.LogueTests/ — Swift Testing suites (@Suite, @Test), including real-inference LLM integration tests.Vendor/ — Vendored git submodule dependencies — no remote access required at build time.docs/ — Developer setup and release documentation.scripts/ — Release build script, Sparkle appcast updater, and export options plist.Contributions are welcome! Read CONTRIBUTING.md for setup and the security, concurrency, and SwiftLint standards enforced on every pull request. The full, always-current ruleset the project builds against lives in CLAUDE.md.
Found a bug or have an idea? Open an issue.
Have questions about using Logue? Check the FAQ on our site, or email us at support@bitwize.ai.
Logue is open source under the MIT License — © 2026 Bitwize.
Some vendored dependencies under Vendor/ are licensed separately (MIT, BSD,
Apache-2.0); see each package for details.
Swift
99.3%