Snow App is a developer-focused desktop application that integrates AI-powered chat, terminal emulation, SSH remote management, Git tooling, and a built-in browser panel into a single unified workspace. It leverages a Rust native module for performance-critical operations such as SQLite storage, AI streaming, file watching, and HTTP requests. Additional capabilities include MCP support, AI image generation, a skills system, hooks, sub-agents, codebase semantic search, and AI-driven terminal sessions.
README
Snow App
> [!WARNING] > macOS Users: If the app shows "damaged" or "cannot be opened" after installation, run the following command in Terminal:
>
> bash > sudo xattr -rd com.apple.quarantine /Applications/Snow\ App.app >
>
> You will be prompted to enter your login password to remove the quarantine attribute.
> High-performance cross-platform desktop application powered by Electron, React, TypeScript, and Rust.
Snow App is a developer-focused desktop application that integrates AI-powered chat, terminal emulation, SSH remote management, Git tooling, and a built-in browser panel into a single unified workspace. It leverages a Rust native module for performance-critical operations such as SQLite storage, AI streaming, file watching, and HTTP requests.
Features
AI Chat - Streaming AI assistant with markdown rendering, syntax highlighting, and configurable system prompts
Integrated Terminal - Full PTY-based terminal emulation powered by node-pty and xterm.js
SSH Management - Connect to and manage remote servers via SSH with credential persistence
Git Panel - Visual Git diff viewer and repository management
Browser Panel - Built-in browser with proxy support, network inspection, login-state management, and AI-driven automation
MCP Support - Model Context Protocol integration for extensible AI tooling
AI Image Generation - Built-in text-to-image / image editing (OpenAI / Gemini multi-channel); generated images are persisted into an image library
Skills System - Install / enable / manage AI skills (SKILL.md) that dynamically extend the agent
Hooks - Lifecycle hooks that run custom commands or prompts before/after events like requests and compression
Sub-Agents - Independent AI execution loops for parallel, complex multi-step tasks
Codebase Semantic Search - Embedding-index-based code search plus multi-language code symbol location (codelens)
Plan / Goal Modes - Plan-first and autonomous long-running task execution modes
Interactive Terminal Sessions - The AI can drive persistent PTY sessions for long-running and interactive commands
Codebase Explorer - Project file tree with workspace directory management
Config Import - Import MCP servers, skills, plugins, and prompts from Codex / WSL / SSH environments
i18n - Multi-language support with a locale system
Settings Management - Granular configuration for API keys, custom headers, proxy, sensitive commands, and more
Cross-Platform - Runs on macOS, Windows, and Linux
Tech Stack
Layer
Technology
Shell
Electron 37
Frontend
React 19, TypeScript 5.9
Bundler
electron-vite 4 (Vite 7)
Native
Rust 2021 Edition (napi-rs 3)
Packaging
electron-builder 26
Terminal
node-pty, xterm.js 6
SSH
ssh2
Storage
rusqlite (SQLite, bundled)
AI/HTTP
reqwest (multi-provider protocol adapters and streaming HTTP)
Codex compatibility imports are started manually from the Codex compatibility
entry in Settings; the app does not synchronize Codex files during startup.
Prerequisites
Node.js >= 18
Rust (stable toolchain) - required for building the native module
Cargo - comes with Rust
Platform-Specific
macOS: Xcode Command Line Tools
Windows: Visual Studio Build Tools (C++ workload)
Linux: build-essential, pkg-config, and system SQLite (or use bundled)
Getting Started
Installation
npm install
Development
npm run dev
This starts the Electron app in development mode with hot module replacement.
Build
npm run build
This compiles the Rust native module and bundles the Electron application via electron-vite.
Package
npm run build:app
This builds the app and produces a distributable package via electron-builder. Output is written to release/.
Type Checking
npm run check
Runs both TypeScript type checking (tsc --noEmit) and Rust checking (cargo check).
Available Scripts
Script
Description
npm run dev
Start development server with HMR
npm run build
Build Rust native module + Vite bundle
npm run build:app
Build + create distributable package
npm run build:rust
Build only the Rust native module
npm run check
TypeScript + Rust type checking
npm run check:ts
TypeScript type checking only
npm run preview
Preview the production build
Native Module
The Rust native module (snow_native) is compiled to a Node addon (.node) via napi-rs. It provides:
AI API streaming - Async streaming via reqwest and provider adapters for OpenAI Chat/Responses, Anthropic, and Gemini protocols
SQLite storage - Embedded database via rusqlite for settings and chat history
File watching - File system monitoring via the notify crate
HTTP client - Full-featured HTTP client via reqwest with compression support
MCP protocol - Model Context Protocol implementation