Auto-commit via make git (triggered by NFDOS)
This commit is contained in:
parent
95cc2d9bc7
commit
bcf21c363e
42
src/neurotron/kernel_log_agent.py
Normal file
42
src/neurotron/kernel_log_agent.py
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# neurotron/kernel_log_agent.py
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
from neurotron.logbus import logbus
|
||||||
|
|
||||||
|
class KernelLogAgent:
|
||||||
|
name = "kernel.log"
|
||||||
|
|
||||||
|
def __init__(self, cortex, max_lines=256):
|
||||||
|
self.ctx = cortex
|
||||||
|
self.max_lines = max_lines
|
||||||
|
self.buffer = [] # futuramente vai para dashboard pane
|
||||||
|
|
||||||
|
def observe(self):
|
||||||
|
# leitura "bulk" por enquanto
|
||||||
|
try:
|
||||||
|
with open("/dev/kmsg", "r", encoding="utf-8", errors="ignore") as f:
|
||||||
|
for _ in range(self.max_lines):
|
||||||
|
line = f.readline()
|
||||||
|
if not line:
|
||||||
|
break
|
||||||
|
line = line.strip()
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# guarda em memória (para TUI)
|
||||||
|
self.buffer.append(line)
|
||||||
|
if len(self.buffer) > self.max_lines:
|
||||||
|
self.buffer = self.buffer[-self.max_lines:]
|
||||||
|
|
||||||
|
# opcional: envia alguns para o Hippocampus
|
||||||
|
# self.ctx.memory.remember("kernel.msg", {"line": line})
|
||||||
|
except Exception as e:
|
||||||
|
logbus.debug(f"[kernel.log] erro a ler /dev/kmsg: {e}")
|
||||||
|
|
||||||
|
def think(self):
|
||||||
|
# futuro: detectar padrões, warnings, crashes…
|
||||||
|
pass
|
||||||
|
|
||||||
|
def act(self):
|
||||||
|
# futuro: alertar o utilizador, reiniciar serviços…
|
||||||
|
pass
|
||||||
Loading…
Reference in New Issue
Block a user