Skip to content

quiet-node/thuki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

343 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thuki - WIP

Thuki: a private, local AI secretary overlay for macOS

A floating AI secretary for macOS. Double-tap Control to summon a spotlight-style overlay anywhere, even over fullscreen apps. It runs entirely on your Mac with its own built-in engine: private, with no cloud and no API keys.

Free and open source.

Beta License thuki.app CI Platform: macOS

Star History Chart


Thuki (thư kí, Vietnamese for secretary) is a lightweight macOS overlay powered by local AI models running entirely on your own machine, built for quick, uninterrupted asks without ever leaving what you're doing.

Install on macOS

Requirements: macOS 13.4 (Ventura) or later, Apple Silicon (M1-M5).

curl -fsSL https://thuki.app/install.sh | sh

Downloads the latest Thuki.dmg over HTTPS, verifies its RSA-4096 signature with the openssl already on your Mac, and installs it to /Applications.

Other paths: inspect the script · manual DMG · Nightly · build from source.

Why Thuki?

Most local AI tools are a place you go. Thuki is a key you press.

  • It arrives knowing what you were looking at. Highlight text in any app, double-tap Control , and your selection is already quoted. One gesture, no copy-paste round trip.
  • Nothing to install, pay, or configure first. Thuki ships its own llama.cpp engine and browses Hugging Face in-app, so any open model is a click away. No terminal, no separate server, no API key, no license fee.
  • It sees your screen, not just your clipboard. /screen attaches your whole desktop as visual context for any vision-capable model.
  • Free and open source, running only on your machine. No accounts, no per-query cost, no telemetry. Your conversations stay in a local database and nowhere else.
  • Works offline. Once a model is downloaded, inference needs no connection. Only downloads and web search use the network, and Auto search is one toggle from off.

Features

Always one keystroke away
Double-tap Control from any app, even fullscreen.
activate.mp4
Highlight, then ask
Select text, double-tap, it arrives as a quote.
highlight.mp4
Capture your screen
/screen attaches your whole desktop as context.
screen.mp4
Built-in web search
Keyless and cited. /search forces a lookup.
search.mp4
On-device model library
Download any GGUF, switch from the ask bar.
models.mp4
Just a slash, zero menus
Every task is a verb. No dropdowns, no settings.
Thuki slash commands

Models & providers

Thuki runs models through a provider. The built-in engine is the default; Ollama is there if you'd rather bring your own.

Built-in engine (default)

A bundled llama.cpp llama-server that Thuki spawns, supervises, and shuts down for you. Download GGUF models such as Llama, Gemma, and Qwen from the Hugging Face Hub right inside the app, then switch between them from the ask bar. No accounts, no API keys, no cost per query.

Other supported providers

Thuki can also run inference through an external provider instead of the built-in engine.

  • Ollama. Prefer your own Ollama install? Switch to it anytime from Settings.
  • Your own OpenAI-compatible server (coming soon). Support for pointing Thuki at any OpenAI-compatible endpoint you run yourself (a local or self-hosted server) is on the roadmap.

See docs/models-and-providers.md for the full model library and provider guide.

Privacy

Inference runs on-device, so your prompts, context, and replies never leave your Mac. There is no Thuki account, no API key, no cloud backend, and no telemetry. Conversation history lives in a local SQLite database on your machine; delete a conversation and it is gone. Outbound network use is limited to model downloads from Hugging Face and web search (Auto search and/or /search); both search paths can be turned off or avoided. See docs/privacy.md.

Architecture & security

Tauri v2 (Rust backend, React and TypeScript frontend) with a bundled llama.cpp llama-server engine bound to 127.0.0.1 and killed on quit. The pinned engine release is sha256-verified at build time and every model download is checked against a pinned Hugging Face revision. See docs/models-and-providers.md for engine internals and SECURITY.md for the full security posture.

Configuration

Thuki works on sensible defaults out of the box. Tweak anything from the in-app Settings panel (open it from the menu-bar icon) or by editing the TOML file at ~/Library/Application Support/com.quietnode.thuki/config.toml; both write to the same place.

See docs/configurations.md for the full schema, docs/commands.md for the slash command reference, docs/built-in-web-search.md for the built-in search design handbook, and docs/troubleshooting.md when something goes wrong.

Contributing

Contributions are welcome! Read CONTRIBUTING.md to get started, and follow the Code of Conduct.

Community-maintained Windows ports: ThukiWin and Mate.

Roadmap

MCP tool integrations (Gmail, Slack, Calendar), voice input, meeting notes, task automation, and bring-your-own OpenAI-compatible server. Have an idea? Open an issue.

Founder note

Hey, Logan here. I'm building Thuki around how people actually use it, so if you have feedback, an idea, or just want to say hi, reach out on X. Or leave your email and I'll reach out personally. I read everything.

License

Copyright 2026 Logan Nguyen. Licensed under the Apache License, Version 2.0.

About

context-ware floating secretary

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages