Skip to content

About

A web interface for the Bee AI that uses your api key

Resources

Stars

20 stars

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Bee AI Web

A Flask-based web interface for Bee AI, enabling you to:

  • Log in using your Bee API key
  • Browse, paginate, end/retry/delete conversations
  • Export conversations as PDFs
  • Manage "Facts" (CRUD operations and filtering)
  • Manage "To-Dos" (CRUD operations)
  • Browse paginated "Locations"
  • Semantic Dashboard Search: perform semantic search across conversations, facts, and to-dos locally without external API calls
  • Markdown Rendering: automatically render Markdown content in templates using a custom filter

Table of Contents


Prerequisites

  • Python 3.10+
  • pip or pipenv
  • wkhtmltopdf (for PDF export)
  • faiss-cpu (for vector search functionality)
  • sentence-transformers (for local embedding model)
  • PyTorch (automatically installed as a dependency of sentence-transformers)

Install System Dependencies

Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y wkhtmltopdf
macOS (Homebrew)
brew install wkhtmltopdf

Installation

# Clone the repository
git clone https://github.com/chartmann1590/bee-ai-web.git
cd bee-ai-web

# Using pipenv
pipenv install
pipenv shell

# Or using venv
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

Configuration

Create a .env file in the project root:

# Secret key for signing Flask session cookies
FLASK_SECRET_KEY=your_random_secret_here

Warning: Without setting FLASK_SECRET_KEY, the app defaults to dev_secret, which is insecure for production.


Running the App

Activate your virtual environment, then:

export FLASK_APP=app.py
export FLASK_ENV=development  # Optional for debug mode and auto-reload
flask run --host=0.0.0.0 --port=5000

Access the app at http://localhost:5000.


Usage

  1. Login: Paste your Bee API key on the home page and submit.
  2. Dashboard:
    • Displays an overview and quick navigation links.

    • Search: Use the search box to perform a local semantic search over your conversations, facts, and to-dos. Results are ranked by relevance and presented with a snippet and link to the source.

  3. Conversations:
    • Lists conversations with pagination.
    • End, retry, or delete conversations.
    • Export conversations to PDF.
  4. Facts:
    • View, filter (by "confirmed"), and paginate facts.
    • Perform CRUD operations.
  5. To-Dos:
    • View all tasks.
    • Perform CRUD operations.
  6. Locations:
    • Paginated location browsing.

Getting Your Bee API Key

  1. Visit the Bee Developer Portal.
  2. Sign in or create an account.
  3. Under API Keys, click Create new key.
  4. Copy and paste the key into the app login form.

Project Structure

.
├── app.py
├── requirements.txt
├── .env.example        # Template for your .env file
├── .gitignore
├── templates/
│   ├── index.html
│   ├── dashboard.html
│   ├── conversations.html
│   ├── conversation_detail.html
│   ├── conversation_pdf.html
│   ├── facts.html
│   ├── fact_form.html
│   ├── todos.html
│   ├── todo_form.html
│   └── locations.html
└── static/
    ├── css/
    └── js/

Notes

  • Sessions store API keys securely in signed cookies; they are not saved to disk.
  • The dashboard leverages FAISS and SentenceTransformer to build a local semantic index on first search and serve results without external calls.
  • Markdown content in messages and facts is rendered via a custom Jinja filter.
  • PDF export functionality relies on wkhtmltopdf and pdfkit.
  • For production use, set FLASK_ENV=production and deploy with a WSGI server such as Gunicorn.

License

MIT © Charles Hartmann

About

A web interface for the Bee AI that uses your api key

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages