Skip to content

Latest commit

 

History

History
119 lines (87 loc) · 4.14 KB

INSTALLATION.md

File metadata and controls

119 lines (87 loc) · 4.14 KB

Installation

See also:

Requirements (practical)

  • Python: 3.10+
  • Tray UI: macOS is the primary target. Other OSes may work through the Qt shell, but are not packaged to the same standard.
  • Gateway: an AbstractGateway instance must be available
  • Assistant workflow: the gateway's default workflow for abstractassistant.agent.v1, or the built-in abstractassistant-orchestrator, which the app keeps published in your tenant catalog
  • AbstractCore: installed as a dependency; the minimum version is set in pyproject.toml
  • Providers:
    • local: LMStudio / Ollama must be configured on the gateway
    • cloud: API keys belong on the gateway side

Install (PyPI)

pip install "abstractassistant"

For local microphone capture (voice conversations and dictation), install the voice extra (the base install covers text chat and gateway-backed media, but not the local audio-input stack):

pip install "abstractassistant[voice]"

Other extras:

Extra Adds
voice (alias all) local speech-to-text on top of the default audio I/O (abstractvoice[audio-io,stt])
avatar nothing since 0.18.0: the activity avatar (abstractavatar) is in the base install; kept so older install lines still work
apple the Apple Silicon local stack (abstractcore[all-apple], abstractvoice[all-apple])
gpu the NVIDIA/CUDA local stack (abstractcore[all-gpu], abstractvoice[all-gpu])
macos-app PyInstaller, to build the macOS app bundle
dev test and lint tools

The assistant itself executes nothing locally; the apple and gpu extras are for installs where the same environment also hosts local models.

Verify:

assistant --help

Gateway startup for local development:

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

macOS app build (optional)

For a real Finder-launchable .app, build the bundled macOS artifact with PyInstaller:

pip install -e ".[macos-app]"
build-macos-app

This builds a self-contained AbstractAssistant.app and installs it into /Applications.

If you are changing the macOS UI from source and want to verify the packaged app, rerun build-macos-app after your change, quit any older AbstractAssistant menu-bar process, and then relaunch /Applications/AbstractAssistant.app. Source-run tray behavior and the installed bundle are not the same validation target.

If you want the bundle without installing it into /Applications, use:

build-macos-app --skip-install

That produces dist/macos/AbstractAssistant.app.

The bundle is unsigned and un-notarized. Building it yourself is fine (locally built apps carry no quarantine attribute), but a copy you send to someone else will be blocked by Gatekeeper ("cannot verify developer" / "damaged") until it is signed and notarized: see macos-signing.md (build-macos-app --sign, --notarize, --dmg). The app is also menu-bar only (LSUIElement), so it deliberately shows no Dock icon — look for the tray icon in the top-right menu bar, not the Dock.

Headless / terminal only

You can use the CLI without running the tray UI:

pip install abstractassistant
assistant run --prompt "Hello"

The CLI entrypoint is available as both assistant and abstractassistant.

Optional assistant-side overrides:

  • --gateway-url (on its own, reuses the sign-in saved for that gateway)
  • --gateway-token
  • --stream on|off on assistant run (see api.md)

Notes

  • Gateway owns workflow discovery and multimodal capability defaults. The assistant does not need provider API keys or local model configuration files.
  • AbstractAssistant does not bundle ffmpeg. If your provider/media pipeline relies on ffmpeg for video frame extraction, ensure it is on your PATH.

Next