Skip to content

OrionMark/Oiron

Repository files navigation

Orion

A multi-provider AI chat desktop app built with Tauri + Vue 3. Connect to Anthropic, OpenAI, Gemini, Qwen, DeepSeek, Kimi and more — all from one native desktop window. Conversations are stored locally and API keys are encrypted on-device.

This project was written entirely by AI (Claude). Every line of code — frontend, backend, encryption, streaming, UI — was generated through AI-driven development with no manual coding involved.


Features

Multi-Provider Support

  • Anthropic — Claude Opus / Sonnet / Haiku
  • OpenAI — GPT-4.1, GPT-4o, o3, o4-mini
  • Google Gemini — Gemini 2.5 Pro / Flash
  • Qwen (通义千问) — Qwen3, Qwen-Max / Plus / Turbo
  • DeepSeek — deepseek-chat, deepseek-reasoner
  • Kimi (Moonshot) — Kimi Latest, Moonshot series
  • Custom — Any OpenAI-compatible endpoint

Chat Experience

  • Real-time streaming output with typewriter effect
  • Full Markdown rendering (tables, code blocks, headings, lists)
  • Syntax highlighting for code blocks with one-click copy
  • Copy message / Regenerate last response
  • Web Search and Deep Think mode toggles
  • Adjustable model parameters (Temperature, Max Tokens)
  • Three chat width presets (Narrow / Medium / Wide)

Conversation Management

  • Multi-conversation sidebar — create, switch, rename, delete
  • Persistent local storage — conversations survive app restarts
  • Export any conversation as a Markdown file

Security & Privacy

  • API keys encrypted with AES-256-GCM, key derived from device identity
  • All data stays local — no intermediate servers

Tech Stack

Layer Technology
Desktop Tauri v2
Frontend Vue 3 + TypeScript + Vite
UI Components Element Plus
State Pinia
Markdown marked + highlight.js
Backend Rust
HTTP Client reqwest (SSE streaming)
Encryption aes-gcm + sha2

Getting Started

Prerequisites

Install

git clone <repo-url>
cd orion
npm install

Development

npm run tauri dev

Opens a native desktop window. Vite HMR runs for the frontend; Rust backend recompiles on change.

Production Build

npm run tauri build

Packaged app appears in src-tauri/target/release/bundle/.


Usage

  1. Add an API key — Click the Settings icon in the sidebar, pick a provider, enter your API key and save.
  2. Start chatting — Go to the Chat view, click New conversation, choose a provider and model in the toolbar, then type and hit Enter.
  3. Custom base URL — Every provider supports a custom API endpoint. Leave it blank to use the official default (useful for proxy setups).
  4. Keyboard shortcutsEnter to send, Shift+Enter for a new line, Esc to stop generation.

Project Structure

orion/
├── src/                    # Frontend source
│   ├── assets/styles/      # Global styles & design tokens
│   ├── components/         # Shared components
│   ├── stores/             # Pinia stores
│   ├── types/              # TypeScript interfaces
│   └── views/              # Page views
├── src-tauri/              # Rust backend
│   └── src/
│       ├── api/            # Tauri commands (chat, settings, conversations)
│       └── crypto.rs       # API key encryption
└── package.json

License

MIT

About

ai studio

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors