CoolFace
Apppublic

xvadur/Aethero_github

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
memory_viewer.py66 linesDownload Raw Back to root
1import os2import gradio as gr3 4def get_agents():5    files = os.listdir("memory")6    agents = set()7    for f in files:8        if f.endswith(".txt") and "_output_" in f:9            agents.add(f.split("_output_")[0])10    return sorted(list(agents))11 12def get_logs_for_agent(agent):13    files = os.listdir("memory")14    logs = [f for f in files if f.startswith(agent.lower()) and f.endswith(".txt")]15    logs.sort(reverse=True)16    return logs17 18def read_log(filename):19    with open(os.path.join("memory", filename), "r") as f:20        return f.read()21 22def export_log(filename, export_type):23    content = read_log(filename)24    export_dir = "memory"25    base = filename.rsplit(".txt", 1)[0]26    if export_type == "Markdown":27        out_path = os.path.join(export_dir, base + ".md")28        with open(out_path, "w") as f:29            f.write(f"# Log: {filename}\n\n" + content)30        return f"Exportované do {out_path}"31    elif export_type == "JSON":32        import json33        out_path = os.path.join(export_dir, base + ".json")34        with open(out_path, "w") as f:35            json.dump({"log": content}, f, ensure_ascii=False, indent=2)36        return f"Exportované do {out_path}"37    return "Neznámy formát"38 39def ui():40    agents = get_agents()41    with gr.Blocks() as demo:42        gr.Markdown("# Aethero Memory Viewer")43        agent = gr.Dropdown(choices=agents, label="Vyber agenta")44        log_file = gr.Dropdown(choices=[], label="Vyber log")45        log_content = gr.Textbox(label="Obsah logu", lines=20)46        export_type = gr.Radio(["Markdown", "JSON"], label="Exportovať ako")47        export_btn = gr.Button("Exportovať log")48        export_result = gr.Textbox(label="Export stav")49 50        def update_logs(agent):51            logs = get_logs_for_agent(agent)52            return gr.Dropdown.update(choices=logs, value=logs[0] if logs else None)53 54        def show_log(log_file):55            if log_file:56                return read_log(log_file)57            return ""58 59        agent.change(update_logs, agent, log_file)60        log_file.change(show_log, log_file, log_content)61        export_btn.click(lambda f, t: export_log(f, t), [log_file, export_type], export_result)62    return demo63 64if __name__ == "__main__":65    ui().launch()66