Ducky lives quietly on your desktop, helps you stay focused, and gives AI a simple, personal place to live. It is local-first, cross-platform, and built with Tauri v2, Rust, React, TypeScript, and Vite.
| AI companion Chat with OpenAI, Gemini, Claude, Grok, Ollama, and compatible endpoints. |
Smart reminders One-time and recurring reminders with a focused widget. |
Daily planner See today's schedule at a glance. |
| Sticky message Keep one lightweight message visible. |
Pomodoro Run persistent focus sessions beside Ducky. |
Model Explorer Search, favorite, and switch between discovered models. |
| Native desktop Tray, Preferences, dragging, and always-on-top support. |
Cross-platform macOS, Windows, and Linux packages. |
Native updates Automatic update checks through the native runtime. |
Desktop![]() |
AI conversation![]() |
Planner![]() |
Preferences![]() |
Sticky message![]() |
Pomodoro![]() |
Reminders![]() |
About![]() |
- OpenAI, Gemini, Claude, and Grok — cloud providers using your own API credential.
- Ollama — local models through the loopback Ollama service.
- OpenRouter and compatible endpoints — OpenAI-compatible model catalogs and chat APIs.
Credentials stay in native secure storage and never enter normal renderer state.
Download the latest release for your platform from GitHub Releases.
- macOS: open the DMG and drag Ducky to Applications.
- Windows: run the NSIS or MSI installer.
- Linux: launch the AppImage or install the DEB package.
Install Node.js 22.12+, npm 10+, the Rust toolchain, and the Tauri v2 platform prerequisites.
npm install
npm run tauri:devBuild native packages with:
npm run tauri:buildnpm run typecheck
npm test
npm run build
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
cargo build --manifest-path src-tauri/Cargo.tomlStable releases are built for macOS, Windows, and Linux when a matching
vX.Y.Z tag is pushed. See the
automated release process.
src-tauri · Rust application lifecycle, native domains, persistence, menus,
tray, permissions, and packaging
src/desktop · Private Tauri adapters behind the renderer-facing
DesktopBridge
src/renderer · Companion and Preferences React applications
src/engine · Runtime-neutral animation and input primitives
src/shared · Typed renderer/native contracts and validation helpers
character · Source artwork and animation frames
website · Next.js landing site and permanent download routes
MIT © Aman







