Ruby/context/context.py
2025-04-24 13:28:53 -04:00

35 lines
774 B
Python

import json
import os
import time
from typing import List
CONTEXT_FILE = "data/memory/context.json"
MAX_MEMORY = 100
def load_context() -> List[dict]:
if os.path.exists(CONTEXT_FILE):
with open(CONTEXT_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save_context(mem: List[dict]):
with open(CONTEXT_FILE, "w", encoding="utf-8") as f:
json.dump(mem[-MAX_MEMORY:], f, indent=2)
def add_to_context(text: str, source: str = "user"):
mem = load_context()
mem.append({
"timestamp": time.time(),
"source": source,
"text": text
})
save_context(mem)
def get_recent_context(n: int = 5) -> List[str]:
mem = load_context()
return [entry["text"] for entry in mem[-n:]]