How starsmash29/fr-os-ai-perimeter works
AI-Perimeter adds a model-assisted layer beside FR_OS: an administrator requests a firewall change or investigates an alert in the webUI; proposals are checked before review, while incident explanations use pseudonymised sensor evidence. The model client supports local and opt-in cloud providers. The README also documents optional per-device upload-byte reporting and evaluation suites, which are represented as separate capabilities. Relationships are limited to README statements and the shown source references; unsampled modules may have additional wiring.
Main entry points: pipeline.py Proposal Pipeline · service.py Assist Service · routes.py Screen Routes · runner.py Evaluation Runner
Components 25
Admin Interface
- AI-Perimeter Screen
src/ai_perimeter/webui/__init__.py - Screen Routes
src/ai_perimeter/webui/routes.py - WebUI Server
src/ai_perimeter/webui/server.py
Change Proposals
- Proposal Pipeline
src/ai_perimeter/orchestrator/pipeline.py - Patch Operations
src/ai_perimeter/orchestrator/ops.py - Deny Rules
src/ai_perimeter/orchestrator/deny.py - Intent Prompt
src/ai_perimeter/orchestrator/prompt.py
Incident Insights
- Sensor Evidence
src/ai_perimeter/incident/evidence.py - Incident Explainer
src/ai_perimeter/incident/explain.py - Upload Byte Collector
src/ai_perimeter/upload/collector.py
Model Runtime
- Assist Socket Client
src/ai_perimeter/assist_client.py - Assist Service
src/ai_perimeter/service.py - Socket Protocol
src/ai_perimeter/protocol.py - Service Settings
src/ai_perimeter/settings.py - Provider Client
src/ai_perimeter/client.py
Evaluation
- Evaluation Runner
src/ai_perimeter/eval/runner.py - Intent Cases
src/ai_perimeter/eval/cases.py - Generated Cases
src/ai_perimeter/eval/generated.py - Network Simulator
src/ai_perimeter/eval/sim.py - Incident Evaluations
src/ai_perimeter/eval/incidents.py
Other components
- Administrator
- Model Provider
- FR_OS Validator
- FR_OS Apply Helper
- FR_OS Sensors
Connections 33
- Administrator → Screen Routes: requests or reviews
README.md - AI-Perimeter Screen → Screen Routes: registers routes
src/ai_perimeter/webui/__init__.py - WebUI Server → AI-Perimeter Screen: registers screen
src/ai_perimeter/webui/server.py - Screen Routes → Assist Socket Client: asks service
src/ai_perimeter/webui/routes.py - Assist Socket Client → Assist Service: sends socket task
src/ai_perimeter/assist_client.py - Assist Socket Client → Socket Protocol: encodes request
src/ai_perimeter/assist_client.py - Assist Service → Socket Protocol: handles messages
src/ai_perimeter/service.py - Assist Service → Service Settings: loads settings
src/ai_perimeter/service.py - Assist Service → Proposal Pipeline: builds proposal
src/ai_perimeter/service.py - Assist Service → Incident Explainer: explains incident
src/ai_perimeter/service.py - Assist Service → Provider Client: calls model
src/ai_perimeter/service.py - Provider Client → Model Provider: sends chat request
README.md - Screen Routes → Proposal Pipeline: requests proposal
src/ai_perimeter/webui/routes.py - Proposal Pipeline → Intent Prompt: builds messages
src/ai_perimeter/orchestrator/pipeline.py - Proposal Pipeline → Patch Operations: parses and applies
src/ai_perimeter/orchestrator/pipeline.py - Proposal Pipeline → Deny Rules: checks proposal
src/ai_perimeter/orchestrator/pipeline.py - Proposal Pipeline → FR_OS Validator: validates and lints
src/ai_perimeter/orchestrator/pipeline.py - Administrator → FR_OS Apply Helper: approves change
README.md - FR_OS Apply Helper → FR_OS Validator: validates before write
- Screen Routes → Sensor Evidence: builds evidence bundle
src/ai_perimeter/webui/routes.py - Sensor Evidence → FR_OS Sensors: reads sensor files
src/ai_perimeter/incident/evidence.py - Incident Explainer → Sensor Evidence: uses bundle schema
src/ai_perimeter/incident/explain.py - Screen Routes → Incident Explainer: requests explanation
- Upload Byte Collector → FR_OS Sensors: collects byte data
- Evaluation Runner → Intent Cases: loads cases
src/ai_perimeter/eval/runner.py - Evaluation Runner → Generated Cases: loads generated suite
src/ai_perimeter/eval/runner.py - Evaluation Runner → Incident Evaluations: runs incident suite
src/ai_perimeter/eval/runner.py - Evaluation Runner → Proposal Pipeline: evaluates proposals
src/ai_perimeter/eval/runner.py - Evaluation Runner → Provider Client: evaluates providers
src/ai_perimeter/eval/runner.py - Intent Cases → Network Simulator: checks network behavior
src/ai_perimeter/eval/cases.py - Generated Cases → Network Simulator: checks generated cases
src/ai_perimeter/eval/generated.py - Incident Evaluations → Sensor Evidence: evaluates evidence
src/ai_perimeter/eval/incidents.py - Incident Evaluations → Incident Explainer: evaluates explanations
src/ai_perimeter/eval/incidents.py