theo-agent-dashboard

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

README.md (2023B)


      1 # Theo Agent Dashboard
      2 
      3 A dedicated web dashboard for managing interactions with Hermes agent. Built with React + Tailwind (frontend) and Python/FastAPI (backend).
      4 
      5 ## Features
      6 
      7 - **Chat with Hermes** — streaming responses with correct tool-call rendering
      8 - **Topic organization** — group sessions by project/context
      9 - **Multimodal prompts** — attach images and files to messages
     10 - **Conversation branching** — fork conversations at any point
     11 - **Per-message model selection** — pick the model for each message
     12 - **Global search** — search across all sessions
     13 - **Message editing** — edit and regenerate with fork preservation
     14 - **Responsive design** — works on desktop and mobile
     15 
     16 ## Quickstart
     17 
     18 1. Create a Python venv and install backend deps:
     19    ```bash
     20    cd backend && python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
     21    ```
     22 
     23 2. Install frontend deps:
     24    ```bash
     25    cd frontend && npm install
     26    ```
     27 
     28 3. Build frontend:
     29    ```bash
     30    npm run build
     31    cp -r dist/* ../backend/static/
     32    ```
     33 
     34 4. Start the backend:
     35    ```bash
     36    cd backend && .venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8080
     37    ```
     38 
     39 5. Visit http://localhost:8080 → redirects to `/setup`
     40 
     41 6. Set your password → redirects to dashboard
     42 
     43 7. Start chatting!
     44 
     45 ## Development
     46 
     47 ```bash
     48 # Backend (terminal 1)
     49 cd backend && .venv/bin/uvicorn app.main:app --reload --port 8080
     50 
     51 # Frontend (terminal 2)
     52 cd frontend && npm run dev
     53 ```
     54 
     55 The frontend dev server proxies API requests to the backend at localhost:8080.
     56 
     57 ## Testing
     58 
     59 ```bash
     60 # Backend
     61 cd backend && .venv/bin/pytest tests/ -v --cov=app
     62 
     63 # Frontend
     64 cd frontend && npx vitest run
     65 ```
     66 
     67 ## Architecture
     68 
     69 - **Backend**: Python 3.13+, FastAPI, SQLite (WAL mode), aiohttp
     70 - **Frontend**: React 19, TypeScript, Vite 6, Tailwind CSS 4, Zustand
     71 - **Deploy**: systemd + Caddy reverse proxy
     72 
     73 The backend proxies all session/message/model operations to the Hermes API server at localhost:8642. Topics and topic-session mappings are stored locally in SQLite.
     74 
     75 ## License
     76 
     77 MIT