Fix memory reload after save_memory — reload all memory files

This commit is contained in:
2026-04-08 01:36:01 +00:00
parent 96dfa63c39
commit fe162d11f7

View File

@@ -315,18 +315,34 @@ def dispatch_tool(fn_name, fn_args, round_num):
# Handle save_memory reload
result = execute_skill(script, fn_args)
# Reload memory if save_memory was called
# Reload full memory if save_memory was called
if fn_name == "save_memory":
global AGENT_MEMORY
try:
with open(f"{WORKSPACE}/MEMORY.md") as f:
AGENT_MEMORY = f.read().strip()
except FileNotFoundError:
pass
reload_memory()
return result
def reload_memory():
"""Reload all memory files from workspace."""
global AGENT_MEMORY
AGENT_MEMORY = ""
try:
with open(f"{WORKSPACE}/MEMORY.md") as f:
AGENT_MEMORY = f.read().strip()
mem_dir = f"{WORKSPACE}/memory"
if os.path.isdir(mem_dir):
for fname in sorted(os.listdir(mem_dir)):
if fname.endswith(".md"):
try:
with open(f"{mem_dir}/{fname}") as f:
topic = fname.replace(".md", "")
AGENT_MEMORY += f"\n\n## {topic}\n{f.read().strip()}"
except Exception:
pass
except FileNotFoundError:
pass
def ollama_request(payload):
data = json.dumps(payload).encode("utf-8")
req = urllib.request.Request(