Files
2025-08-20 12:51:11 -05:00

2.7 KiB

Project Progress

Phase 1: Initial Setup

  1. Create monitor_agent.py
  2. Create config.py
  3. Create requirements.txt
  4. Create README.md
  5. Create .gitignore
  6. Create SPEC.md
  7. Create PROMPT.md
  8. Create CONSTRAINTS.md

Phase 2: Data Storage

  1. Create data_storage.py
  2. Implement data storage functions in data_storage.py
  3. Update monitor_agent.py to use data storage
  4. Update SPEC.md to reflect data storage functionality

Phase 3: Expanded Monitoring

  1. Implement CPU temperature monitoring
  2. Implement GPU temperature monitoring
  3. Implement system login attempt monitoring
  4. Update monitor_agent.py to include new metrics
  5. Update SPEC.md to reflect new metrics
  6. Extend calculate_baselines to include system temps

Phase 4: Troubleshooting

  1. Investigated and resolved issue with jc library
  2. Removed jc library as a dependency
  3. Implemented manual parsing of sensors command output

Tasks Already Done

[x] Ensure we aren't using mockdata for get_system_logs() and get_network_metrics() [x] Improve get_system_logs() to read new lines since last check [x] Improve get_network_metrics() by using a library like pingparsing [x] Ensure we are including CONSTRAINTS.md in our analyze_data_with_llm() function [x] Summarize entire report into a single sentence to said to Home Assistant [x] Figure out why Home Assitant isn't using the speaker

Keeping track of Current Objectives

[x] Improve "high" priority detection by explicitly instructing LLM to output severity in structured JSON format. [x] Implement dynamic contextual information (Known/Resolved Issues Feed) for LLM to improve severity detection.

Network Scanning (Nmap Integration)

  1. Add python-nmap to requirements.txt and install.
  2. Define NMAP_TARGETS and NMAP_SCAN_OPTIONS in config.py.
  3. Create a new function get_nmap_scan_results() in monitor_agent.py:
    • Use python-nmap to perform a scan on the defined targets with the specified options.
    • Return the parsed results.
  4. Integrate get_nmap_scan_results() into the main monitoring loop:
    • Call this function periodically (e.g., less frequently than other metrics).
    • Add the nmap results to the combined_data dictionary.
  5. Update data_storage.py to store nmap results.
  6. Extend calculate_baselines() in data_storage.py to include nmap baselines:
    • Compare current nmap results with historical data to identify changes.
  7. Modify analyze_data_with_llm() prompt to include nmap scan results for analysis.
  8. Consider how to handle nmap permissions.