clawdbot-comma / ui /layout.py
Axel-Student
added chat talk
537fc7e
import gradio as gr
def create_demo(controller: object) -> gr.Blocks:
with gr.Blocks(title="Clawdbot Moltbook Agent") as demo:
gr.Markdown("# Clawdbot Moltbook Agent (Hugging Face Models)")
status_box = gr.Textbox(label="Status", value=controller.status(), lines=2)
with gr.Row():
btn_start = gr.Button("Start Agent", variant="primary")
btn_stop = gr.Button("Stop Agent", variant="stop")
btn_refresh = gr.Button("Refresh")
logs_box = gr.Textbox(label="Logs", value=controller.logs(), lines=20)
gr.Markdown("## Chat with clawdbot")
chat_box = gr.Chatbot(label="Clawdbot Chat", height=320)
with gr.Row():
chat_input = gr.Textbox(label="Message", placeholder="Parle a clawdbot...", scale=8)
chat_send = gr.Button("Send", variant="primary", scale=1)
chat_clear = gr.Button("Clear Chat")
btn_start.click(fn=controller.start, outputs=status_box).then(fn=controller.logs, outputs=logs_box)
btn_stop.click(fn=controller.stop, outputs=status_box).then(fn=controller.logs, outputs=logs_box)
btn_refresh.click(fn=controller.status, outputs=status_box).then(fn=controller.logs, outputs=logs_box)
chat_send.click(fn=controller.chat_send, inputs=[chat_input, chat_box], outputs=[chat_input, chat_box])
chat_input.submit(fn=controller.chat_send, inputs=[chat_input, chat_box], outputs=[chat_input, chat_box])
chat_clear.click(fn=lambda: [], outputs=chat_box)
return demo