AIDA — AI Data Assistant
Status: 0.2.0. First public release; in daily use at APS beamlines 12-ID/9-ID. Config formats and CLI commands are stable enough to build on; breaking changes before 1.0 will be called out in
CHANGELOG.md. Bug reports and rough edges are still very much welcome — open an issue.
AIDA is a local scientific agent workbench: a simple, reliable desktop GUI (and CLI) for using AI agents in scientific work — conversation with local or cloud LLMs, correct use of domain MCP servers (pyIrena, bait_mcp, ...), correct display of rich tool results (especially PNG plots), reading and producing documents, and controlled access to your own data folders.
It is built for pyIrena and USAXS-instrument users and is deliberately not
a general-purpose AI platform — see PLAN.md §1 for the rationale.
What it does
- Chat with any model you can reach — Ollama / LM Studio / any OpenAI-compatible endpoint, OpenAI itself, Claude direct, or Claude through the ANL Argo proxy. Named profiles, switchable mid-conversation.
- Use MCP servers properly — a PNG a tool returns is decoded and shown as an image, not flattened to text. Servers are grouped so a small local model isn't drowned in 100+ tool schemas.
- Work in your folders — named workspaces bundle source folders, a target folder, a provider profile, an MCP group, and skills. The agent reads, writes, searches, and (optionally) runs scripts there under a safety model you configure.
- Produce documents — Markdown in Obsidian layout (images in a sidecar folder, linked relatively) or DOCX, written into your target folder.
- Search your own documentation — optional local RAG over folders you choose, with local or cloud embeddings.
- Keep the documents you attach — an attached paper is copied into the conversation's own folder with the text that was extracted from it, and deleted again with the conversation. Ask about a figure and the agent fetches that one by label rather than being handed every image in the file. Optional Mistral OCR makes those labels reliable on multi-column journal PDFs — off by default, per workspace, and it asks before a document leaves your machine.
- Keep conversations sorted — label them by person on a shared beamline machine, or by project on a laptop, and filter the list by it. Labels are organization, not security.
- Stay out of black boxes — token counts and cost estimates per session,
a tool-call log, a raw MCP result inspector, and
aida doctor.
Install
From PyPI (recommended):
pip install "aida-workbench[gui,docs]"
aida doctor
aida-gui
The PyPI distribution name is aida-workbench; the import package and the
console scripts are aida / aida-gui. Extras: gui (PySide6 desktop app),
docs (PDF/DOCX/XLSX/PPTX reading, image handling), ocr (the optional
Mistral OCR backend for figure extraction).
0.1.0 was the first non-pre-release version, so a bare pip install resolves
correctly — no --pre flag needed, and no risk of landing on the
long-abandoned 0.0.1 snapshot the way every prior 0.1.0bN install did.
Already using pyIrena? Install both — in either order, in one environment or two — and wire up its MCP tools with a single command:
pip install "aida-workbench[gui,docs]" "pyirena[all]"
aida mcp add-pyirena
See docs/pyirena.md for the compatibility details and
the GUI equivalent.
From a git checkout, for development:
git clone https://github.com/jilavsky/aida.git
cd aida
conda env create -f environment.yml # or: pip install -e ".[dev,gui,docs]"
conda activate aida
aida doctor
environment.yml already includes the gui and docs extras. If
aida doctor or aida-gui says PySide6 isn't installed on a headless
Linux machine even though the install above reported no errors, see
GUI fails to import on headless Linux
— it's usually a missing system Qt library, not a missing Python package.
First run
aida doctor— confirms Python, config files, keychain, and folders.- Launch
aida-gui. On a fresh install it offers to set up a provider profile and a first workspace; you can also do both from the Configure menu (Providers…, Workspaces…) or from the CLI (aida workspace new). - Pick a workspace and profile in the toolbar and start typing.
docs/installation.md →
docs/providers-and-secrets.md →
docs/workspaces.md is the full path from nothing to a
working session.
Documentation
Task-oriented setup and configuration guides — providers, workspaces, the
safety model, MCP servers, scripting, RAG, a GUI tour — live in
docs/. Fully-commented example config files are in
examples/config/.
Status and roadmap
Phases 1–10 of PLAN.md are implemented: config and diagnostics,
the provider layer and agent loop, MCP with typed artifacts, persistence and
workspaces, the PySide6 GUI, documents and the safety model, MCP management
UI, RAG, coding/scripting, and headless automation — aida run, stored
workflows, and the in-app scheduler (see docs/workflows.md).
Distribution (real PyPI/conda release automation) is what remains open.
Completed per-phase checklists live in planning/; what is
still open is at the top of PLAN.md.
Released and unreleased changes, version by version, are in
CHANGELOG.md.
Requirements
Python >= 3.11. Tested on macOS, Windows, and Linux.
License
MIT — see LICENSE.
Metadata
Release files for aida-workbench 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aida_workbench-0.2.0.tar.gz | 4.6 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aida_workbench-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.4 MB
Release files / aida_workbench-0.2.0.tar.gz
| Download URL | aida_workbench-0.2.0.tar.gz |
|---|---|
| Size | 4.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c89ba4bdcccd2a363ae8ba4c0c91b7e54c95af0160d328852eae5a5c41913f53
|
|
BLAKE2b-256 checksum How to use checksums |
42ecd95547ab60467b48514072b32bb7993829e856c5cef8aaf665a0a1c1928e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / aida_workbench-0.2.0-py3-none-any.whl
| Download URL | aida_workbench-0.2.0-py3-none-any.whl |
|---|---|
| Size | 865.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f09871858e32400bfcc09933ac5bb45436fb423da40fc686346dbfc7fef3a950
|
|
BLAKE2b-256 checksum How to use checksums |
7523546fe855eb21c428167860171cbc20e8d49fc568ae987570f6ba2ee5de51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logSecurity for aida-workbench 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for aida_workbench-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.