Wenlan

Base de conocimiento de IA local-primero y wiki LLM con páginas citadas por fuentes y acceso MCP para agentes de codificación.

Documentación

Wenlan: your source-backed knowledge base, built to compound.

El trabajo útil con IA no debería desaparecer cuando termina una conversación. Wenlan construye las páginas adecuadas y las mantiene actualizadas a medida que cambian las fuentes, preguntando solo cuando se necesita criterio.

English | 简体中文 | 繁體中文 | Español

CI Latest release License: Apache-2.0 and AGPL-3.0

Get started · What is this? · Capabilities · Daily workflow · Evaluation · Learn more

https://github.com/user-attachments/assets/d8b2ad4a-f97a-4a15-97a8-9105478de18a

Una Página mantenida en la aplicación de escritorio: abre cualquier cita para inspeccionar la Fuente o Memoria detrás de la afirmación.


Comenzar

Wenlan se ejecuta como un único daemon local. La aplicación de escritorio incluye ese daemon; la instalación sin interfaz gráfica te da el mismo daemon sin ventana. Tus clientes de IA acceden a la misma base de conocimiento de cualquier manera.

Aplicación de escritorio

Descárgala desde la página de lanzamientos:

  • macOS (Apple Silicon): abre el .dmg y arrastra Wenlan a Aplicaciones. La aplicación está firmada y notarizada, por lo que no hay advertencia en el primer inicio. Desde la terminal en su lugar: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/7xuanlu/wenlan/main/scripts/install-macos-app.sh)" (descarga, verifica el SHA-256, lo mueve a Aplicaciones).
  • Windows x64: ejecuta el -setup.exe. Aún no está firmado, así que cuando SmartScreen diga "Windows protegió tu PC", elige "Más información" y luego "Ejecutar de todos modos".
  • Linux: aún no hay versión de escritorio; usa el runtime sin interfaz gráfica a continuación.

La aplicación incluye el daemon, CLI y conector MCP, inicia el daemon al abrirse y ofrece conectar los clientes de IA que detecta: el plugin para Claude Code y Codex, y una entrada MCP para el resto. Para actualizar, arrastra la nueva aplicación sobre la anterior y ábrela (Wenlan 0.17.0 y anteriores deben cerrarse manualmente primero).

Configuración con tu IA

Pega esto en Claude Code, Codex u otra herramienta que pueda seguir una guía de configuración:

Set up Wenlan for this AI client by following:
https://raw.githubusercontent.com/7xuanlu/wenlan/main/docs/setup-with-ai.md

Install only what this client needs. Then verify the local runtime,
its Wenlan connection, and a capture/recall round trip.

La guía detecta qué cliente estás usando y mantiene los comandos específicos del cliente fuera de este README. No configura todas las herramientas de IA a menos que lo pidas.

¿Solo necesitas el runtime sin interfaz gráfica en macOS Apple Silicon?

npx -y wenlan setup

npx requiere Node.js; sin él, ejecuta curl -fsSL https://raw.githubusercontent.com/7xuanlu/wenlan/main/install.sh | bash y luego wenlan setup --basic.

Esto descarga el CLI, daemon y conector MCP precompilados, inicia el runtime local y lo verifica. No se requiere toolchain de Rust ni Cargo. Linux x64/ARM64 con glibc tiene una ruta de configuración por shell automatizada; Windows x64 usa el archivo correspondiente de Lanzamientos. macOS Intel actualmente no tiene instalación completa de runtime compatible.

Instrucciones manuales y específicas del cliente: Configuración asistida por IA · Plugin de Claude Code · Plugin de Codex · CLI y MCP.


¿Qué es esto?

Wenlan convierte documentos, notas y conversaciones pasadas con IA en una base de conocimiento respaldada por fuentes que se mantiene actualizada a medida que tu trabajo evoluciona. Las fuentes permanecen trazables; las decisiones, lecciones y correcciones se convierten en memorias duraderas; ambas pueden respaldar las mismas Páginas mantenidas.

Sources and memories independently support a maintained Page. Wenlan can rebuild a stale Page from its current support; optional conflict review can surface protected conflicts, and changes to human writing wait for the user.

Diseñado para trabajo que continúa. Wenlan es para investigadores, escritores, consultores, equipos de producto y equipos de software cuyo conocimiento está disperso en documentos, notas y conversaciones con IA. Convierte ese material en Páginas inspeccionables que pueden mejorar a lo largo de proyectos y semanas, no otro historial de chat o almacén de memoria aislado. No es un sistema de gestión de vida ni un SDK de memoria integrado en otro producto.

Un sistema de conocimiento, tres roles:

  • Las Fuentes mantienen trazable el material que Wenlan lee. Las conversaciones importadas permanecen como registros capturados; los archivos registrados sincronizan su contenido actual a medida que cambian.
  • Las Memorias preservan lo que el trabajo te enseña. Los agentes capturan decisiones atómicas, lecciones, correcciones y supersesiones con procedencia.
  • Las Páginas compilan conocimiento actual. Wenlan convierte Fuentes y Memorias relevantes en Markdown citado por fuentes que puedes reutilizar, actualizar y revisar.

La base de LLM-wiki, extendida:

  • LLM-wiki v1: Karpathy definió Fuentes inmutables, un Wiki Markdown mantenido por IA y un Esquema de reglas co-evolutivo para estructurarlo y mantenerlo. Wenlan implementa esa base con campos de Memoria tipados y reglas integradas para estructura de Página, procedencia, citas, actualización, propiedad y revisión.
  • LLM-wiki v2: Rohitg00 añadió un ciclo de vida de memoria. Wenlan hace concreto ese enfoque con Fuentes trazables, Memorias atómicas estilo Zettelkasten capturadas por agentes (una idea completa cada una) y Páginas mantenidas construidas desde ambas.

Para el flujo de trabajo completo, consulta la guía de implementación de LLM-wiki.

El movimiento distintivo de Wenlan: Las Fuentes y las Memorias atómicas respaldan de forma independiente las Páginas mantenidas. El historial de Memoria preserva cómo cambió el conocimiento; el historial de Página muestra qué evidencia actual respalda la síntesis. Las Páginas mantenidas por máquina pueden reconstruirse desde el soporte actual, mientras que los cambios en la escritura humana esperan como revisiones revisables.

Un grafo de conocimiento que se vuelve más útil con el tiempo

El grafo de entidad-relación es una parte del wiki conectado más amplio de Wenlan. Las Páginas de Conocimiento contienen síntesis mantenida, las Entidades anclan personas, proyectos y conceptos reutilizables, las Páginas de Fuente hacen inspeccionable el material importado o sincronizado, y las Memorias atómicas preservan decisiones y cambios. Funcionan a través de enlaces separados y explícitos: wikilinks de Página a Página, evidencia de Página, enlaces de Memoria a Entidad y relaciones de Entidad dirigidas.

Conceptual model of Wenlan's connected knowledge system, with Knowledge Pages, Source Pages, atomic Memories, and Entities connected through Page links, evidence, Memory-to-Entity links, and Entity relations.

Dentro del grafo de entidades, un modelo de enriquecimiento configurado extrae Entidades tipadas, observaciones y relaciones dirigidas de las Memorias. El enlazado y la resolución de entidades reutilizan nodos existentes en lugar de tratar cada mención como nueva; cada Memoria mantiene su Fuente y puede enlazarse a múltiples Entidades. Cómo se almacena el modelo conectado ->

  • Significado y dirección: Las relaciones usan un vocabulario inicial como uses, part_of, contradicts y replaced_by; los tipos desconocidos caen en related_to y se convierten en propuestas de vocabulario revisables.
  • Fuerza y procedencia: Una relación puede almacenar confianza, una explicación y su Memoria fuente, de modo que las afirmaciones más fuertes y más débiles sigan siendo distinguibles e inspeccionables.
  • Comunidades que se acumulan: La propagación de etiquetas agrupa Entidades por densidad de relaciones, ponderada por el número de relaciones entre cada par. Estos grupos pueden organizar resúmenes opcionales del corpus mientras los enlaces de Entidad añaden contexto de recuperación.
  • Corrección sin borrado: Las afirmaciones relacionadas, correcciones y supersesiones explícitas permanecen inspeccionables juntas mientras las Fuentes originales y el historial de Memoria permanecen.

Durante la recuperación, el emparejamiento denso de entidades encuentra entidades relevantes a la consulta. Cuando existen enlaces de grafo elegibles, el flujo de memoria de grafo predeterminado impulsa las Memorias enlazadas como una tercera señal de RRF. La ruta depende de los datos y el alcance, y los límites de Espacio (los Espacios se definen en Capacidades) aún se aplican. Cómo funciona la ruta de grafo ->

Recuperación entre palabras, significado y conexiones

La búsqueda principal de Wenlan es un pipeline híbrido local, no una única búsqueda vectorial. Cada etapa tiene un trabajo diferente:

  • Redacción exacta, SQLite FTS5: un índice de texto completo encuentra términos literales, identificadores y frases.
  • Significado similar, FastEmbed + Qdrant/bge-base-en-v1.5-onnx-Q: un modelo inglés cuantizado crea incrustaciones de 768 dimensiones; libSQL cosine DiskANN las indexa para recuperación aproximada de vecinos más cercanos.
  • Clasificación combinada, RRF ponderado (k = 60): las listas de clasificación léxica y semántica se fusionan sin pretender que sus puntuaciones crudas compartan escala; la similitud coseno también pondera la contribución vectorial.
  • Contexto conectado, flujo de memoria de grafo: los enlaces de entidad elegibles añaden una tercera señal RRF mientras el alcance de lectura activo aún filtra las Memorias devueltas.
  • Precisión opcional, reordenamiento con cross-encoder: a diferencia de las incrustaciones, jinaai/jina-reranker-v1-turbo-en o BAAI/bge-reranker-base lee cada par consulta-candidato y reordena el grupo más pequeño; el reordenamiento está desactivado por defecto.

Los canales de Página, episódico y de hechos son opcionales y degradan a las señales de búsqueda restantes si no están disponibles. El Espacio aún limita el alcance de lectura. Métodos, valores predeterminados y limitaciones ->

Dos ciclos de vida, un sistema de conocimiento mantenido

Un wiki generado puede volverse obsoleto; un almacén de memoria puede fragmentarse en hechos desconectados. Wenlan enlaza dos ciclos de vida sin colapsarlos en una sola capa.

An earlier memory remains linked after an explicit superseding capture. When a Page is stale, Wenlan rebuilds it from current Sources and Memories, records the revision, and stages changes to human writing for review.

Memoria Atómica

CAPTURE -> CLASSIFY -> ENRICH -> LINK -> RECONCILE

La captura y la supersesión explícita son fundamentales. Las etapas basadas en modelos se ejecutan solo cuando el modelo correspondiente está configurado, y el paso de reconciliación está desactivado por defecto.

OperaciónQué hace Wenlan
CapturaLos agentes escriben una idea completa y autocontenida por Memoria, siguiendo el principio de nota atómica de Zettelkasten en lugar de guardar toda la conversación.
ClasificaciónCon el modelo en el dispositivo, Wenlan asigna identity, preference, decision, lesson, gotcha o fact; un tipo preciso proporcionado por el llamador sigue siendo autoritativo.
EnriquecimientoCon el modelo en el dispositivo, añade campos estructurados, señales de recuperación, fechas de eventos, calidad, importancia y etiquetas cuando están disponibles.
EnlazadoConserva la procedencia y, cuando el enriquecimiento está habilitado, conecta Memorias a entidades y relaciones en el grafo de conocimiento.
ReconciliaciónLos reemplazos explícitos preservan una cadena de supersedes. Un reemplazo de un agente cuyo nivel de confianza está por debajo del completo se pone en cola para revisión humana automáticamente, sin necesidad de bandera. Un paso opcional en el dispositivo también puede poner en cola conflictos protegidos para revisión en lugar de sobrescribir el historial; ese paso está desactivado por defecto y debe habilitarse explícitamente.

Configuración avanzada: establece WENLAN_ENABLE_DUAL_POOL_RESOLVE=1 para habilitar ese paso de reconciliación.

Página Mantenida

DISTILL -> CITE -> TRACK -> REFRESH -> REVIEW

OperaciónQué hace Wenlan
DestilarCompila Fuentes y Memorias relacionadas en una sola Página Markdown.
CitarConserva registros de citas y estado de verificación; la actualización automática descarta un borrador cuando falla su verificación de respaldo de citas.
RastrearRegistra qué evidencia respalda la Página, por qué quedó obsoleta y un historial de cambios limitado.
ActualizarCuando una Página se marca como obsoleta, reconstruye la Página mantenida por máquina elegible a partir de la evidencia actual.
RevisarConvierte los cambios en una Página que editaste en una revisión propuesta en lugar de una reescritura silenciosa.

Por ejemplo, importa un documento de diseño y captura una decisión de depuración en Codex. Wenlan puede compilar una Página que cite ambos. Cuando esa Página se actualiza, se reconstruye desde su respaldo actual; si la has editado, el cambio propuesto espera revisión.

Markdown local que funciona con Obsidian

Tu síntesis duradera permanece como archivos ordinarios en lugar de un formato de editor propietario:

  • Archivos simples: Las Páginas y notas de sesión permanecen como Markdown bajo ~/.wenlan/.
  • Historial inspeccionable: Los flujos de destilación y transferencia pueden confirmar lotes lógicos de archivos en un repositorio git local.
  • Coexistencia con Obsidian: Wenlan lee una bóveda existente como fuente. Enlaza simbólicamente ~/.wenlan/pages/ dentro de la bóveda o exporta una Página desde la aplicación de escritorio; tus ediciones siguen siendo de propiedad humana, y las actualizaciones automáticas posteriores se convierten en revisiones revisables.

El historial local es directamente inspeccionable:

$ git -C ~/.wenlan log --oneline
a1b2c3d distill: 4 pages
9f8e7d6 session: embedding-work

Capacidades

  • Importación de chat: Trae archivos ZIP de exportación de ChatGPT o Claude; Wenlan omite automáticamente conversaciones ya importadas.
  • Fuentes de documentos: Ingiere un archivo .md, .txt o .pdf con texto extraíble; recorre recursivamente una carpeta de ellos; o indexa Markdown desde una bóveda de Obsidian.
  • Sincronización incremental: Las Fuentes regulares de archivos y carpetas rastrean cambios en segundo plano; las bóvedas de Obsidian permanecen de solo lectura y se resincronizan bajo demanda.
  • Memoria atómica: Los clientes MCP guardan una decisión, lección, corrección, preferencia o hecho completo, con procedencia y sustitución que registra de dónde proviene y qué reemplaza.
  • Enriquecimiento tipado: Un modelo configurado clasifica cada Memoria y luego agrega los campos estructurados definidos para su tipo, más fechas, etiquetas, señales de recuperación y enlaces de grafo.
  • Páginas respaldadas por fuentes: Destila Fuentes y Memorias relacionadas en Páginas Markdown con referencias de fuentes y [[wikilinks]]; el daemon puede verificar y registrar citas por afirmación.
  • Actualización con control de citas: La actualización automática rechaza borradores con pocas citas; las Páginas de máquina se actualizan mientras las ediciones humanas se convierten en revisiones revisables.
  • Recuperación híbrida: FTS5 encuentra palabras exactas, los embeddings locales BGE encuentran significado y RRF fusiona sus rangos; los enlaces de grafo pueden agregar contexto.
  • Canales de recuperación: Canales opcionales de Página, episódicos y por hecho amplían el recuerdo; el reordenamiento con cross-encoder puede mejorar la precisión.
  • Grafo de conocimiento: Entidades, relaciones y observaciones tipadas conectan personas, proyectos, afirmaciones y Memorias de respaldo.
  • Revisión con intervención humana: El trabajo rutinario permanece automático; conflictos protegidos, revisiones de Página, fusiones de entidades y nuevo vocabulario esperan juicio.
  • Espacios: Mantén conocimiento laboral, personal, de clientes y de repositorios dentro de un alcance de recuperación explícito.
  • Daemon local + MCP: Un daemon Rust ligero sigue siendo la fuente local de verdad. La aplicación de escritorio y la CLI lo llaman directamente; los clientes de IA usan pequeños conectores MCP para alcanzar el mismo conocimiento.
  • Integraciones personalizadas: La API HTTP de localhost acepta texto preparado, contenido de páginas web y Memorias de otros flujos de captura.
  • Mantenimiento en segundo plano: El daemon sigue funcionando después de que la aplicación de escritorio se cierra, ejecutando sincronización configurada, enriquecimiento, trabajo de citas y actualización de Páginas elegibles.
  • Elección de modelo: La recuperación base permanece local; el enriquecimiento y la síntesis pueden usar Qwen en el dispositivo, un endpoint local o un modelo en la nube configurado.
  • Propiedad inspeccionable: Las Memorias y los datos de grafo permanecen en libSQL local; Markdown, citas, revisiones, historial git y exportaciones de Obsidian permanecen inspeccionables.
  • Verificaciones de salud de solo lectura: doctor verifica el tiempo de ejecución; lint encuentra citas malformadas, enlaces huérfanos, embeddings rotos y problemas de integridad del índice de búsqueda o grafo sin reescribir conocimiento.

Flujo de trabajo diario

El sistema anterior se convierte en un pequeño ciclo diario: comienza con conocimiento relevante, captura lo que importa mientras trabajas, cierra con una transferencia y deja que Wenlan refine lo que debería volver la próxima vez. Cada pasada deja la misma base de conocimiento más nítida en lugar de crear otra historia desconectada.

El ciclo tiene cuatro pasos:

  1. Captura y encuentra conocimiento mientras trabajas. /capture <thing> guarda una decisión, lección, trampa o hecho con su fuente. /recall <query> recupera solo lo relevante en lugar de cargar todo tu historial.
  2. Encuentra conocimiento actual. Abre una Página relevante, busca o usa /recall <query>; /brief [topic] lee el Brief — la instantánea de proyecto continua del Espacio, escrita primero por /handoff — y un tema agrega contexto etiquetado por separado desde ese mismo Espacio. Los clientes sin comandos de plugin usan las herramientas equivalentes de página, búsqueda, recuerdo y brief.
  3. Cierra el ciclo. /handoff registra qué cambió y aplica actualizaciones tipadas a nivel de elemento al Brief del Espacio actual.
  4. Mantén la wiki actualizada. /distill crea o actualiza páginas deliberadamente. Entre sesiones, pasadas opcionales respaldadas por modelos pueden enriquecer capturas, conectar entidades relacionadas y actualizar páginas elegibles. /lint verifica la salud del conocimiento; /curate te trae revisiones propuestas y cualquier elemento de revisión de conflictos creado por la pasada de reconciliación opcional.

Cola sin conexión (bandeja de salida)

Si el daemon local no está disponible, wenlan capture y wenlan brief update escriben sus solicitudes en una bandeja de salida local duradera y salen con éxito. Cuando el daemon regresa, drena esas escrituras a través de las rutas HTTP normales; inspecciona la cola con wenlan outbox status o solicita una reproducción inmediata con wenlan outbox drain. Una escritura que el daemon rechaza directamente (un 4xx, como fallar el control de calidad de contenido) se mueve a outbox/failed/ con un recibo en lugar de reintentar para siempre; una falla de transporte o error de servidor (5xx) la deja en cola para el próximo drenaje, que se ejecuta automáticamente cada 60 segundos.

Modelos y privacidad

  • Recuperación base local: El modelo de embeddings BGE se ejecuta a través de FastEmbed en tu máquina para búsqueda híbrida y no necesita clave API.
  • Síntesis opcional en el dispositivo: El enriquecimiento y la síntesis de Páginas pueden usar Qwen3 4B o Qwen3.5 9B seleccionados por el usuario a través de llama.cpp. Wenlan no descarga ni activa un modelo de lenguaje hasta que elijas uno.
  • Otros proveedores: Un endpoint local compatible con OpenAI como Ollama o LM Studio, o un proveedor en la nube configurado, puede proporcionar enriquecimiento y síntesis respaldados por modelos en su lugar.
  • Divulgación en la nube: Si el endpoint del modelo que seleccionas es remoto, Wenlan envía los prompts de sistema y usuario de esa tarea a él. La recuperación local y la síntesis en el dispositivo permanecen en tu máquina.
  • Estadísticas de uso opcionales: Desactivadas por defecto. Si optas por participar, Wenlan envía conteos de operaciones limitados, versión y plataforma — no tu contenido de conocimiento ni un ID de instalación. Consulta privacidad.

Referencia completa del flujo de trabajo: plugin/skills. Roles técnicos del modelo: fundamentos técnicos.

Tus datos y desinstalación

Nada está bloqueado. Las Páginas y notas de sesión son Markdown bajo ~/.wenlan/; las memorias viven en una base de datos libSQL bajo el directorio de datos de la plataforma (~/Library/Application Support/wenlan/ en macOS, ~/.local/share/wenlan/ en Linux, %LOCALAPPDATA%\wenlan\ en Windows). Copia esas dos carpetas para respaldar o mover una Wenlan. Una instalación actualizada desde Origin aún tiene una copia completa de sus datos en ~/.origin/ y en la carpeta de datos hermana origin (~/Library/Application Support/origin/ en macOS, ~/.local/share/origin/ en Linux, %LOCALAPPDATA%\origin\ en Windows); elimina o copia esas dos también.

Para desinstalar: el interruptor Ejecutar Wenlan en segundo plano al iniciar sesión de la aplicación elimina el registro de inicio — apágalo, sal y elimina Wenlan.app o ejecuta el desinstalador de Windows, luego elimina las carpetas anteriores. wenlan background off solo detiene el daemon y desactiva el inicio automático; no elimina el registro de inicio, por lo que una instalación solo CLI debería seguir la viñeta de desinstalación del daemon en PRIVACY.md. Las rutas que escribe Wenlan se enumeran allí.


Evaluación

Esta es una instantánea solo de recuperación, no una afirmación sobre la calidad de la respuesta de extremo a extremo. El método, los recibos de entorno y el flujo de trabajo de actualización viven en docs/eval.

BenchmarkRecall@5MRRNDCG@10
LME_Oracle (500 Q)93.6%0.8570.883
LME_S (profundo, 90 Q)87.7%0.8150.822

Aprende más

Documentación más detallada, conceptos y comparaciones:

Documentación

  • Comenzar: instala y verifica el primer ciclo local.
  • Flujo de trabajo diario: brief, captura, recuerdo, transferencia, destilación, lint y curación.
  • Clientes MCP: conecta Claude Code, Codex, Cursor, Claude Desktop y otros clientes.

Guías de flujo de trabajo

Conceptos

Comparaciones


Contribuir

Correcciones de errores, casos de evaluación, documentación y características son bienvenidos. Instalar Wenlan no requiere compilar desde el código fuente. Para desarrollo local, ejecuta estos comandos desde la raíz de este repositorio:

# daemon crates (default-members — the desktop app is not compiled)
cargo build
cargo test

# desktop app (Cargo target and root-level frontend tooling)
pnpm install
pnpm dev:all
pnpm build:all

pnpm dev:all es el punto de entrada de desarrollo compatible para la aplicación de escritorio. Mantiene los puertos de desarrollo, los datos, la propiedad de los procesos, la identidad de la aplicación, los sockets MCP y el estado de acceso remoto separados del runtime de producción instalado; una aplicación de depuración iniciada sin esa aislamiento se niega a ejecutarse. Consulte el AGENTS.md y CONTRIBUTING.md de este repositorio, además del app/AGENTS.md incluido en el árbol, para conocer el flujo de trabajo de desarrollo completo. Informes de seguridad: SECURITY.md. Política de privacidad: PRIVACY.md. Lea también el Código de Conducta.


Política de firma de código

Firma de código gratuita proporcionada por SignPath.io, certificado por SignPath Foundation.

  • Autores: @7xuanlu, quienes pueden hacer commits a este repositorio sin revisión adicional.
  • Revisores: @7xuanlu. Cada cambio de alguien que no es committer llega como una solicitud de extracción y se revisa antes de fusionarse.
  • Aprobadores: @7xuanlu, quienes aprueban cada solicitud de firma y deciden qué versión se firma.

Se requiere autenticación multifactor para cada mantenedor, tanto en GitHub como en SignPath, y nadie se agrega a ninguno sin ella. Las versiones se construyen solo mediante el flujo de trabajo de versiones etiquetadas en este repositorio, en ejecutores alojados en GitHub, desde el commit al que apunta la etiqueta.

Política de privacidad: PRIVACY.md — qué almacena Wenlan, dónde lo almacena y cada caso que conocemos en el que llega a la red. Cómo se firma cada plataforma: docs/code-signing.md.

La aplicación SignPath está pendiente. Los instaladores de Windows aún no están firmados.


Licencia

Wenlan usa dos licencias, una por cada parte del repositorio.

  • Apache-2.0 (LICENSE) cubre el runtime local, CLI, servidor MCP, tipos compartidos y los archivos de plugins de Claude Code y Codex. Construya sobre estos libremente.
  • AGPL-3.0-only (app/LICENSE) cubre la aplicación de escritorio: el crate app/ y el frontend React que incluye. Si ejecuta una versión modificada de la aplicación como servicio de red, la AGPL le pide ofrecer ese código fuente modificado a sus usuarios.

La división es deliberada. El código Apache-2.0 puede usarse dentro de un programa AGPL-3.0, por lo que la aplicación de escritorio se construye sobre el runtime sin que ninguna licencia se viole.


Linaje y pares

Wenlan (文瀾) toma su nombre de 文瀾閣, una biblioteca imperial que albergaba 四庫全書 como parte de una de las colecciones de libros más grandes de China.

El modelo llm-wiki v2 de Wenlan es su propia dirección de producto, informada por los linajes de LLM-wiki y agent-memory: