Skip to content

Onin-app/Onin

Repository files navigation

Onin Logo

Onin

The extensible, command-centric launcher for pro users.

License Platform

🇨🇳 中文文档

Onin Screenshot

Introduction

Onin is a modern productivity tool designed to keep your hands on the keyboard. Inspired by tools like Raycast and uTools, Onin provides a blazing fast, extensible interface to launch apps, search files, and run commands. Built with Tauri and SvelteKit, it combines the performance of Rust with the flexibility of modern web technologies.

Onin is more than just a launcher; it's a platform. With a powerful Plugin SDK, developers can extend its capabilities to fit any workflow.

📥 Download

Download the latest version from GitHub Releases

⚠️ Note for macOS Users

If you encounter the "Onin is damaged and can't be opened" error when launching the app:

Damaged Error

This is a common issue with apps not signed by Apple. To fix it, run the following command in your terminal:

xattr -cr /Applications/Onin.app

(Make sure to move the app to your Applications folder first, or adjust the path provided in the command)

✨ Key Features

  • Blazing Fast — Native performance powered by Rust and Tauri
  • 🔌 Extensible — Rich plugin system supporting any web technology (React, Vue, Svelte, etc.)
  • 🎨 Beautiful UI — Polished, modern interface with smooth animations
  • ⌨️ Keyboard First — Every action is just a few keystrokes away
  • 🛠️ Developer Friendly — Easy-to-use SDK for creating custom extensions

Quick Start

Prerequisites

  • Node.js >= 18
  • pnpm >= 8
  • Rust (latest stable)

Installation & Development

# Install dependencies
pnpm install

# Development
pnpm dev              # Web Dev Mode (http://localhost:1420)
pnpm tauri dev        # Desktop App (First build takes 3-10 mins)
pnpm dev:demo         # SDK Demo (http://localhost:5174)

Build

pnpm build            # Build all packages
pnpm build:sdk        # Build SDK only

📁 Project Structure

This is a Monorepo managed by pnpm workspaces:

packages/
├── app/              # Main Application (Tauri + SvelteKit)
│   └── docs/         # App Documentation
├── sdk/              # Plugin SDK (published as onin-sdk)
│   ├── docs/         # SDK Documentation
│   └── examples/     # Usage Examples
└── demo/             # SDK Test Playground

📖 Documentation

Topic Link
API Documentation API.md
Plugin System PLUGIN_COMMAND_USAGE.md
Window Management WINDOW_LIFECYCLE_FINAL.md
SDK Guide SDK README

📄 License

MIT