2.7 KiB
2.7 KiB
Project Progress
Phase 1: Initial Setup
- Create
monitor_agent.py - Create
config.py - Create
requirements.txt - Create
README.md - Create
.gitignore - Create
SPEC.md - Create
PROMPT.md - Create
CONSTRAINTS.md
Phase 2: Data Storage
- Create
data_storage.py - Implement data storage functions in
data_storage.py - Update
monitor_agent.pyto use data storage - Update
SPEC.mdto reflect data storage functionality
Phase 3: Expanded Monitoring
- Implement CPU temperature monitoring
- Implement GPU temperature monitoring
- Implement system login attempt monitoring
- Update
monitor_agent.pyto include new metrics - Update
SPEC.mdto reflect new metrics - Extend
calculate_baselinesto include system temps
Phase 4: Troubleshooting
- Investigated and resolved issue with
jclibrary - Removed
jclibrary as a dependency - Implemented manual parsing of
sensorscommand 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
[ ] Improve "high" priority detection by explicitly instructing LLM to output severity in structured JSON format. [ ] Implement dynamic contextual information (Known/Resolved Issues Feed) for LLM to improve severity detection.
Network Scanning (Nmap Integration)
- Add
python-nmaptorequirements.txtand install. - Define
NMAP_TARGETSandNMAP_SCAN_OPTIONSinconfig.py. - Create a new function
get_nmap_scan_results()inmonitor_agent.py:- Use
python-nmapto perform a scan on the defined targets with the specified options. - Return the parsed results.
- Use
- Integrate
get_nmap_scan_results()into the main monitoring loop:- Call this function periodically (e.g., less frequently than other metrics).
- Add the
nmapresults to thecombined_datadictionary.
- Update
data_storage.pyto storenmapresults. - Extend
calculate_baselines()indata_storage.pyto includenmapbaselines:- Compare current
nmapresults with historical data to identify changes.
- Compare current
- Modify
analyze_data_with_llm()prompt to includenmapscan results for analysis. - Consider how to handle
nmappermissions.