64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# Project Progress
|
|
|
|
## Phase 1: Initial Setup
|
|
|
|
1. [x] Create `monitor_agent.py`
|
|
2. [x] Create `config.py`
|
|
3. [x] Create `requirements.txt`
|
|
4. [x] Create `README.md`
|
|
5. [x] Create `.gitignore`
|
|
6. [x] Create `SPEC.md`
|
|
7. [x] Create `PROMPT.md`
|
|
8. [x] Create `CONSTRAINTS.md`
|
|
|
|
## Phase 2: Data Storage
|
|
|
|
9. [x] Create `data_storage.py`
|
|
10. [x] Implement data storage functions in `data_storage.py`
|
|
11. [x] Update `monitor_agent.py` to use data storage
|
|
12. [x] Update `SPEC.md` to reflect data storage functionality
|
|
|
|
## Phase 3: Expanded Monitoring
|
|
|
|
13. [x] Implement CPU temperature monitoring
|
|
14. [x] Implement GPU temperature monitoring
|
|
15. [x] Implement system login attempt monitoring
|
|
16. [x] Update `monitor_agent.py` to include new metrics
|
|
17. [x] Update `SPEC.md` to reflect new metrics
|
|
18. [x] Extend `calculate_baselines` to include system temps
|
|
|
|
## Phase 4: Troubleshooting
|
|
|
|
19. [x] Investigated and resolved issue with `jc` library
|
|
20. [x] Removed `jc` library as a dependency
|
|
21. [x] 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
|
|
|
|
[ ] 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)
|
|
|
|
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. |