Skip to content
stevyhackerPublic

About

A local LLM workhorse that keeps a memory of your workday. On-device meeting notes, dictation, autocomplete, and recall for macOS. GPLv3.

Topics

Resources

Security policy

Stars

53 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,134 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LokalBot icon

LokalBot

Find what you said or saw on your Mac.

Private meeting notes, workday recall, dictation, and autocomplete—with AI that runs on your Mac.
Free and open source. No account. Nothing joins your calls.

Download LokalBot for macOS

Apple Silicon (M1 or later) · macOS 15+ · or brew install --cask stevyhacker/tap/lokalbot

Latest release Downloads License: GPLv3 MCP: read-only server

Features · Compare · Privacy · Get started · Models · Agents & CLI · Website

A LokalBot meeting summary behind Quick Recall, where one search returns screen text you saw and meeting transcripts of what was said

Real app captures with fictional demo data.

lokalbot-readme-demo.mp4
45 seconds: why LokalBot keeps what you heard and saw, which local models do the work, then the real app in use. Fictional demo data.

Features

Remember what was agreed

Record microphone and meeting-app audio without a bot joining. Get local transcripts, recaps, decisions, and action items, with citations back to the discussion.

Meeting workspace with a recap, decisions, action items, source citations, and audio playback

Find something you saw

One search across your meeting transcripts and, if you turn it on, what you saw on screen. Search by keyword or by meaning, then open the matching passage or screen moment instead of hunting through apps.

Quick Recall finding a delivery checklist seen in Pages and three meetings where captions came up

Pick up where you left off

Today brings your day digest and open meeting actions together. Timeline groups captured activity into work sessions, with the underlying context available to inspect. Correct actions, mark them done, and trace each one to its source.

Today showing the day digest and outstanding meeting actions Timeline showing work sessions, meetings, and access to captured context
Today: your digest and open actions Timeline: work sessions and their context

Talk instead of typing. Finish the sentence.

Turn on Dictation in Settings → Dictation, then hold ⌥ Space (or a shortcut you choose there), speak, and release to insert text at your cursor in any app. Turn on local Autocomplete in Settings → Writing for suggestions as you type: press Tab to accept, or keep typing. Transcription and suggestions run on your Mac, and you can rehearse Autocomplete in the app before using it everywhere.

Settings → Writing showing Autocomplete readiness and a local suggestion preview you can rehearse

And more

Ask, then check the source Follow through Bring your own agent
Ask about your meeting library and follow the answer's citations back to the transcript or audio. Generated notes are a starting point, not a substitute for the discussion. Export notes, or prepare local follow-up drafts, daily briefs, and weekly work logs in a folder you choose. You review and send them yourself. Give Claude Code or any MCP client read-only access to your meeting library through the bundled lokalbot-cli. It stays off until you enable it.

Screenshots are unedited captures of the native app with fictional demo data. They show the interface, not a live inference benchmark. Click an image for full resolution; see the capture notes for provenance.

How it compares

Coming from… What's different with LokalBot
Granola The same bot-free capture, but transcription and summaries run on your Mac by default. No account and no subscription.
Apple Notes Notes records your microphone, so with headphones on it misses the other side of a Zoom or Teams call. LokalBot records both sides and keeps every meeting searchable, with notes that cite the discussion.
Otter · Fireflies Nothing joins your call, audio stays on your Mac, and there are no minute caps.
Hyprnote (anarlog) Local AI ships built in, with no separate model runner or API keys to set up. Dictation, a day timeline, and autocomplete come in the same app.
Meetily Both are open source and run locally. Speaker separation, meeting detection, and MCP access are free here rather than Pro features, and dictation, a day timeline, and autocomplete come in the same app.
Screenpipe Starts with app and window activity. Screen text and screenshots are opt-in and deleted after 14 days by default. GPLv3 rather than source-available.
Rewind Rewind's Mac app is discontinued. LokalBot's timeline is open source and actively developed.
MacWhisper · Superwhisper Dictation comes alongside meeting notes, recall, and autocomplete, for free. For transcribing files you already have, MacWhisper is the better tool.
Wispr Flow Dictation and bot-free meeting notes run on your Mac, with no account, word cap, or connection required. Wispr Flow transcribes both in its cloud.

Competitor details were last verified on September 24, 2026, and October 1, 2026 for Apple Notes, Meetily, and Wispr Flow; each link has the full comparison and sources. Trademarks belong to their owners.

Privacy

Your work is personal. Keeping it local should be the starting point.

Recording and built-in AI processing happen on your Mac. LokalBot has no account system, analytics service, or telemetry backend. Your library lives in local files and SQLite under your macOS account.

flowchart LR
  subgraph mac [Your Mac]
    direction LR
    audio["Mic + meeting-app audio"] --> asr["On-device<br/>transcription"]
    asr --> llm["Local summaries<br/>built-in llama.cpp"]
    screen["Opt-in screen text"] --> db[("Local library<br/>full-text + vector search")]
    asr --> db
    llm --> db
    db --> use["Search · Ask · Today · Timeline"]
    db -.->|read-only, off by default| cli["lokalbot-cli · MCP"]
  end
Loading
  • You choose what to retain. Activity-only tracking is the default. Visible screen text and encrypted screenshots are opt-in. Pause capture or exclude apps and domains at any time. Detection has limits; exclude anything you never want retained.
  • You control retention. Captured screen text and screenshots expire after 14 days by default. Adjust the window or explicitly save a moment to keep it until you unsave or delete it.
  • Network access has boundaries. Models, updates, and optional agent runtimes need downloads. Automatic update checks can be disabled. A remote model server receives context only after you approve its origin; optional Agent Mode and external CLI/MCP clients have separate permissions and data handling.

To check the local processing path, download the models, select the built-in backend, disable automatic update checks, and observe network traffic while recording, transcribing, and summarizing. Approved agent commands and external clients are separate paths.

Read the full privacy policy · Report a security issue privately

Get started

You'll need an Apple Silicon Mac running macOS 15 or later and space for your selected models. Settings → Models shows download sizes and readiness; storage and memory needs depend on the models you choose.

  1. Install the app. Download LokalBot.dmg, drag LokalBot to Applications, and open it. Or run brew install --cask stevyhacker/tap/lokalbot.
  2. Choose what to capture. Review recording settings: automatic detection, ask-first, or manual recording. Day tracking starts with activity only; saving screen text or screenshots is a separate opt-in. Grant only the permissions for the features you enable.
  3. Let the models download. Built-in transcription, search, summaries, and writing can then work offline. No model server to set up and no API key to bring.

Try this first: make a short test recording, let it transcribe, then search for a phrase you said and open the matching passage. Add screen memory or writing tools when you're ready.

Let meeting participants know before recording and get their consent.

Release notes · Setup help · Homebrew options

FAQ

Does a bot join my meetings?

No. LokalBot records your microphone and the meeting app's audio on your Mac. Audio sources are separate from individual speaker identification. When system-audio capture is unavailable, the app warns that recording is microphone-only. Always record with participants' consent.

Does it record everything on my screen?

No. New installs use activity-only tracking, which you can turn off. Saving visible text or screenshots requires a separate choice and the relevant macOS permissions. Excluded apps and domains and secure fields are skipped; private browser windows are captured unless you exclude the browser or site. Detected credentials are redacted and associated pixels are dropped, but detection is not perfect. See PRIVACY.md.

Can I take my notes elsewhere?

Yes. Export meeting content or enable Markdown, Obsidian, or Logseq memory exports. Local routines can also save drafts to a folder you choose. These Markdown exports are ordinary, unencrypted files; any service you sync them with has its own privacy settings.

Local AI, your choice

Start with the built-in models, then change them in Settings → Models. LokalBot supports its bundled llama.cpp runtime, Ollama, OpenAI-compatible servers, and Apple Intelligence on supported Macs running macOS 26 or later. Remote servers require approval before receiving context.

Different jobs use different models. These are the defaults on a fresh install, about 6.5 GB of model files if you use every role. They are not a RAM requirement:

Role Default model Format Approx. model files
Transcription Qwen3-ASR 1.7B MLX 8-bit 2.47 GB
Summaries and chat Qwen3.5 4B Q4_K_M 2.74 GB
Autocomplete LFM2.5 1.2B Instruct Q4_K_M 0.73 GB
Semantic search EmbeddingGemma 2 Q8_0 0.31 GB
Speaker diarization Nemotron 3 (preview) via FluidAudio Core ML ~0.20 GB

Qwen3-ASR covers 52 languages and dialects. Transcription alternatives include Parakeet, Granite Speech, Whisper large-v3 turbo, SenseVoice for Chinese, Japanese, and Korean, and GigaAM for Russian; Pyannote Community-1 remains available for diarization. Model choices can vary by release; Settings shows the active selections and available presets. Speed and memory use depend on your Mac, model, context length, and other workloads.

Project benchmarks · Model catalog · Search implementation · Model and runtime details

For developers & agents

The app bundles lokalbot-cli, a read-only interface to your meeting library and a stdio Model Context Protocol (MCP) server. Access is off by default. Enable meeting-library access in Settings → Privacy & Data, then install the CLI from Settings → Advanced → Agent CLI.

Animated terminal session: lokalbot-cli lists meetings as a table, searches transcripts for redis and returns JSON, then prints the latest meeting summary
lokalbot-cli search "database decision"
lokalbot-cli get latest --include metadata,summary
lokalbot-cli mcp

Without a PATH installation, use /Applications/LokalBot.app/Contents/Helpers/lokalbot-cli.

Screen-memory MCP tools require separate permission scoped to today, the last seven days, or all retained history. They return text and metadata, not decrypted screenshots. External clients may send results to their own model providers.

The app also has an optional Agent Mode for working with reviewed context. File and shell actions follow its approval settings; it is separate from the read-only CLI/MCP interface.

CLI examples · Claude Code plugin · MCP architecture

Build from source

Use an Apple Silicon Mac with full Xcode installed; the build workflow pins the CI toolchain. With Homebrew available:

brew install xcodegen cmake

git clone https://github.com/stevyhacker/lokalbot.git
cd lokalbot

# XcodeGen needs these paths before the first build fetches the runtimes.
mkdir -p Vendor/llama-cpp Vendor/sherpa-onnx
xcodegen generate
open LokalBot.xcodeproj

Select LokalBot Dev, set your signing team, and run. The Dev app has its own identity, macOS permission grants, library, model storage, and Keychain namespace, so it can live alongside the installed release without applying development retention settings to release data. The first build prepares pinned native runtimes; model downloads happen separately.

Build and test commands · Testing guide · Screenshot guide

Find your way around the code
LokalBot/
├── Views/       # Native SwiftUI screens, settings, and onboarding
├── Services/    # Recording, search, storage, and workday memory
├── Engines/     # Transcription, model catalog, and local inference
├── Cotyping/    # System-wide autocomplete
├── Dictation/   # Voice typing
└── Agent/       # Optional Agent Mode and approval flow
CLI/             # Command-line interface and MCP entry points
LokalBotTests/   # Unit tests
Scripts/         # Build, verification, capture, and release tooling
project.yml      # XcodeGen source of truth

Contributing

Bug reports, documentation improvements, and code contributions are welcome. Report an issue with steps to reproduce, expected and actual behavior, app/macOS versions, Mac chip/RAM, and selected models. Keep private recordings and transcripts out of reports.

For larger changes, open an issue to discuss the approach first. Follow the working agreements and development guide, keep pull requests focused, and record your checks in the PR template. Include screenshots for UI changes; run UI tests on hosted CI or a remote runner.

License & acknowledgements

LokalBot is free software under GPLv3. Third-party components and models retain their own licenses; see third-party notices.

Built with llama.cpp, MLX Swift, speech-swift, sherpa-onnx, WhisperKit, FluidAudio, Sparkle, and XcodeGen, with models including Qwen3-ASR, IBM Granite Speech, Parakeet, and LFM2.5. The Autocomplete engine shares its loop with Cotabby.

About

A local LLM workhorse that keeps a memory of your workday. On-device meeting notes, dictation, autocomplete, and recall for macOS. GPLv3.

Topics

Resources

Security policy

Stars

53 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages