AssistKick for macOS
Native SwiftUI app. Password vault, AI chat, bookmark manager, and command palette — with Touch ID and native messaging to your browser.
Encrypted Vault with Biometric Auth
Your passwords live in a local SQLite vault protected by AES-256 encryption with Argon2id key derivation. After entering your master password once, Touch ID handles authentication for the rest of the session. The vault supports TOTP code generation with one-click clipboard copy, folder and group organization for structured storage, and bulk import from CSV files or KeePass KDBX 4.x databases. A 5-minute inactivity timer automatically locks the vault to prevent unauthorized access.
Agentic Chat with Tool Execution
Chat with your self-hosted AI through SSE streaming. This is not a passive chatbot — it runs an agentic tool loop that can search your bookmarks, look up passwords, execute shell commands, and run custom skills autonomously. Persistent sessions preserve your full conversation history. A model selector lets you choose any LLM available through OpenRouter, and server-side system prompt management lets you switch context on the fly. The chat supports generative UI — the AI can render bookmark cards and custom HTML directly in the conversation — plus rich markdown rendering via MarkdownUI.
AI-Enriched Bookmark Library
Browse and search bookmarks stored on your self-hosted server. Every bookmark captured through the browser extension — whether intercepted from X.com or grabbed from any page via Readability — gets AI-generated titles, tags, and excerpts on save. The searchable list supports tag filtering and renders full markdown content inline. All bookmark data stays on your infrastructure, enriched by your own AI.
Unified Search Across Everything
Press Cmd+Shift+Space from anywhere on your Mac. A floating panel appears above all applications — an NSPanel that searches across both your password vault and bookmark library simultaneously. Select a password entry and it auto-fills directly into the active browser field through a TCP relay to the extension. The command palette bridges the gap between native app storage and browser-based workflows.
Build and Manage AI Behaviors
Browse, create, edit, and delete skills directly from the chat right panel. Skills are markdown templates with YAML frontmatter that define how the AI behaves — from reply styles to task-specific instructions. Reference files can be edited inline, and slash-command autocomplete in the chat input gives you instant access to any skill. The skill system uses plain files on disk, making it version-controllable and fully extensible.
Native Messaging to Chrome and Firefox
The macOS app acts as a native messaging host for both Chrome and Firefox extensions. A typed event protocol handles AI reply requests, password search and fill, password save, and bookmark save — all through a local bridge with no cloud relay. The persistent fill relay maintains a connection from the command palette back to the extension background script, enabling auto-fill from anywhere on your Mac into any browser tab.
Under the Hood
Built with SwiftUI for macOS
Sandboxed with appropriate entitlements
GUI app on normal launch, native messaging host when launched by browser
~/.config/valentineos/
~/Library/Logs/
Shares code with iOS via #if os(iOS) conditionals