import streamlit as st from pathlib import Path from ChatManager import send_message from FileManager import list_files, read_file, save_file, open_file "st.session_state object:", st.session_state st.set_page_config(layout="wide") with st.sidebar: for file in list_files(): st.button(file.name, on_click=open_file, args=[file]) col_editor_output, col_chat = st.columns([0.6, 0.4], gap="large", vertical_alignment="bottom") with col_editor_output: if "file_content" in st.session_state: text = st.text_area("Code Editor", key="file_content") # Verhalten bei Veränderungen mit on_change festlegen, mit File_Manager verknüpfen # on_change(save_file(file_path, content( -> das wär dann der Inhalt von text_area)) # wenn angezigter Code bearbeitet wird, sollte ExecutionEngine aufgerufen werden, diese soll den Code ausführen und im Outputfenster angezeigt werden mit DebugLogger # fürs Ausführen vllt eigener Button machen? st.button("execute code", key="execution", on_click=run_code) st.write("Output and debugging messages") # hier wird der Output angezeigt, der mit DebugLogger erstellt wurde with col_chat: if "messages" not in st.session_state: st.session_state.messages = [] #if "history" in st.session_state: # string = "" # for item in st.session_state["history"]: # string += item # st.write(string) # 2. Display History for msg in st.session_state.messages: with st.chat_message(msg["role"]): st.write(msg["content"]) # 3. Input & Response message = st.chat_input("How can qwen help you?", key="chat") if message: st.session_state.messages.append({"role": "user", "content": message}) response = send_message(message) st.session_state.messages.append({"role": "assistant", "content": response}) st.rerun() #st.write("Chat with qwen") #message = st.chat_input("How can qwen help you?", key="chat") #if message: # response = send_message(message) # #st.write(response) # if not "history" in st.session_state: # st.session_state["history"] = [] # st.session_state["history"].append(f"Message: {message} \n ----- \n Response: {response} \n ----- \n") # st.rerun() #Verhalten bei Veränderungen mit on_submit festlegen #ChatManager kümmert sich um chat history und Verbindung mit AI API (qwen) #Systemprompter schickt Kontext mit