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.6.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.6-py3-none-any.whl (212.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abstractassistant-0.4.6.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.6.tar.gz
Algorithm Hash digest
SHA256 a114fb8733b961fc844203fd9def53659041e8abb2d9c9b5e76815e83e8fa47c
MD5 d87aed579d0773b1acd2115997224cd6
BLAKE2b-256 960c4804f8c85ea8895e7c247d88f9f3b87d4a8b1224435f1b0aa36b07e4a929

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for abstractassistant-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dca2c702875a2bfb370fb4ae4e7230deac6a6ed716c1f8040dfda1e008410158
MD5 cab6861f4bfdb8d5c45c2a3711a86813
BLAKE2b-256 e78f11a4201ace4740907c114c6058819480b76dac97a77dbc381e61d12e3efe

See more details on using hashes here.

Provenance

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