A native macOS AI coding assistant powered by NVIDIA NIM β with agentic file access, GitHub integration, and Apple's Liquid Glass interface built entirely in Swift.
Nvidia AI Studio is a standalone macOS app that gives you a local AI coding assistant with real access to your filesystem. Unlike browser-based tools, this app runs natively on your Mac β it can read your files, write code, run shell commands, commit to GitHub, and work across your entire project, all from a single interface.
It connects to the NVIDIA NIM API, giving you access to over 16 frontier models including DeepSeek, Kimi, Qwen, Llama, and Mistral β for free during the NVIDIA NIM preview.
Switch between 16+ frontier models mid-conversation. Supports multiple AI providers:
| Provider | Models | Highlights |
|---|---|---|
| NVIDIA NIM | DeepSeek V3.2, Kimi K2.5, Qwen3 Coder 480B, Llama 3.3, Mistral, etc. | Free preview, 128Kβ256K context |
| Anthropic | Claude 4 Sonnet, Claude 4 Opus | Best reasoning |
| OpenAI | GPT-4o, GPT-4o-mini | Vision + function calling |
| Custom | Any OpenAI-compatible endpoint | Self-hosted models |
Each model is labelled with its capabilities:
- ποΈ Vision models β Attach images directly to your messages
- π§ Thinking models β Extended reasoning with configurable depth (Low / Medium / High / Off)
The AI can take real actions on your Mac through a set of built-in skills with an autonomous agent loop (up to 10 iterations):
| Skill | What it does |
|---|---|
read_file |
Read any file on your system |
write_file |
Create or overwrite files |
list_directory |
Browse directory contents |
search_files |
Grep across your codebase |
run_command |
Execute shell commands |
git |
Run any git operation |
ssh_command |
Execute commands on a remote VPS |
image_generation |
Generate images via NVIDIA NIM |
fetch_images |
Fetch and inject images for vision-capable models |
web_search / web_fetch |
Search the web and fetch page content |
Tool calls are displayed as GlassCode-style inline pills showing the tool name, edited filename, +additions / -deletions diff stats, and expandable results.
Control how much of your system the AI can see:
- Full Access β the AI can read, write, and run commands anywhere on your Mac
- Sandboxed β restricted to the active workspace folder; all file operations outside that folder are blocked at the skill level
Switch modes live at any point in a conversation from the bottom toolbar.
- Open Workspace β pick any project folder as your working context
- Sessions are grouped by project in the sidebar
- Right-click context menu on folders: New Thread, Rename, Remove Workspace
- Show less / Show more to collapse folder listings
- New threads automatically inherit the active workspace path
- Export threads as
.txtvia the share button
Connect your GitHub account via OAuth Device Flow or Personal Access Token:
Setup:
- Click Settings β GitHub
- Click Connect with GitHub (opens Device Flow) or paste a Personal Access Token
- Authorize the app on github.com
Once connected:
- Clone Repository β browse all your repos and clone with one click
- Commit & Push β see changed files with diff stats, write a commit message, and push β no Terminal needed
- Token is stored securely in the macOS Keychain
Built natively with macOS 26 Tahoe's Liquid Glass design language:
.glassEffect()used throughout β sidebar, message bubbles, input area, toolbar, tool call pills, toasts.buttonStyle(.glass)for all toolbar buttons- Translucent window with adjustable opacity and blur sliders in Settings
- 7 built-in color themes: Dark, Midnight, Ocean, Forest, Sunset, Nord, Light
- Smooth spring animations on panels, messages, and state transitions
- Markdown rendering β full GFM with syntax-highlighted code blocks, headings, lists, blockquotes
- "Worked for Xm Ys" timing badge after each assistant response
- Inline diff pills β "Edited
filename.swift+14 -5 >" for file edit tool calls - Streaming dots animation while the model is generating
- Collapsible reasoning β see the model's chain-of-thought with character count
- User & assistant avatars with subtle glow circles
- Context compression β auto-summarizes older messages when context usage exceeds 80%
- Context usage indicator β circular ring showing how much of the model's context window is used
- Track token usage per model, session, and provider
- View total prompt/completion tokens over time
- Available from the sidebar Usage panel or the Tokens toolbar button
- Multiple agents can work in the background
- Live badge counter on the Agents toolbar button
- Floating panel in the chat view shows running agents
- Desktop notification when a response completes (with model name)
- Permission requested on first launch
- Configure external MCP servers in Settings β MCP
- Auto-connect on app launch
- Extend the app's capabilities with custom tool servers
- macOS 26.0 (Tahoe) or later β required for Liquid Glass APIs
- Apple Silicon or Intel Mac
- A free NVIDIA NIM API key
- Download
Nvidia-AI-Studio.dmgfrom the Releases page - Open the DMG and drag the app to your Applications folder
- Launch the app, go to Settings β API Keys, and add your NVIDIA NIM key
# Clone the repo
git clone https://github.com/brunocurado/NvidiaAIStudio.git
cd NvidiaAIStudio
# Add your API key to a .env file
echo "NVIDIA_NIM_API_KEY=nvapi-your-key-here" > .env
# Build and package
bash build_app.sh release
# The app will be at:
# NvidiaAIStudio/build/Nvidia AI Studio.appRequirements for building:
- Xcode 26+ with Swift 6.2
- macOS 26.0 (Tahoe)
- Go to build.nvidia.com
- Create a free account
- Navigate to your profile β API Keys
- Generate a key β it starts with
nvapi- - Paste it in Settings β API Keys inside the app
The free tier includes generous usage limits across all available models.
NvidiaAIStudio/
βββ App/
β βββ NvidiaAIStudioApp.swift # Entry point, window config, Liquid Glass
β βββ AppState.swift # Global observable state
βββ Models/
β βββ AIModel.swift # Model definitions + multi-provider defaults
β βββ AppTheme.swift # 7 color themes + glass effect config
β βββ Message.swift # Chat message + tool call types
β βββ Session.swift # Conversation session with project grouping
β βββ SystemPrompt.swift # Dynamic system prompt with workspace context
βββ Services/
β βββ NVIDIAAPIService.swift # Streaming API client (OpenAI-compatible)
β βββ OpenAIAPIService.swift # OpenAI/Anthropic provider
β βββ ModelFetcher.swift # Live model list from NVIDIA NIM
β βββ GitHubService.swift # OAuth Device Flow + REST API
β βββ MCPManager.swift # Model Context Protocol server manager
βββ Skills/
β βββ Skill.swift # Protocol + SkillRegistry + sandbox enforcement
β βββ FileSkills.swift # File operations + shell commands
β βββ GitSkill.swift # Git operations
β βββ SSHSkill.swift # Remote SSH execution
β βββ WebSkills.swift # Web search + fetch
β βββ ImageGenerationSkill.swift # NVIDIA image generation
βββ ViewModels/
β βββ ChatViewModel.swift # Agent loop, streaming, tool execution, context compression
βββ Utilities/
β βββ KeychainHelper.swift # Secure storage for API keys + GitHub tokens
βββ Views/
βββ ContentView.swift # Main 3-column layout + toolbar
βββ OnboardingView.swift # First-launch setup
βββ Chat/
β βββ ChatView.swift # Message list + background agents panel
β βββ InputAreaView.swift # Rich input with attachments + model picker
β βββ MessageBubbleView.swift # Markdown bubbles, tool pills, timing badges
βββ Sidebar/
β βββ SidebarView.swift # Threads, workspaces, skills, usage, settings
βββ Settings/
β βββ SettingsView.swift # API Keys, GitHub, Theme, Models, MCP tabs
βββ RightPanel/
β βββ RightPanelView.swift # Git diff viewer + terminal
βββ Components/
β βββ ToastView.swift # Notification toasts
βββ GitPanelView.swift # Commit & Push panel
βββ CloneRepoView.swift # Repository browser + clone
βββ SkillsPanelView.swift # Skills toggle panel
| Action | Shortcut |
|---|---|
| Send message | Enter |
| New line in message | Shift + Enter |
| Commit & Push (in Git panel) | Cmd + Enter |
| Open settings | Cmd + , |
You can pre-configure the app by placing a .env file in the same directory as the app binary:
NVIDIA_NIM_API_KEY=nvapi-your-key-hereThe app auto-loads this key on first launch if no key is configured in Settings.
- swift-markdown-ui β Markdown rendering in chat messages
All other functionality is built on native Apple frameworks: SwiftUI, AppKit, Foundation, Security.
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License β see LICENSE for details.
- Built with NVIDIA NIM β access to world-class AI models through a single OpenAI-compatible API.
- Designed with Apple's Liquid Glass design language on macOS 26 Tahoe.