cambios profundos
This commit is contained in:
@@ -7,30 +7,28 @@ ejecución controlada con runtime stateful, Human-in-the-Loop y observabilidad c
|
||||
|
||||
## Arquitectura
|
||||
|
||||
Forja es un **único servicio** (FastAPI en :8000) que expone:
|
||||
|
||||
- API REST completa bajo `/api` (agentes, políticas, ejecuciones, aprobaciones, violaciones).
|
||||
- UI embebida moderna (HTMX + Tailwind + Jinja) en rutas amigables (`/agents`, `/run`, `/approvals`, `/history`, `/policies`).
|
||||
|
||||
```
|
||||
┌───────────────────────── docker-compose ──────────────────────────┐
|
||||
│ │
|
||||
│ ┌─────────────────────┐ HTTP/JSON ┌────────────────────┐ │
|
||||
│ │ forja-dashboard │ ────────────────► │ forja-core │ │
|
||||
│ │ Streamlit :8501 │ ◄──────────────── │ FastAPI :8000 │ │
|
||||
│ └─────────────────────┘ └────────────────────┘ │
|
||||
│ │
|
||||
│ Strategy pattern para LLMProvider, GuardrailEngine, Registry. │
|
||||
│ Persistencia: YAML (defs versionadas), JSONL (logs), SQLite │
|
||||
│ (checkpoints LangGraph + HITL). │
|
||||
└────────────────────────────────────────────────────────────────────┘
|
||||
┌───────────────────────────────────────────────────────────────┐
|
||||
│ forja-core :8000 │
|
||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||
│ │ UI HTMX (navegador humano) │ API REST (/api/*) │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ Strategy factories (LLM / Guardrails / Registry) │
|
||||
│ LangGraph runtime + SQLite checkpoints (HITL real) │
|
||||
│ Persistencia: YAML versionado + JSONL + SQLite │
|
||||
└───────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Detalles completos en [`ARCHITECTURE.md`](ARCHITECTURE.md). Además:
|
||||
- [`docs/walkthrough.html`](docs/walkthrough.html) — **walkthrough HTML autocontenido**
|
||||
(de alto a bajo nivel, con diagramas). Ábrelo directamente en el navegador
|
||||
(`xdg-open docs/walkthrough.html`); no requiere servidor.
|
||||
- [`docs/explicacion.md`](docs/explicacion.md) — explicación didáctica de extremo a
|
||||
extremo (conceptos, recorrido por todos los módulos y sus interrelaciones, y el
|
||||
viaje de una petición de principio a fin).
|
||||
- [`docs/componentes.md`](docs/componentes.md) — referencia de cableado a bajo nivel
|
||||
(grafo de dependencias de módulos, inyección de dependencias, firmas de los
|
||||
contratos entre capas, cadenas de llamada de cada endpoint).
|
||||
Documentación viva:
|
||||
- [`ARCHITECTURE.md`](ARCHITECTURE.md) — decisiones técnicas.
|
||||
- [`docs/explicacion.md`](docs/explicacion.md) — explicación didáctica completa.
|
||||
- [`docs/componentes.md`](docs/componentes.md) — referencia de cableado a bajo nivel.
|
||||
- [`docs/futuro.md`](docs/futuro.md) — roadmap.
|
||||
|
||||
## Quickstart
|
||||
|
||||
@@ -39,7 +37,7 @@ cp .env.example .env
|
||||
docker compose up
|
||||
```
|
||||
|
||||
Abre [http://localhost:8501](http://localhost:8501).
|
||||
Abre [http://localhost:8000](http://localhost:8000).
|
||||
|
||||
Funciona out-of-the-box (`LLM_PROVIDER=mock`, sin API keys). Si quieres usar
|
||||
Azure OpenAI real, edita `.env`.
|
||||
@@ -64,8 +62,8 @@ Azure OpenAI real, edita `.env`.
|
||||
| LangGraph + HITL + checkpoints | `core/src/forja_core/runtime/` |
|
||||
| Observabilidad (trace + structlog) | `core/src/forja_core/observability/` |
|
||||
| LLM abstraction | `core/src/forja_core/llm/` |
|
||||
| Editores gráficos (nuevo) | dashboard páginas Forjar Agente / Política |
|
||||
| API REST + dashboard | forja-core :8000 + forja-dashboard :8501 |
|
||||
| UI embebida (HTMX) | `core/src/forja_core/web/` (ruta raíz) |
|
||||
| API REST completa | bajo `/api` en forja-core :8000 |
|
||||
|
||||
## Variables de entorno
|
||||
|
||||
@@ -79,13 +77,12 @@ Ver [`docs/futuro.md`](docs/futuro.md).
|
||||
|
||||
```
|
||||
forja/
|
||||
├── core/ servicio FastAPI (gobernanza + runtime)
|
||||
├── dashboard/ Streamlit (UI + editores gráficos)
|
||||
├── core/ servicio FastAPI único (API + UI HTMX embebida)
|
||||
├── agents/ definiciones de agentes (YAML versionados)
|
||||
├── policies/ políticas de guardrails (YAML versionados)
|
||||
├── data/ runtime state (gitignored)
|
||||
├── tests/
|
||||
└── docs/
|
||||
└── docs/ (explicacion.md, componentes.md, futuro.md, ARCHITECTURE.md)
|
||||
```
|
||||
|
||||
## Tests
|
||||
|
||||
Reference in New Issue
Block a user