Valdis is a native local-first AI companion for macOS, iOS, and iPadOS.
It connects to local or user-controlled LLM runtimes, supports voice conversations, and is designed around privacy-first usage without collecting user data by default.
This public repository is used for issue tracking, roadmap discussions, release notes, and support.
The native Swift codebase is currently private. It may be opened later.
Supported OS: macOS 15+ and iOS/iPadOS 18+.
- Website / Download: https://valdis.app
- Report a bug / request a feature: https://github.com/shura-v/valdis/issues/new/choose
- Browse existing issues: https://github.com/shura-v/valdis/issues
- FAQ / Support: https://valdis.app/faq
- Privacy: https://valdis.app/privacy
- Native Apple-platform experience built with Swift and SwiftUI
- Local-first AI workflows with Ollama, LM Studio, and user-controlled runtimes
- Voice conversations with on-device speech-to-text via WhisperKit
- 3D avatar experience powered by RealityKit and Reality Composer Pro
- Privacy-first design: no telemetry or data collection by default
- macOS-hosted local AI with iPhone/iPad companion usage
- Sign in to GitHub.
- Open the new issue chooser: https://github.com/shura-v/valdis/issues/new/choose
- Pick Bug report or Feature request, fill out the template, and submit.
- Search existing issues first.
- If it’s a crash / bug, include:
- Device + OS version (macOS/iOS/iPadOS + version)
- Diagnostics (includes Valdis version/build + system info)
- macOS: menu bar → Valdis → About Valdis → Copy diagnostics
- iOS/iPadOS: Valdis → Settings → About → Copy diagnostics
- Steps to reproduce
- Expected vs actual behavior
- Screenshots / screen recording, if helpful
- Logs only if you’re comfortable sharing them
Valdis is privacy-first. Logs do not include chat content, prompt text, context, messages, tokens, or secrets.
Valdis includes an optional Debug logging mode. When enabled, you can copy recent app logs to include in bug reports.
- macOS: menu bar → Valdis → About Valdis → Debug logging
- iOS/iPadOS: Valdis → Settings → About → Debug logging
- Restart the app after changing the setting.
- After restart, use Copy logs to copy recent logs.
- Logs exclude sensitive content: prompts, context, message text, tokens, and secrets.
| macOS: Enable | iOS/iPadOS: Enable |
|---|---|
![]() |
![]() |
| macOS: Copy logs | iOS/iPadOS: Copy logs |
|---|---|
![]() |
![]() |
If Valdis behaves strangely after an update, or when asked by a maintainer, you can start from a clean state using command-line reset flags.
--reset-settings— resets app settings--reset-data— resets app data: provider instances, model selections, cached state--reset-history— clears chat history
open -a Valdis --args --reset-data --reset-settings --reset-history/Applications/Valdis.app/Contents/MacOS/Valdis --reset-data --reset-settings --reset-history✅ Bugs, crashes, UX issues, and performance problems
✅ Feature requests and product ideas
✅ Docs, website, and release-note issues
❌ Tokens, API keys, or passwords
❌ Private conversation content
❌ Personal data or sensitive logs
If you believe you found a security issue, do not open a public issue.
Email: security@valdis.app
Valdis builds on great work from the local AI and Apple developer ecosystem:
- Ollama — local LLM runtime
- LM Studio — local AI on your computer
- WhisperKit by Argmax — on-device speech-to-text
- Vapor — WebSocket server backend on macOS
- Ready Player Me — avatars
- Swift Markdown UI — Markdown rendering



