Skip to main content

ALIA

ALIA — the cognitive partner of the AI-n-Box desktop. A native GNOME agent you summon with a key, backed by the lovelaice agent runtime (sessions, persistence, tools, MCP) over its ACP engine.

This repo is the standalone slice: ALIA installs and runs on any recent GNOME, independent of AI-n-Box OS (where she'll later be baked in and pre-wired to the local Ollama daemon).

Vision: vault/Atlas/Architecture/2026-06-25-alia-cognitive-partner-vision.md in the Workspace.

Voice (v1.2)

ALIA is a four-modality partner — text and voice, in and out:

  • 🎤 push-to-talk — click the mic, speak, click to stop; it transcribes the clip locally (harp's whisper engine) and auto-sends. Offline.
  • 🔊 talk-back — if you spoke, she speaks the reply (Kokoro via kokoro-onnx, CPU, no torch). Mirrors your modality; the 🔊 toggle mutes it. Typed input stays text-only.

Needs PortAudio + espeak-ng (see Requirements); install.sh/alia setup add them. Models download once to ~/.cache/alia.

What works today (v1.0 agent core)

  • A borderless GNOME HUD with a WebKit transcript — real markdown + syntax highlighting (reuses superbot's marked/highlight), an in-page "working…" spinner, and input locked while a turn runs. Enter sends, Esc hides.
  • A resident single-instance app — pressing the shortcut again toggles the HUD; the agent stays alive in the background.
  • She acts on your machine via the shell, with you in the loop:
    • read(path) — reads any file, silently (observation is free).
    • bash(command) — runs a shell command. Well-known read-only commands auto-run (ls, cat, df, git status, …); anything else shows an inline bar with Deny / Approve / Permitir «prefix» esta sesión. Picking the session option auto-approves that command prefix (e.g. git push, npm install) for the rest of the run. This is how she manages files, launches apps, changes GNOME settings, inspects the system, uses git, …
    • Safety floor: any command containing shell operators (;, |, >, &&, $(…)) always prompts — a safe lead can't smuggle a dangerous tail. Hard red-lines (sudo, rm -rf / …) are blocked outright. Tool activity is shown in the transcript as it happens.
  • Conversation persists per session to ~/.alia/sessions/<ts>.jsonl.
  • Model-agnostic via the lovelaice engine: defaults to Haiku over OpenRouter (anthropic/claude-haiku-4.5), points anywhere OpenAI-compatible.

Not yet: she can't see the screen (no screenshots/vision) or control the mouse/keyboard/click — those are the next rungs. She says so when asked.

Requirements

  • GNOME with GTK 4 and its Python bindings (python3-gobject / PyGObject — from your distro, not pip).
  • WebKitGTK 6.0 for the transcript (gir1.2-webkit-6.0 on Debian/Ubuntu; webkitgtk6.0 on Fedora).
  • For voice: PortAudio + espeak-ng (libportaudio2 espeak-ng on Debian/Ubuntu; portaudio espeak-ng on Fedora).
  • Python ≥ 3.13.

Install

git clone https://github.com/syalia-srl/alia && cd alia
./install.sh

install.sh installs ALIA user-local (no sudo for the app itself):

  • system GTK 4 + PyGObject + WebKitGTK 6.0 via apt/dnf — only if missing (the one step that uses sudo);
  • a venv at ~/.local/share/alia/venv with alia + the engine (lovelaice/lingo/beaver) resolved from PyPI;
  • a launcher at ~/.local/bin/alia, an app entry, and the <Super>i shortcut.

Then configure a key and summon it:

mkdir -p ~/.config/alia
echo 'ALIA_API_KEY=sk-or-...' >> ~/.config/alia/env   # any OpenAI-compatible key
#   ALIA_MODEL=anthropic/claude-haiku-4.5   (optional)
#   ALIA_BASE_URL=https://openrouter.ai/api/v1   (optional)

Press <Super>i (or run alia).

Install with pipx

Requires the system GTK 4 + WebKitGTK libraries (see Requirements) — pipx's venv borrows them via --system-site-packages:

pipx install --system-site-packages alia      # PyPI (once published)
# or, from the private repo:
#   pipx install --system-site-packages git+ssh://git@github.com/syalia-srl/alia
alia setup     # wires the <Super>i shortcut, .desktop entry, and config

alia setup is also safe to re-run anytime (re-checks deps, re-installs the shortcut). install.sh calls it under the hood.

Run from source (dev)

export ALIA_API_KEY="sk-or-..."
make run          # builds .venv (--system-site-packages) and launches

make run starts the resident app. To summon it with a key:

make shortcut                 # binds <Super>i → ALIA
BINDING='<Super>j' make shortcut   # or pick your own free key

Picking a key. Many obvious combos are already grabbed and will silently do nothing if you bind a custom shortcut to them: the bare Super/Windows key (Activities overview), <Super>space (ibus input-source switch — an independent grabber, so freeing the WM binding isn't enough), and often F12 (terminal dropdowns). The default is <Super>i (mnemonic for IA). If a binding seems dead, it's almost certainly already taken — check /tmp/alia-launch.log: the launcher logs every time the shortcut actually fires, so an empty log means the key never reached ALIA.

Config

Env var Default Purpose
ALIA_API_KEY / OPENROUTER_API_KEY / API_KEY — API key
ALIA_MODEL / MODEL anthropic/claude-haiku-4.5 model slug
ALIA_BASE_URL / BASE_URL https://openrouter.ai/api/v1 endpoint

Develop

make test     # agent-core unit tests (offline, via lingo's MockLLM)

The GTK HUD is smoke-tested manually (make run); the agent core is unit-tested.

Status

Conventions: ships to main, vertical-slice-first. See AGENTS.md.

Metadata

Release files for alia-ai 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alia-ai 1.2.0
File Size Uploaded
alia_ai-1.2.0.tar.gz 81.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for alia-ai 1.2.0
File Interpreter ABI Platform
alia_ai-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 160.1 kB

Release files / alia_ai-1.2.0.tar.gz

Download URL alia_ai-1.2.0.tar.gz
Size 81.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7b5d8a7e98cec2c8410eeaaee0c5eee90539b833f7e9a56c19f8e4ebec325d40
BLAKE2b-256 checksum
How to use checksums
8776c15fadacdf66d4e5d3bc59ad991056f1d05f1a6655b47bdeb9b6824e3d48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / alia_ai-1.2.0-py3-none-any.whl

Download URL alia_ai-1.2.0-py3-none-any.whl
Size 78.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1e52330fe9caad363567e654ea9fed4d316cca75f06b9118c86872151d7920b
BLAKE2b-256 checksum
How to use checksums
0755e2a949e839cd747651379abb787251d23eb13c4aad37989b95850f0d139d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page