feat(dashboard): scaffolding Streamlit con cliente HTTP y health check
CoreClient (httpx sync, 2 retries) cubre todos los endpoints del core y mapea
404/409/422 a {"error": ...}. app.py monta la página raíz con sidebar de branding
y un health-check del core.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""Entry point del dashboard Streamlit con sidebar de branding y health."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import streamlit as st
|
||||
|
||||
from agentforge_dashboard.client import CoreClient
|
||||
|
||||
|
||||
@st.cache_resource
|
||||
def get_client() -> CoreClient:
|
||||
return CoreClient()
|
||||
|
||||
|
||||
def main() -> None:
|
||||
st.set_page_config(
|
||||
page_title="AgentForge",
|
||||
page_icon="🛡️",
|
||||
layout="wide",
|
||||
initial_sidebar_state="expanded",
|
||||
)
|
||||
st.sidebar.markdown("## 🛡️ AgentForge")
|
||||
st.sidebar.caption("Plataforma de gobernanza de agentes IA")
|
||||
client = get_client()
|
||||
try:
|
||||
client.health()
|
||||
st.sidebar.success("Core API: OK")
|
||||
except Exception as exc:
|
||||
st.sidebar.error(f"Core API unreachable: {exc}")
|
||||
|
||||
st.title("🛡️ AgentForge")
|
||||
st.markdown(
|
||||
"""
|
||||
Bienvenido al panel de gobernanza de agentes IA.
|
||||
|
||||
Usa la barra lateral para navegar:
|
||||
- **Registro**: catálogo de agentes y versiones.
|
||||
- **Ejecutar**: lanzar un agente con guardrails completos.
|
||||
- **Aprobaciones**: ejecuciones pausadas a la espera de revisión humana.
|
||||
- **Historial**: trazas, violaciones y resultados.
|
||||
- **Politicas**: políticas de guardrails y diff entre versiones.
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user