OmniFlow Beta: multi-user AI-agent back end (Azure and Streamlit)

Posted by dokuczacz 1 day ago

Counter1Comment1OpenOriginal

Comments

Comment by dokuczacz 1 day ago

Text (body): TL;DR: OmniFlow Beta is a lightweight, Azure-backed testbed for multi-user AI agents with per-user namespacing, audit logging, and a Streamlit demo. I’m looking for people to test it — especially for concurrency, isolation, cost-control, and UX feedback.

What it is

    A developer-focused playground to prototype multi-user agent workflows.
    Backend: Python + Azure Blob storage (Azurite for local dev).
    Frontend: Streamlit demo for interactive testing.
    LLM-ready: supports Azure OpenAI or OpenAI with server-side proxying, token accounting, and light audit metadata.
Why this exists

    To explore safe, low-cost patterns for multi-user LLM apps (per-user data isolation, auditability, and demo-friendly setups).
    To give testers an easy local dev flow (dockerized Azurite + simple quickstart) and repeatable CI with Azurite.
Key features

    Per-user blob namespaces (users/{user_id}/...) to limit accidental data leakage
    Audit metadata for LLM calls (tokens, model/deployment, duration)
    Streamlit demo with chat-style UX and optional document context
    CI workflow that runs pytest against Azurite
    CONTRIBUTING.md, CODE_OF_CONDUCT.md, and CITATION.cff included for community use
Try it (5 minutes) git clone https://github.com/dokuczacz/OmniFlowBeta.git cd OmniFlowBeta docker run -d --name azurite -p 10000:10000 mcr.microsoft.com/azure-storage/azurite python -m pip install --upgrade pip pip install -r requirements.txt streamlit run frontend/app.py

(If running tests) export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vd...;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1" pytest -q

Demo & media

    Live demo: (paste demo URL here if available)
    Demo GIF: (paste a 10–15s GIF link; strongly recommended)
What I’d love testers to try and report

    Isolation: try to read or access another user’s blobs or cross-namespace leaks
    Concurrency: multiple users sending requests at once; report race conditions or failures
    Cost controls: try edge cases (large contexts) and report token counts or cost surprises
    UX feedback: Streamlit flows, helpful error messages, clarity of quickstart
    Security: anything that feels unsafe (PII handling, secrets leakage, logs)
Safety notes (please read)

    The demo is set up for testing, not production. If you publish a public demo, use conservative defaults: OMNIFLOW_LLM_MAX_TOKENS=256, per-user rate limits, and no user-supplied API keys.
    Do NOT commit secrets. Use platform secrets for deployments (Azure Key Vault / GitHub Secrets).
    Logs store metadata; we avoid storing full raw prompts with PII. If you find anything sensitive in logs, flag it in an issue.
How to report issues / help

    Open an issue or a PR on GitHub: https://github.com/dokuczacz/OmniFlowBeta
    Label issues with bug, enhancement, or good-first-issue if you want to contribute
    If you want to test privately or share sensitive findings, mention it in the issue and I’ll provide a private contact path
Extras

    CITATION.cff included for academic/archival use (Zenodo-ready after a release)
    CONTRIBUTING.md and CODE_OF_CONDUCT.md are present — contributions welcome
If you try it, please post a short note here with:

    What you tried (isolation/concurrency/UX)
    One thing that failed or surprised you
    One small improvement you’d like
I’ll be monitoring comments and the repo — happy to answer technical questions and iterate quickly on feedback. Thanks!