Cybersecurity-Panel / README.md
NeonClary's picture
Deploy brand mark, logo palette, goal-aware starters, and carousel fit.
ffcad5d verified
|
Raw
History Blame Contribute Delete
4.31 kB
---
title: Cybersecurity Panel
emoji: 🛡️
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: false
app_port: 7860
---
# Cybersecurity Panel
AI cybersecurity guidance through a panel of specialized advisors, led by **AI Jerry Huaute, CISSP**, built on Neon AI's Collaborative Conversational AI (CCAI) framework and BrainForge Security models. Collaboration between Jerry Huaute and Neon.ai.
## Hugging Face Spaces
Single Docker image from the repo-root [`Dockerfile`](Dockerfile):
1. Builds the React frontend at image-build time with `REACT_APP_API_URL=""` (same-origin fetches).
2. Serves the SPA from FastAPI on port **7860** with `/api/...` and `/auth/...` on the same origin.
3. Persists auth, profiles, chat sessions, onboarding, canvas, and user knowledge in **SQLite** (`aiosqlite`) at `${DATA_DIR}/cybersecurity_panel.db`. Mount a Hugging Face Storage Bucket at `/data` so data survives rebuilds. Vector store: ChromaDB under the same data dir.
### Required Space secrets
| Secret | Purpose |
|--------|---------|
| `JWT_SECRET_KEY` | Signs auth tokens (long random string) |
| `VLLM_API_KEY` / Neon HANA creds | Neon vLLM / BrainForge Security endpoint |
| `OPENAI_API_KEY` | GPT fallback / large-model path |
| `GEMINI_API_KEY` | Optional Gemini provider |
Also loadable from a shared env file at `C:\Users\dream\.secrets\shared.env` for local development (`SHARED_ENV` / compose `env_file`).
## Local development
### Production-shaped container (matches Spaces)
```bash
# PowerShell
$env:COMPOSE_DATE = Get-Date -Format "yyyyMMdd"
docker compose up --build
# App: http://localhost:7861
```
### Hot-reload development (recommended while coding)
```bash
$env:COMPOSE_DATE = Get-Date -Format "yyyyMMdd"
docker compose --profile dev up --build
# Frontend: http://localhost:3000
# Backend: http://localhost:8000 (docs at /docs)
```
Backend uses `uvicorn --reload`; frontend uses CRA with file polling. Source is bind-mounted from `multi_llm_chatbot_backend/`, `frontend/`, `personas/`, and `cybersecurity_config.yaml`.
### Without Docker
1. Load secrets from `C:\Users\dream\.secrets\shared.env` (or set `JWT_SECRET_KEY`, `OPENAI_API_KEY`, `VLLM_API_KEY`, etc.).
2. Backend: `cd multi_llm_chatbot_backend && python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt && uvicorn app.main:app --reload --port 8000`
3. Frontend: `cd frontend && npm ci && set REACT_APP_API_URL=http://localhost:8000 && npm start`
## Architecture
| Layer | Tech |
|-------|------|
| Frontend | React (CRA) in `frontend/` |
| Backend | FastAPI in `multi_llm_chatbot_backend/` |
| DB | SQLite via Mongo-shaped shim (`app/core/db.py`) |
| Vectors | ChromaDB (document RAG) |
| Primary LLM | Neon vLLM — `BrainForge/Security` |
| Fallback | OpenAI GPT (resilient race), Gemini, Ollama |
### Advisors
Personas live in `personas/cyber_advisors/*.yaml` (Jerry Huaute lead + specialist panel). App config: `cybersecurity_config.yaml`.
### Features
- Panel chat with streaming multi-advisor responses; Jerry Huaute always on the panel, urgency triage puts the incident expert first, generated follow-up chips after each panel reply
- User profile: stated + inferred facts, dual LLM summaries (short for Neon, long for large models)
- Security Journey progress tracks (ITIL, NIST CSF, CIS, certs, personal digital security, custom)
- Document upload + RAG, export (TXT/PDF/DOCX)
- Model Status health probes and provider selection (Settings → Model Status)
## Project layout
```
cybersecurity-panel/
├── cybersecurity_config.yaml
├── personas/cyber_advisors/
├── tracks/ # Security Journey track definitions
├── multi_llm_chatbot_backend/
├── frontend/
├── Dockerfile # HF Spaces / prod
├── Dockerfile.dev # hot-reload targets
├── docker-compose.yml
├── PLAN.md # overhaul plan
└── README.md
```
## Tests
```bash
cd multi_llm_chatbot_backend
pip install -r requirements.txt -r test_requirements.txt
python -m pytest app/tests/unit -q
```
## License / credit
© Neon AI. Built with Jerry Huaute, CISSP. CCAI and BrainForge are Neon.ai technologies.