Feature Reference
Orion is a BYOK desktop AI assistant built with Electron, React, and TypeScript. Your API keys stay on your machine — no telemetry, no subscriptions.
AI Chat
Multi-Provider Support
Connect to any major AI provider with your own key:
| Provider | Models Available |
|---|---|
| OpenAI | GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-3.5 Turbo |
| Anthropic | Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 |
| Google Gemini | Gemini 2.0 Flash, Gemini 1.5 Pro, Gemini 1.5 Flash |
| Custom | Any OpenAI-compatible API (Mistral, Ollama, local models, etc.) |
Streaming Responses
AI responses appear word-by-word in real time — no waiting for the full reply.
Markdown Rendering
All AI responses render as rich Markdown:
- Headings, bold, italics, lists, tables
- Fenced code blocks with syntax highlighting (GitHub Dark theme)
- Inline code styling and blockquotes
Session Management
- Unlimited sessions — create as many chats as you need
- Auto-naming — AI generates a descriptive title after your first message
- Session list — left panel shows all conversations with date
- Delete sessions — hover any session and click the trash icon
File Attachment
Click the 📎 button to open a native file dialog. Supported types: .ts, .tsx, .js, .py, .rs, .go, .json, .md, .pdf, and more. Attached file names are shown as tags below the message.
Token Counter
Each AI message shows how many tokens it consumed. The session header displays the total token count for the entire conversation.
Settings / Admin Panel
Access via the gear icon in the sidebar.
AI Providers Tab
- API Key fields — masked input with show/hide toggle for each provider
- Test Connection — validates your key with a quick API call; shows green ✓ or red ✗
- Model selector — dropdown of available models for the selected provider
- Refresh models — fetches live model list from OpenAI
- Set Active — choose which provider + model handles all new chats
- Custom Providers — add any OpenAI-compatible provider with name, base URL, API key, and model list
Appearance Tab
- Font Size — slider from 10px to 20px with live preview
Storage Tab
- Chat History Path — browse for a folder where sessions will be saved
- Export Format — JSON (structured) or Markdown (human-readable)
Behavior Tab
- Stream Responses — toggle real-time streaming on/off
- Context Compaction — auto-summarize old messages when context grows long (saves tokens)
App Shell & UI
Custom Frameless Window
- Custom title bar with Orion logo and window controls
- Full drag region for moving the window
- Window opens at 1400×900, minimum 900×600
Activity Sidebar
Narrow VS Code-style icon bar on the left:
- Chat — main conversation view
- Settings — admin panel
Active icon has a purple accent indicator bar.
Dark Theme
Consistent dark design — background #0a0a0a, surfaces #111111, accent indigo #6366f1. Styled scrollbars and smooth transitions throughout.
Privacy & Security
- Keys stored locally — saved to
~/.config/orion-settings/config.jsonviaelectron-store. Never transmitted to any third party. - No telemetry — the app makes no outbound calls except directly to the AI provider APIs you configure.
- Context isolation — Electron's
contextIsolation: trueis enabled. The renderer process only accesses explicitly exposed APIs viacontextBridge.
Tech Stack
| Layer | Technology |
|---|---|
| Desktop runtime | Electron 30 |
| UI framework | React 18 + TypeScript |
| Build tool | Vite 5 + vite-plugin-electron |
| Styling | Tailwind CSS v4 |
| State management | Zustand 5 |
| AI providers | openai, @anthropic-ai/sdk, @google/generative-ai |
| Markdown | react-markdown + remark-gfm + rehype-highlight |
| Settings storage | electron-store |
Planned Features
- Chat history save to disk (JSON / Markdown)
- Diff view — AI-suggested file edits with Apply button
- Git panel — status, stage, commit, push
- Dedicated local model UI for Ollama
- Export current session as a file
Ready to try it?
Free download for Windows, macOS, and Linux.