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.8.tar.gz (211.1 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.8-py3-none-any.whl (212.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abstractassistant-0.4.8.tar.gz
  • Upload date:
  • Size: 211.1 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.8.tar.gz
Algorithm Hash digest
SHA256 1905901c5b42437455980d228b51a9ab6f8bfebb5d8d42343cc12852f1d7b950
MD5 8cf2c37d34f3ee50253b2156523fb658
BLAKE2b-256 f4f9c81b91d956162715dc8d255a1ad5efe5f341ab46543925d86262894ce07c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for abstractassistant-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d930e5fc1a9b61dde6c4ce0f998e5131a89cc6688f8f7614f918e8666291f000
MD5 4f937755bb0f5553aebf6214707dbc17
BLAKE2b-256 55d9e273325dd0a0e86314e171b8d9b4b162c8c5df41e531ebbbd3cc5c8c951a

See more details on using hashes here.

Provenance

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