Skip to main content

A sleek (macOS) system tray application providing instant access to LLMs

Project description

AbstractAssistant

AbstractAssistant is a macOS-first tray app and CLI.

The tray app is gateway-first: it connects to AbstractGateway, discovers available providers/models there, and keeps only local UI/session state.

It is part of the AbstractFramework ecosystem:

What it does

  • Tray UI: menu bar/system tray bubble with sessions, attachments, tool approvals, and voice.
  • Media settings: Gateway-backed Voice, TTS, STT, and Image selectors for generated speech, transcription, and image generation.
  • CLI: run a single agentic turn in the terminal.
  • Durable tool boundary: tool calls are surfaced as a resumable wait and executed only through the gateway after approval.

High-level flow:

Tray UI / CLI -> AbstractGateway -> AbstractRuntime -> AbstractCore -> Provider(s)

Install

pip install "abstractassistant"

Requirements (summary):

  • Python 3.10+
  • Tray UI is macOS-first (menu bar/system tray); CLI/backend may work elsewhere but macOS is the primary target.
  • For tray mode, an AbstractGateway instance must be available.

Quick start

Tray UI:

assistant

CLI (one turn):

assistant run --prompt "What is in this repo and where do I start?"

Gateway startup (local dev):

export ABSTRACTGATEWAY_FLOWS_DIR="$PWD/abstractgateway/flows/bundles"
export ABSTRACTGATEWAY_AUTH_TOKEN="your-shared-token"
abstractgateway serve --host 127.0.0.1 --port 8080
assistant

Optional assistant-side overrides:

assistant --gateway-url http://127.0.0.1:8080 --gateway-token "$ABSTRACTGATEWAY_AUTH_TOKEN"

The Media settings dialog is populated from Gateway catalog routes: /api/gateway/voice/voices, /api/gateway/audio/speech/models, /api/gateway/audio/transcriptions/models, /api/gateway/vision/provider_models, and /api/gateway/vision/models. If it only shows default, verify that the running Gateway is the current package version and not an older server process.

Data & durability

Default data directory: ~/.abstractassistant/.

Contents (evidence: abstractassistant/core/session_index.py):

  • session.json: transcript snapshot + last run id (fast UX state)
  • sessions.json: session registry + active session id
  • runtime/: AbstractRuntime stores (run state, ledger, artifacts)

Documentation

Start here: docs/README.md

Core guides:

Development

pip install -e ".[dev]"
python -m pytest -q

Contributing / Security / License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abstractassistant-0.4.5.tar.gz (211.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abstractassistant-0.4.5-py3-none-any.whl (212.8 kB view details)

Uploaded Python 3

File details

Details for the file abstractassistant-0.4.5.tar.gz.

File metadata

  • Download URL: abstractassistant-0.4.5.tar.gz
  • Upload date:
  • Size: 211.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for abstractassistant-0.4.5.tar.gz
Algorithm Hash digest
SHA256 3f7f63ccad9777099e52ef3a4879c27a9a0ea0641b95ad460e3e8278641f2738
MD5 cd4592a3721b3c71f60ad5835f4e082d
BLAKE2b-256 0f8a14b927b55c727a645519d590525563152703135ce5d82de4ca3e9df3ec15

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractassistant-0.4.5.tar.gz:

Publisher: release.yml on lpalbou/AbstractAssistant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abstractassistant-0.4.5-py3-none-any.whl.

File metadata

File hashes

Hashes for abstractassistant-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6c7bf827d0e507bf3bcdf7219f6179be0bb62b55409ce388173cae37edaeda89
MD5 db0789c9ebf06244e91ea3a19010718f
BLAKE2b-256 4a1d6c1bf47a854125dfc67d2997c247f64944e8abf3006bb95cdb4e3eb97a43

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractassistant-0.4.5-py3-none-any.whl:

Publisher: release.yml on lpalbou/AbstractAssistant

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page