Configuración
Hay dos sitios donde se configura Organtia y conviene no confundirlos:
- La vista Configuración, dentro de la oficina: la empresa entera. Tiene ocho pestañas y reúne lo que se ajusta una vez —el CEO, las personas, los puestos, los modelos y los automatismos—. Los cambios se aplican en el mensaje siguiente.
- El
.envde la instalación: define el modelo, la identidad, la base de datos y el acceso. Los cambios exigen recrear el contenedor.
La vista Configuración
Sección titulada «La vista Configuración»Se abre desde el pie del menú lateral, con el icono de engranaje y la etiqueta Configuración. Solo la ve quien administra: a un miembro no se le ofrece un botón que el servidor va a responder con un 403.
Antes este nombre lo llevaba un diálogo que solo contenía la ficha del CEO, así que quien pulsaba buscando usuarios o proveedores se encontraba el prompt de Adrián y ninguna de las otras cosas. Ahora esas piezas viven aquí dentro, en pestañas, en vez de estar sueltas en el menú mezcladas con el trabajo del día a día:
| Pestaña | Qué se hace |
|---|---|
| Empresa | El nombre, la razón social, el nombre del CEO, el CIF, la dirección y el registro mercantil. |
| El CEO | Sus instrucciones, y en lectura el modelo, la temperatura, el tope de respuesta y los turnos que recuerda. |
| Personas | Quién entra, con qué rol y con qué puesto. |
| Puestos | Los oficios: qué sabe hacer cada puesto antes de que nadie lo programe. |
| Modelos y proveedores | Con qué proveedor habla cada puesto y con qué modelo. |
| Aplicaciones | Los conectores: qué servicios externos puede usar el equipo. |
| Crones | El trabajo que se repite, con su horario. |
| Navegador | Lo que están viendo los puestos en internet, en vivo. |
Las vistas sueltas siguen existiendo para los enlaces directos (?vista=personas,
?vista=modelos…): mover un botón no puede romper una dirección que alguien tenga guardada.
La pestaña del CEO
Sección titulada «La pestaña del CEO»El modelo y sus parámetros se editan en el .env, no aquí. El modelo por puesto se asigna en
la pestaña Modelos y proveedores; esta ficha solo muestra el del CEO.
Lo que enseña
Sección titulada «Lo que enseña»| Dato | De dónde sale | Se puede cambiar aquí |
|---|---|---|
| Modelo | MODEL_ID |
No |
| Temperatura | MODEL_TEMPERATURE |
No |
| Tope de respuesta | MODEL_MAX_TOKENS (tokens por respuesta) |
No |
| Turnos que recuerda | HISTORY_RUNS (intercambios que se releen en cada llamada) |
No |
| Proyecto en curso | El proyecto activo de la sesión, o «general, sin proyecto» | No |
| Sus instrucciones | Tabla organtia.instrucciones, clave adrian |
Sí |
Las instrucciones
Sección titulada «Las instrucciones»Es el bloque de texto que define cómo trabaja Adrián. Se guarda entero en
organtia.instrucciones y se relee en cada turno, así que el cambio afecta al mensaje
siguiente, no a la conversación ya empezada.
Límites que aplica el servidor al guardar:
| Comprobación | Respuesta si falla |
|---|---|
| Menos de 200 caracteres (sin contar espacios sobrantes) | «demasiado corto: se quedaría sin instrucciones» |
| Más de 400.000 caracteres | «demasiado largo» |
Al guardar, el aviso confirma: «Guardado. N caracteres. Se aplica en tu próximo mensaje.», donde N es la longitud real del texto.
Bajo el editor hay una nota con dos datos: si ahora mismo usa una versión tuya o la de fábrica, y cuál es el proyecto en curso.
Marcadores que se rellenan solos
Sección titulada «Marcadores que se rellenan solos»El texto puede llevar estos huecos y el sistema los sustituye al construir el prompt del turno:
| Marcador | Se sustituye por |
|---|---|
{propietario} |
OWNER_NAME |
{empresa} |
EMPRESA (nombre de la empresa de la instalación) |
{ceo} |
CEO_NOMBRE |
{estado} |
La situación consolidada: proyecto, pendientes, decisiones vigentes y lo último registrado |
Si borras {estado} del texto, la situación se añade igualmente al final: el CEO no puede
quedarse sin saber dónde está. La sustitución es literal, no con format, así que unas llaves
sueltas no rompen el turno.
Restaurar el original
Sección titulada «Restaurar el original»El botón «Restaurar el original» pide confirmación: el primer clic lo convierte en
«¿Seguro? Pulsa otra vez» durante cuatro segundos, y el segundo restaura el texto de
fábrica (el que vive en el código, en prompts.py). Después avisa: «Instrucciones originales
restauradas».
Cada guardado y cada restauración dejan una fila en la auditoría con herramienta = ui:instrucciones y actor = propietario.
Variables de entorno
Sección titulada «Variables de entorno»Todas se leen del entorno del proceso. Cambiar cualquiera exige recrear el servicio:
docker compose up -d --force-recreate apiIdentidad de la instalación
Sección titulada «Identidad de la instalación»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
CLIENTE |
organtia |
Nombre del despliegue: prefija contenedores, volúmenes y red. | Cambia los nombres de los contenedores; hay que recrear el stack. No toca los datos. |
MARCA |
Organtia |
Nombre del producto. Aparece en la pestaña, en la puerta y en el panel. | Reetiqueta la instalación. No afecta al funcionamiento. |
EMPRESA |
vacío | Solo la semilla: el nombre que se propone la primera vez que se abre la pestaña Empresa. Vacío = instalación de desarrollo. | A partir de ahí manda la tabla; cambiar esto ya no cambia nada. |
CEO_NOMBRE |
Adrián |
Solo la semilla del nombre del CEO. | Igual: después manda la pestaña Empresa. |
LEGAL |
Data Lean Makers, S.L. |
Solo la semilla de la razón social. | Igual: después manda la pestaña Empresa. |
Los datos de la empresa ya no se tocan en el
.env. El nombre, la razón social, el nombre del CEO y los datos legales se escriben en Configuración › Empresa y se guardan enorgantia.empresa. Las variables de arriba solo rellenan el formulario la primera vez, para que una instalación que ya estaba en marcha no amanezca en blanco. Un cambio guardado desde la interfaz se ve al instante en el título y en las páginas HTML, sin recrear el contenedor. |OWNER_NAME|Pedro| Nombre con el que el CEO se refiere al propietario. | Cambia el trato en las respuestas y el valor deactoren la auditoría. |
Base de datos
Sección titulada «Base de datos»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
DB_HOST |
db |
Host de PostgreSQL. | Si no resuelve, la API no arranca. |
DB_PORT |
5432 |
Puerto de PostgreSQL. | Tiene que coincidir con el del contenedor db. |
DB_NAME |
organtia |
Nombre de la base de datos. | Apunta a otra base; con una vacía, el esquema se crea al arrancar. |
POSTGRES_USER |
organtia_admin |
Rol administrador: solo lo usan las migraciones. | Cambiar de rol obliga a que exista en PostgreSQL. |
POSTGRES_PASSWORD |
obligatoria | Contraseña del rol administrador. | Sin ella, la API no arranca: «Falta la variable de entorno obligatoria». |
APP_DB_USER |
organtia_app |
Rol de la aplicación, con privilegios mínimos. | Ídem: el rol debe existir y tener permisos sobre el esquema. |
APP_DB_PASSWORD |
obligatoria | Contraseña del rol de la aplicación. | Sin ella, la API no arranca. |
Los dos roles existen a propósito: la aplicación no puede alterar la auditoría ni cambiar el esquema, porque no tiene permisos para ello.
Modelo de lenguaje
Sección titulada «Modelo de lenguaje»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
MODEL_ID |
deepseek-v4.1-flash:1017 |
Modelo que usa el CEO (y los puestos sin modelo propio). | Cambia el motor de todos los turnos. Debe existir en el endpoint. |
MODEL_BASE_URL |
https://ollama.com/v1 |
Endpoint compatible con la API de OpenAI. | Apunta a otro proveedor; la clave tiene que ser la suya. |
MODEL_API_KEY |
obligatoria | Clave del proveedor. | Sin ella, la API no arranca. No se muestra en ningún sitio. |
MODEL_TEMPERATURE |
0.4 |
Creatividad de las respuestas. | Más alto, respuestas más sueltas; más bajo, más repetitivas. |
MODEL_MAX_TOKENS |
16000 en el código |
Tope de tokens de una respuesta. | El .env.example trae 32000. Bajarlo recorta respuestas largas; subirlo gasta más y puede tardar más. |
HISTORY_RUNS |
2 en el código |
Intercambios previos que se releen en cada llamada. | Es el «Turnos que recuerda» de la pestaña del CEO. El .env.example trae 8. Subirlo mucho infla el prompt y ralentiza el turno. |
HISTORIAL_TURNOS |
8 |
Se lee al arrancar, pero hoy no lo usa nadie. | Ninguno. El valor efectivo es HISTORY_RUNS. |
TURNO_ESPERA |
120 |
Segundos que se espera al modelo sin recibir nada antes de avisar y salir del turno. | Con valores bajos se cortan turnos lentos; con valores altos, una caída tarda en notarse. |
Si cambias de modelo, la referencia práctica es: una línea en .env, recrear api y comprobar
con una conversación corta. Los modelos probados con herramientas en español son
deepseek-v4.1-flash:1017 y gpt-5.4-mini.
Acceso a la oficina
Sección titulada «Acceso a la oficina»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
ACCESO_CLAVE |
obligatoria (32+ caracteres) | Clave con la que se firman las cookies de sesión. | Sin ella o con menos de 32 caracteres, la puerta no deja entrar a nadie. Al cambiarla, se invalidan todas las sesiones abiertas. |
ACCESO_DIAS |
7 |
Días de validez de la cookie de sesión. | Se admite de 1 a 90; fuera de rango, se queda en 7. |
Detalle en /docs/administracion/usuarios/.
Secretos y servicios externos
Sección titulada «Secretos y servicios externos»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
ORGANTIA_SECRET_KEY |
vacío | Clave maestra con la que se cifran las claves de proveedores y conectores antes de guardarlas en PostgreSQL. | Si no se define, se genera sola un fichero en el volumen. Si la pierdes, las claves cifradas dejan de poder leerse y hay que reintroducirlas. |
ORGANTIA_SECRET_FILE |
/app/archivos/.organtia_secret |
Ruta de ese fichero cuando no hay variable de entorno. | Apunta a otro sitio; si el volumen no persiste, la clave se regenera en cada arranque y lo cifrado antes queda ilegible. |
ORGANTIA_URL_PUBLICA |
https://demo.organtia.ovlicuo.com |
Dirección pública de la oficina. Se usa para construir la vuelta del OAuth2 de los conectores. | Tiene que coincidir con el «redirect URI» registrado en cada proveedor, o el OAuth falla. |
INTERNAL_SERVICE_TOKEN |
obligatoria | Token con el que el reloj de los crones llama a la API sin nadie detrás. | Sin ella, la API arranca pero los crones no se ejecutan, y lo dice el log. |
SCHEDULER_BASE_URL |
http://127.0.0.1:8000 |
Puerto interno del planificador de Agno. | Cambia a dónde llama el reloj; es interno del contenedor, no el del host. |
PANEL_TOKEN |
vacío | Token del panel de autorizaciones antiguo. | Vacío = el panel no se sirve (responde 503). El .env.example lo da por retirado: las aprobaciones se hacen en la oficina. |
OFICINA_PIXEL_URL |
vacío | Dirección del visor pixel-art. | Vacío = no se pinta la sala; el trabajo sigue igual. |
OFICINA_PIXEL_TOKEN |
vacío | Token de ese visor. | Solo hace falta si el visor lo exige. |
Sistema
Sección titulada «Sistema»| Variable | Por defecto | Qué hace | Si la cambias |
|---|---|---|---|
TZ |
Europe/Madrid |
Zona horaria del contenedor. | Afecta a las fechas mostradas y al corte de mes del presupuesto. |
ORGANTIA_DEBUG |
0 |
Con 1 (o true, si, yes, on), saca trazas detalladas de herramientas y errores en la consola. |
Más ruido en los logs, útil para diagnosticar. |
API_PORT |
18011 |
Puerto del host al que se publica la API. Escucha solo en 127.0.0.1. |
Si lo cambias, hay que ajustar el reverse_proxy de Caddy. |
WEB_DIR |
/app/web |
Carpeta desde la que se sirve la interfaz compilada y las imágenes de la puerta. | Si no contiene index.html, la oficina no carga. |
NAVEGADOR_CDP |
vacío | Endpoint de un navegador ya abierto, para depurar la habilidad web. | Vacío = el propio servicio lanza su Chromium con el perfil del puesto. |
Errores de arranque que vienen de aquí
Sección titulada «Errores de arranque que vienen de aquí»| Mensaje | Causa |
|---|---|
| «Falta la variable de entorno obligatoria: X» | Falta una de las obligatorias: POSTGRES_PASSWORD, APP_DB_PASSWORD, MODEL_API_KEY o INTERNAL_SERVICE_TOKEN. El proceso no arranca y dice cuál. |
| «MODEL_MAX_TOKENS debe ser un número entero» | Valor no numérico en una variable entera. |
| «MODEL_TEMPERATURE debe ser un número decimal» | Valor no numérico en una variable decimal. |
| La puerta da 500 y no muestra formulario | ACCESO_CLAVE vacía o corta. No impide arrancar: falla al entrar. |
| «Panel desactivado: define PANEL_TOKEN en .env y reinicia la API» | Alguien abrió /panel/ sin token configurado. |
Lo que no se configura desde aquí
Sección titulada «Lo que no se configura desde aquí»- El nombre y los datos legales de la empresa: en Configuración › Empresa (ya no en el
.env). - El modelo de cada puesto: en Configuración › Modelos y proveedores.
- El presupuesto de tokens: en la ficha del puesto y en Departamentos.
- Las rutas que el CEO puede leer: en la tabla
organtia.accesos, concedidas hablando con él y registradas con la instrucción del propietario. - Los crones: en Configuración › Crones, con aprobación de dirección.
