███████ ███████████ █████ ███████████ █████ █████ █████
███▒▒▒▒▒███ ▒▒███▒▒▒▒▒███ ▒▒███ ▒█▒▒▒███▒▒▒█▒▒███ ▒▒███ ▒▒███
███ ▒▒███ ▒███ ▒███ ▒███ ▒ ▒███ ▒ ▒███ ▒███ ▒███
▒███ ▒███ ▒██████████ ▒███ ██████████ ▒███ ▒███ ▒███ ▒███
▒███ ▒███ ▒███▒▒▒▒▒███ ▒███ ▒▒▒▒▒▒▒▒▒▒ ▒███ ▒███ ▒███ ▒███
▒▒███ ███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███
▒▒▒███████▒ █████ █████ █████ █████ ▒▒████████ █████
▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒
A terminal‑first AI assistant for Linux with both a Text User Interface (TUI) and a web-based Graphical User Interface (GUI). Integrates with OpenRouter to access multiple LLMs. Built for developers, power users, and sysadmins who want to run AI workflows from the terminal or the browser.
Version: 1.1.1 — Release highlights: new slash commands, command log, keybindings, and auto-retry.
- Repository: https://github.com/piratheon/ori (this one)
- OpenRouter keys: https://openrouter.ai/settings/keys
- OpenRouter integration: Connect to multiple AI models.
- Auto-retry: Automatically retries on transient network errors and rate limiting.
- Plugin system & Orpm: Extendable architecture with package management.
- Secure API key handling: API key stored at
~/.config/ori/key. - Automatic update checks on startup.
- Persistent config:
~/.config/ori/config.json.
- Interactive conversation with session context.
- Slash commands:
/help,/clear,/quit,/cat,/exec. - Command execution log with
Ctrl+Ftoggle. - Agentic command execution with confirmation.
- Multiline input and editor-friendly UX.
- Keybindings:
Ctrl+F: Toggle command execution log.Ctrl+C/ESC: Cancel running command or clear prompt.
- Web-based chat UI with chat history and model selector.
- Code canvas for snippets and inline command execution.
- Runs a local web server (default port 8080).
- Auto-retry on network errors: Added auto-retry with a spinner for transient network errors and rate limiting.
- Command Execution Log:
- Added a log to view executed commands and their outputs.
- Added
Ctrl+Fshortcut to toggle the log.
- Improved Interruption Handling:
Ctrl+CandESCcan now cancel running commands and dialogs.Ctrl+Cno longer kills the process.
- New Slash Commands:
- Added
/cat [file]to display file content. - Added
/exec [command]to execute shell commands.
- Added
- C++14-compatible compiler (GCC 5.0+ or Clang 3.4+)
- CMake 3.10+
- OpenRouter API key
- Clone:
git clone https://github.com/piratheon/ori.git cd ori - Build (automated):
or manual:
./build.shmkdir build && cd build cmake .. make - Executable will be at
build/ori.
- Install with an AUR helper:
yay -S aur/ori
- Default config:
~/.config/ori/config.json - API key file:
~/.config/ori/key(or setOPENROUTER_API_KEYenv var) - Common config keys:
port,model,no_banner,no_clear
Examples:
- Set a config value:
./build/ori --config set model qwen/qwen3-coder:free - Load a JSON config:
./build/ori --config load /path/to/settings.json
Start the interactive assistant:
./build/ori
Useful flags:
--help— show CLI help--version— print version/help,/clear,/quit,/cat,/exec— available inside TUI
Run a one-off prompt:
./build/ori -y "what is my kernel version?"
Start the web UI:
./build/ori --gui
Default: http://localhost:8080 (override with --port)
Disable with --no-banner.
Project layout:
.
├── build.sh
├── CMakeLists.txt
├── include/
├── src/
├── www/ # web UI assets
└── build/ # build output
Build & iterate locally
Contributions, issues, and PRs welcome. Open an issue to discuss larger changes before submitting PRs. Follow standard fork → branch → PR workflow.
- 1.1.1 — New slash commands, command log, keybindings, auto-retry, and code cleanup.
- 1.1.0 — Loading spinner, persistent config, new CLI flags.
- 1.0.0 — Add GUI mode.
GNU GPL-3.0 — see LICENSE file.