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.4.tar.gz (210.4 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.4-py3-none-any.whl (212.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abstractassistant-0.4.4.tar.gz
  • Upload date:
  • Size: 210.4 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.4.tar.gz
Algorithm Hash digest
SHA256 26142450c071d23d076a5636f7eeea7be20562f7f53debcf7e7813e8406e992a
MD5 792f2124e0a1bf6956f2d75aa1dd7815
BLAKE2b-256 eb972569a70a36dd0dc57594d7eb8c4fafb38cffc5d03058b81b712df0dd07dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractassistant-0.4.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for abstractassistant-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ebe4e82441fda8b3b87c3d6edfe01376f7054c1241967ef77b92bd5aa7d7671b
MD5 36b0049cef8bb46db92f226a7cd5b300
BLAKE2b-256 a14803f64957e51a01058f01df728884e8d4d6c84163ba9feb25b6ac711f2e2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for abstractassistant-0.4.4-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