Gratis y de código abierto · Apache-2.0

Cada respuesta enseña de dónde salió.

Cited convierte los documentos de un negocio en una IA que atiende a sus clientes en una página, en un widget y por voz, y respalda cada respuesta con el pasaje exacto.

Tu servidor, tu IA: OpenAI, Anthropic, Gemini, DeepSeek, Groq, OpenRouter, Ollama o LM Studio.

La versión de 30 segundos

Responde en voz alta y aun así enseña la página que leyó.

Un cliente le pregunta al taller de bicis cuánto cuesta cancelar tarde. Cited responde con las políticas del propio taller y te lleva al pasaje que leyó.

Una dramatización del taller de muestra; en el repositorio, sus políticas están en bike-workshop-policies.md. Voces generadas con ElevenLabs; el orbe es el de ElevenLabs UI (MIT), el mismo que trae Cited.
Transcripción
Cliente
¿Y si cancelo tarde?
Cited
Cancelar tarde cuesta cincuenta pesos. Está en las políticas del taller.

En pantalla, la respuesta lleva la cita 1 y su fuente, politicas-del-taller.md, y luego abre el pasaje del que salió.

Anatomía de una respuesta

Nada se dice sin su fuente.

Una captura real de Cited respondiendo por Café La Horquilla, el negocio de muestra que viene en el repositorio. El modelo fue DeepSeek; cada dato de la respuesta lleva la marca del documento del que salió.

  1. La respuesta, escrita solo con los documentos del propio negocio.
  2. La marca de cita detrás del dato. Tócala.
  3. El pasaje del que salió, resaltado, con su archivo y su apartado.
La página pública de Café La Horquilla. La pregunta: ¿tienen taller de bicicletas? La respuesta: sí, es un café y taller de bicicletas en el centro de la ciudad y el taller está en planta baja, con sus marcas de cita; la cita 1 está abierta sobre la presentación de cafe-la-horquilla.md.

La configuración guiada

De cero a una respuesta publicada, en cuatro pasos.

Con Cited instalado, el dueño termina la configuración solo, desde el navegador, sin tener que llamarle a nadie.

  1. Conecta tu IA

    Pega una llave. Cited la prueba, la guarda cifrada y nunca la vuelve a mostrar completa.

  2. Agrega tu información

    Sube PDF, Word o texto, y mira cada pasaje que Cited entendió.

  3. Pruébalo

    Pregunta y lee la respuesta junto al pasaje del que salió.

  4. Publícalo

    La página, el widget y la voz salen con el nombre y el color del propio negocio.

Medido el 30 de septiembre de 2026 con DeepSeek: 4.0 segundos de máquina desde la bienvenida hasta una respuesta publicada. El resto es el dueño leyendo.

El paso Pruébalo del panel de Cited: la pregunta “¿Abren los lunes?” y su respuesta, con la marca de cita que lleva al pasaje del que salió.

Dónde responde

Los mismos documentos responden en una página, dentro de tu sitio y en voz alta.

La página pública de Cited en un celular, respondiendo con su cita abierta.

Una página propia

Una página pública con el color del negocio, la caja de preguntas a la mano y las fuentes junto a cada respuesta.

Dentro de cualquier sitio

Una línea de HTML lleva las mismas respuestas al sitio que el negocio ya tiene.

El widget de Cited abierto sobre una página de prueba del café de muestra, respondiendo “¿Me avisan si mi bici necesita refacciones?” con su marca de cita y su fuente.
<script src="https://your-cited.example/widget.js" async></script>

En voz alta

Un agente de voz sobre los mismos documentos, hecho con ElevenLabs y la llave del dueño. Un clic en el panel lo crea.

Hecho para no inventar

Cinco promesas, cada una con su fuente.

Lo que dice esta página es lo que hace el código. Cada promesa apunta a la especificación de la que sale.

  1. Solo tus documentos.

    Cited solo lee los archivos que le das: no busca en la web ni recurre a lo que el modelo recuerda.

    openspec/specs/knowledge-search
  2. Cada pasaje guarda su lugar.

    El documento, el apartado y la posición viajan con cada fragmento, para que cualquiera pueda comprobarlo.

    openspec/specs/knowledge-search
  3. Cuando no sabe, lo dice.

    “Los documentos no lo dicen” es una respuesta. Una suposición dicha con aplomo, no.

    El panel de Cited ante la pregunta “¿Rentan bicicletas eléctricas?”, respondiendo: No encuentro eso en los documentos de este negocio.
    openspec/specs/answering
  4. Tus llaves son tuyas.

    Se escriben una vez, se prueban y se guardan cifradas con AES‑256‑GCM. Solo se vuelven a ver sus últimos cuatro caracteres.

    openspec/specs/provider-settings
  5. La IA que tú elijas.

    OpenAI, Anthropic, Gemini, DeepSeek, Groq u OpenRouter, o todo en tu propia máquina con Ollama o LM Studio.

    openspec/specs/answering

Código abierto

Gratis. Clónalo hoy mismo.

Cited se publica con la licencia Apache 2.0. Clónalo, córrelo en tu propio servidor, cámbialo e instálaselo a tus clientes, también con fines comerciales. Conserva con él los archivos LICENSE y NOTICE.

Para empezar

  1. Baja el código
    git clone https://github.com/RonnieGex/cited.gitcd citednpm cicp .env.example .env
  2. Llena el .env

    En .env, pon ADMIN_PASSWORD (16 caracteres o más), ADMIN_SESSION_SECRET y ENCRYPTION_KEY (openssl rand -base64 32). El agente de voz también necesita VOICE_TOOL_SECRET.

  3. Arráncalo
    npm run dev

    Luego abre http://localhost:3000/admin y sigue la configuración guiada.

Node 24 (24.15 o posterior) y npm 11 o más nuevo. Una llave de cualquier proveedor compatible, u Ollama para que nada salga de tu máquina.

Es una app de Next.js; sus datos viven en un archivo SQLite local (libSQL) o en Turso. Todavía no hay imagen de Docker ni despliegue en un clic.

Versión 0.1.0, en desarrollo temprano. Lee la tabla de estado antes de prometerle nada a nadie.

¿Prefieres no administrar un servidor? Katalis puede correr Cited por ti

O deja que un agente de código lo instale

Abre una terminal en una carpeta vacía y corre una línea. El agente revisa Node, llena los secretos sin mostrarlos y te deja a ti la contraseña de administrador.

Necesitas Claude Code o Codex instalado y con tu sesión abierta. El agente trabaja en tu máquina; qué tan seguido te pide permiso antes de un comando depende de su propia configuración.

claude "Instala Cited, la app de código abierto de https://github.com/RonnieGex/cited, en esta carpeta. Primero revisa que Node sea la versión 24 (24.15 o posterior) y npm la 11 o más nueva. Clona el repositorio, corre npm ci y copia .env.example a .env. Llena ADMIN_SESSION_SECRET, ENCRYPTION_KEY y VOICE_TOOL_SECRET con valores aleatorios de 32 bytes en base64 (openssl rand -base64 32, o el módulo crypto de Node) sin mostrarlos. Luego pídeme que yo escriba ADMIN_PASSWORD en .env, de 16 caracteres o más, y espera a que te diga que ya está. Arráncalo con npm run dev y dime que abra http://localhost:3000/admin para seguir la configuración guiada. Nunca subas .env al repositorio ni muestres un secreto."
codex "Instala Cited, la app de código abierto de https://github.com/RonnieGex/cited, en esta carpeta. Primero revisa que Node sea la versión 24 (24.15 o posterior) y npm la 11 o más nueva. Clona el repositorio, corre npm ci y copia .env.example a .env. Llena ADMIN_SESSION_SECRET, ENCRYPTION_KEY y VOICE_TOOL_SECRET con valores aleatorios de 32 bytes en base64 (openssl rand -base64 32, o el módulo crypto de Node) sin mostrarlos. Luego pídeme que yo escriba ADMIN_PASSWORD en .env, de 16 caracteres o más, y espera a que te diga que ya está. Arráncalo con npm run dev y dime que abra http://localhost:3000/admin para seguir la configuración guiada. Nunca subas .env al repositorio ni muestres un secreto."