Skip to content

Repository files navigation

Via Vera

Your On-Device AI Assistant for Apple Platforms

Apple platforms GitHub stars License
OmniMind Linux Do Community WeChat Group

Preview · Capabilities · Quick Start · Development · Issues · Community

Via Vera is a native AI agent for iPhone, iPad, and Mac. Its agent runtime, tools, workspace, memory, and credentials remain under the control of the Apple device while it connects to the model provider chosen by the user.

Built with SwiftUI, Via Vera goes beyond chat by completing the full loop of understand → decide → execute → reflect. It combines a tool-calling agent with an embedded Alpine Linux environment, persistent memory, browser and workspace access, and native Apple integrations.

Join Via Vera TestFlight to help us improve the agent: https://testflight.apple.com/join/YMwpPFRP

Product Preview

Via Vera agent running natively on macOS
A native macOS workspace with conversations, tool activity, and agent results in one window.

Via Vera agent, terminal, and conversation interfaces
Agent conversations, health insights, the local terminal, and conversation history.

Via Vera settings, Alpine environment, and workspace interfaces
Native settings, Alpine environment management, and the workspace browser.

Core Capabilities

  • Native Apple experience: A shared SwiftUI app designed for iOS, iPadOS, and macOS.
  • Extensible agent tools: Terminal, files, memory, skills, browser, calendar, contacts, alarms, and HealthKit.
  • Local Alpine environment: An embedded ARM64 Alpine runtime powered by ish-arm64, with a controlled /workspace mount.
  • Flexible model providers: OpenAI-compatible Chat Completions and Responses APIs, DeepSeek, and Anthropic Messages.
  • Persistent context: SwiftData conversations, daily memory, long-term Markdown memory, local search, and configurable Soul instructions.
  • Security by design: API keys are stored in Keychain, provider endpoints are validated, tool output is bounded, and sensitive response data is redacted.
  • Apple personal tools: Permission-gated access to Calendar, Contacts, reminders, and HealthKit data.
Quick Start

Get the code

git clone --recursive https://github.com/omnimind-ai/ViaVera.git
cd ViaVera
git submodule update --init --recursive
open OmniBot.xcodeproj

Select the OmniBot scheme in Xcode, choose an iOS Simulator or your Mac, and run the project. The installed app is named Via Vera.

Configure the agent

  1. Open Settings → Model Service and add a compatible provider, endpoint, and API key.
  2. Select the models used by the agent.
  3. Review the Soul, memory, skills, workspace, and permission settings.
  4. Start a conversation and approve personal-data permissions only when the corresponding tools are needed.

On first launch, Via Vera imports its bundled Alpine minirootfs into Application Support. The model-accessible Alpine environment only mounts the shared workspace; provider configuration, Keychain credentials, Soul, and memory remain host-controlled.

Use Cases

Agent workflows

Ask Via Vera to break down a task, use multiple tools, inspect the result, and continue until the requested outcome is reached.

Skills

Import Apple-compatible SKILL.md packages, enable or disable them in Settings, and let the agent load focused instructions when a request matches. A community skill collection is available at OpenMinis/MinisSkills.

Terminal and workspace

Run commands in the local Alpine environment, maintain logical terminal sessions, and read, write, search, or organize files inside the controlled workspace.

Browser and personal tools

Use the browser tool for web tasks and, after explicit system permission, work with Calendar, Contacts, reminders, and supported HealthKit records.

Development Guide

Requirements

  • Apple Silicon Mac
  • Xcode with the iOS and macOS 26.4 SDKs
  • Git with submodule support

The iSH core build script creates an isolated Python environment and installs its pinned Meson and Ninja tooling when required.

Build without code signing

git submodule update --init --recursive

xcodebuild -project OmniBot.xcodeproj -scheme OmniBot \
  -configuration Debug -destination 'platform=macOS' \
  CODE_SIGNING_ALLOWED=NO build

xcodebuild -project OmniBot.xcodeproj -scheme OmniBot \
  -configuration Debug -destination 'generic/platform=iOS Simulator' \
  CODE_SIGNING_ALLOWED=NO build

Project layout

OmniBot/
├── AgentCore/       # Models, providers, agent runtime, persistence, memory, skills, and security
├── Alpine/          # Swift and Objective-C bridge for the embedded iSH runtime
├── App/             # Application bootstrap, navigation, settings, and state coordination
├── Features/        # SwiftUI chat, terminal, settings, and sidebar presentation
├── Tools/           # Browser, filesystem, memory, personal, skills, and terminal tools
└── Resources/       # Alpine, terminal frontend, and legal resources

Vendor/ish-arm64/    # Pinned iSH ARM64 submodule
RuntimeSupport/      # Reproducible ARM64 guest runtime support

See Docs/ProjectStructure.md for module boundaries and contribution guidance.

Privacy and Security

  • API keys are stored in Apple Keychain rather than provider JSON files.
  • Provider credentials are bound to the normalized endpoint and protocol configuration.
  • Non-loopback model endpoints must use HTTPS.
  • Tool calls, provider responses, memory files, and imported skills have explicit size limits.
  • Personal tools require Apple platform permissions and are only available on supported devices.
  • Local Xcode user data, signing certificates, provisioning profiles, App Store Connect keys, and Codex workspace state are excluded from Git.

Please report security issues privately to the maintainers instead of opening a public issue containing credentials or personal data.

Community

Thanks to every community contributor, including developers from linux.do, who support the OmniBot ecosystem.

WeChat Group
WeChat Group

Join Discord: https://discord.gg/WnBvBXgykD

Special thanks to these open-source projects and communities:

License

Via Vera's original source code is licensed under GPL-3.0-only. Third-party components and bundled resources remain under their respective licenses; see THIRD_PARTY_NOTICES.md for attribution and distribution obligations.

About

Your iOS/macOS AI Agent, capable of operating terminals and performing a wide range of tasks in the Apple || 你的iOS/macOS AI 代理,她可以操作终端,也可以完成 alpine 的广泛任务

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages