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
metadata
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:

  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)

# PowerShell
$env:COMPOSE_DATE = Get-Date -Format "yyyyMMdd"
docker compose up --build
# App: http://localhost:7861

Hot-reload development (recommended while coding)

$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

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.