Skip to content

piratheon/ori

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

    ███████    ███████████   █████            ███████████ █████  █████ █████
  ███▒▒▒▒▒███ ▒▒███▒▒▒▒▒███ ▒▒███            ▒█▒▒▒███▒▒▒█▒▒███  ▒▒███ ▒▒███ 
 ███     ▒▒███ ▒███    ▒███  ▒███            ▒   ▒███  ▒  ▒███   ▒███  ▒███ 
▒███      ▒███ ▒██████████   ▒███  ██████████    ▒███     ▒███   ▒███  ▒███ 
▒███      ▒███ ▒███▒▒▒▒▒███  ▒███ ▒▒▒▒▒▒▒▒▒▒     ▒███     ▒███   ▒███  ▒███ 
▒▒███     ███  ▒███    ▒███  ▒███                ▒███     ▒███   ▒███  ▒███ 
 ▒▒▒███████▒   █████   █████ █████               █████    ▒▒████████   █████
   ▒▒▒▒▒▒▒    ▒▒▒▒▒   ▒▒▒▒▒ ▒▒▒▒▒               ▒▒▒▒▒      ▒▒▒▒▒▒▒▒   ▒▒▒▒▒

Ori Assistant v1.1.1

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.

Quick links

Features

Core

  • 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.

TUI (Terminal)

  • Interactive conversation with session context.
  • Slash commands: /help, /clear, /quit, /cat, /exec.
  • Command execution log with Ctrl+F toggle.
  • 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.

GUI (Browser)

  • 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).

New in 1.1.1

  • 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+F shortcut to toggle the log.
  • Improved Interruption Handling:
    • Ctrl+C and ESC can now cancel running commands and dialogs.
    • Ctrl+C no longer kills the process.
  • New Slash Commands:
    • Added /cat [file] to display file content.
    • Added /exec [command] to execute shell commands.

Prerequisites

  • C++14-compatible compiler (GCC 5.0+ or Clang 3.4+)
  • CMake 3.10+
  • OpenRouter API key

Install

Build from source

  1. Clone:
    git clone https://github.com/piratheon/ori.git
    cd ori
    
  2. Build (automated):
    ./build.sh
    
    or manual:
    mkdir build && cd build
    cmake ..
    make
    
  3. Executable will be at build/ori.

Arch (AUR)

  • Install with an AUR helper:
    yay -S aur/ori
    

Configuration

  • Default config: ~/.config/ori/config.json
  • API key file: ~/.config/ori/key (or set OPENROUTER_API_KEY env 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
    

Usage

TUI (interactive)

Start the interactive assistant:

./build/ori

Useful flags:

  • --help — show CLI help
  • --version — print version
  • /help, /clear, /quit, /cat, /exec — available inside TUI

Non-interactive

Run a one-off prompt:

./build/ori -y "what is my kernel version?"

GUI

Start the web UI:

./build/ori --gui

Default: http://localhost:8080 (override with --port)

ASCII banner (optional)

Disable with --no-banner.

Development

Project layout:

.
├── build.sh
├── CMakeLists.txt
├── include/
├── src/
├── www/         # web UI assets
└── build/       # build output

Build & iterate locally

Contributing

Contributions, issues, and PRs welcome. Open an issue to discuss larger changes before submitting PRs. Follow standard fork → branch → PR workflow.

Changelog (selected)

  • 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.

License

GNU GPL-3.0 — see LICENSE file.