Skip to content
o7labs-uyPublic

Latest commit

 

History

418 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Logo de Geode: una geoda low poly

Geode

Notas en Markdown que nunca se pierden.
Una app de notas local-first con historial automático: escribí, probá y volvé atrás sin miedo.
MCP ready: tu bóveda también es la memoria de tus asistentes de IA.

CI Licencia: MPL 2.0 Versión Plataformas MCP ready PRs bienvenidos

Electron React TypeScript Vite

Características · Instalación · Uso · Memoria para IA · Plugins · Desarrollo · Contribuir · Hoja de ruta


Geode: editor con barra de formato y propiedades a la izquierda, vista previa en vivo con un diagrama Mermaid a la derecha, y en el costado el explorador, las etiquetas y la línea de tiempo

¿Qué es Geode?

Geode es una app de escritorio para tomar notas en Markdown, en archivos comunes de tu computadora. La diferencia con otras apps de notas está en su memoria:

  • Cada cambio queda guardado. Geode versiona tus notas solo, en segundo plano, con git como motor. No necesitás saber qué es git: nunca vas a ver un "commit" ni un "merge" (salvo que actives el Modo Avanzado).
  • Podés volver a cualquier momento. Una línea de tiempo te muestra toda tu bóveda tal como estaba ese día, y con un click traés esa versión al presente. Lo nuevo no se borra.
  • Tus notas son tuyas. Son archivos .md en una carpeta. Sin servidores propios, sin cuenta obligatoria, sin formato cerrado. Si mañana dejás de usar Geode, todo sigue ahí.

El principio de diseño: nada de lo que escribís puede perderse, y la técnica queda escondida para quien no la necesita.

Características

Historial sin miedo

  • Línea de tiempo de toda la bóveda: viajá al pasado en modo lectura y traé cualquier versión con «Volver aquí».
  • Guardado automático y versiones con nombre (Ctrl+S). La IA, si la activás, describe qué cambió.
  • Diferencias legibles: qué se agregó y qué se quitó, en palabras.
  • Instantáneas de seguridad antes de cualquier operación que reescriba notas.

Escribir cómodo

  • Editor CodeMirror con barra de formato y atajos (Ctrl+B, Ctrl+I…).
  • Tablas fáciles: grilla para insertar, Tab entre celdas y editor visual tipo planilla.
  • Vista previa en vivo al lado mientras escribís.
  • Paneles divididos y pestañas, como en VS Code.
  • Imágenes: pegá o arrastrá y quedan guardadas en la bóveda.
  • Dictado por voz con un atajo global (Ctrl+Alt+Espacio), aunque Geode no esté al frente.

Pensar en red

  • Enlaces [[wiki]] con autocompletado y enlaces entrantes.
  • Al renombrar o mover una nota, los enlaces se actualizan en toda la bóveda.
  • #etiquetas (anidadas, como #trabajo/urgente) y propiedades editables sin ver YAML.
  • Búsqueda de texto completo sin tildes ni mayúsculas (Ctrl+Shift+F).
  • Notas diarias (Ctrl+Shift+D) y plantillas.

Compatible y extensible

  • Abrí tu bóveda de Obsidian tal cual: enlaces, adjuntos, callouts, ==resaltado==, propiedades y etiquetas.
  • Diagramas Mermaid integrados.
  • Respaldo en la nube gratis en un repositorio privado de GitHub, con sync entre computadoras que resuelve conflictos sin perder nada.
  • Plugins de la comunidad, aislados del resto de la app.
  • Memoria para IA: conectá Claude, Cursor u otro asistente por MCP y usá tu bóveda como su memoria. Cada cambio de la IA queda versionado y se puede deshacer (más).
  • Tema claro y oscuro, interfaz en español e inglés.
  • Fórmulas LaTeX ($…$, $$…$$) con KaTeX incluido, con botones en la barra de formato; notas al pie, favoritas y exportar a PDF.
Viaje en el tiempo: la bóveda se muestra como estaba en una versión anterior, con el aviso «Estás viendo el pasado» y los botones «Volver al presente» y «Volver aquí»
Viajando al pasado: toda la bóveda se ve como estaba en esa versión. «Volver aquí» la trae al presente sin borrar nada.

Geode y Obsidian

Geode toma muchas ideas de Obsidian y es compatible con sus bóvedas. Lo que cambia es el foco:

Geode Obsidian
Notas en Markdown local Sí Sí
Historial de toda la bóveda Integrado y automático (git) Plugin o Sync (pago)
Volver a cualquier momento Línea de tiempo de toda la bóveda Historial por archivo
Respaldo y sync Gratis, en tu GitHub privado Sync (pago) o plugins
Enlaces, etiquetas, propiedades Sí, compatibles Sí
Memoria para IA (MCP) Integrada, versionada y reversible Plugins de la comunidad
Plugins de terceros Aislados (sandbox) Acceso completo
Código fuente Abierto (MPL 2.0) Cerrado
Ecosistema y app móvil En crecimiento (sin móvil todavía) Muy grande, con móvil

Memoria para IA (MCP)

Geode es MCP ready: trae un servidor MCP integrado para que Claude, ChatGPT, Cursor, Gemini o cualquier asistente compatible use tu bóveda como memoria de largo plazo. La IA busca y lee tus notas, y guarda lo que vale la pena recordar: decisiones, preferencias, contexto de tus proyectos.

Recomendamos usar Geode como la memoria de tus IAs, en lugar de la memoria propia de cada proveedor:

  • Compatible con todos los proveedores. Es la misma memoria para todos tus asistentes, no una distinta encerrada en cada producto. Si mañana cambiás de IA, tu memoria se queda con vos.
  • Inmutable. Por la naturaleza de Geode, cada cambio que hace la IA queda guardado como una versión más, con su nombre como autor. Nada se sobrescribe ni se pierde: ves qué recordó, cuándo y por qué, y lo deshacés con un click.
  • En todos tus dispositivos. Con el respaldo en la nube activado, lo que la IA aprende en una computadora se sincroniza solo con las demás.
  • Tuya y legible. Son notas Markdown comunes: las leés, las corregís y las organizás como cualquier otra nota.
  • Sin costo extra. El servidor MCP no usa tu API key: no gasta tokens por su cuenta.

Para conectarlo, entrá a Ajustes → Memoria para IA y copiá el comando para Claude Code o el bloque de configuración para Claude Desktop, Cursor y otros. Los detalles técnicos, incluido cómo se manejan las escrituras simultáneas, están en docs/MCP.md.

Instalación

Descargar

Los instaladores se publican en Releases. Windows es la plataforma principal hoy; macOS y Linux se pueden compilar desde el código.

Desde el código

Requisitos: Node.js 22+ y npm.

git clone https://github.com/chewax/geode.git
cd geode
npm install
npm run dev

Si al arrancar aparece «Electron uninstall», el binario de Electron no se descargó. Corré node node_modules/electron/install.js y volvé a probar.

Uso

  1. Primer cuaderno. Al abrir Geode, «Crear mi primer cuaderno» arma una carpeta en Documentos/Geode. También podés abrir una carpeta existente, incluida una bóveda de Obsidian.
  2. Escribí. Todo se guarda solo. Con Ctrl+S guardás una versión con nombre.
  3. Volvé atrás cuando quieras. En Línea de tiempo elegí un momento: ves la bóveda como estaba. «Volver aquí» trae esa versión al presente.
  4. Respaldá en la nube (opcional). El botón de respaldo te guía para crear una copia privada en GitHub. A partir de ahí, tus computadoras se sincronizan solas.

Atajos

Atajo Acción
Ctrl+S Guardar una versión con nombre
Ctrl+P Paleta de comandos
Ctrl+O Abrir una nota por su nombre
Ctrl+Shift+F Buscar en todas las notas (#etiqueta, estado:pendiente, fecha:>2026-01-01)
Ctrl+Shift+D Abrir la nota de hoy
Ctrl+Alt+Espacio Dictar (empezar / terminar), desde cualquier app
Ctrl+\ Dividir el editor
Ctrl+B / Ctrl+I Negrita / cursiva
Ctrl+K Asistente de escritura con IA
[[ Enlazar otra nota (autocompleta)
Ctrl+Click Abrir el enlace o la etiqueta bajo el cursor

En macOS, Ctrl es Cmd.

IA (opcional)

Geode puede usar IA para describir versiones, ayudarte a escribir y transcribir dictados. Está apagada por defecto y nada se manda a la IA sin que lo pidas. En Ajustes → Inteligencia artificial elegís el motor:

  • OpenRouter con tu propia clave: pagás por uso, elegís entre cientos de modelos y el gasto se ve en la barra de estado.
  • Tu suscripción a Claude, ChatGPT o Gemini, a través de su programa oficial (Claude Code, Codex CLI o Gemini CLI) instalado y con la sesión iniciada en tu computadora. Geode no ve ni guarda tus credenciales: ejecuta ese programa con el pedido y lee la respuesta.

El dictado por voz necesita OpenRouter, porque esos programas no entienden audio.

Plugins

Los plugins agregan comandos, paneles, ítems en la barra de estado y bloques propios en la vista previa (como ```mermaid). Cada plugin corre aislado en un sandbox: sin acceso a tus archivos fuera de lo que expone la API y sin red.

  • Instalar: Ajustes → Plugins → Abrir carpeta, copiá ahí la carpeta del plugin, activalo y reiniciá.
  • Escribir uno: la guía para autores explica la API, el manifiesto y cómo empaquetar librerías.
  • Ejemplos: en examples/plugins/.
```progreso
7/10 Capítulo 3
45% Correcciones
```

El plugin de ejemplo barras-de-progreso dibuja este bloque como barras de avance.

Arquitectura

flowchart LR
  subgraph Renderer["Renderer (React, sandbox)"]
    UI[Interfaz] --- Host[Host de plugins]
    Host -. MessagePort .- P1[[Plugin aislado<br/>iframe]]
  end
  subgraph Main["Proceso main (Node)"]
    Vault[VaultService<br/>archivos]
    Git[GitService<br/>isomorphic-git]
    AI[AiService<br/>OpenRouter o CLI]
    GH[GithubService<br/>respaldo]
  end
  UI -- IPC tipado<br/>window.geode --> Main
  Vault --> Disk[(Carpeta .md)]
  Git --> Disk
  GH --> Cloud[(GitHub privado)]
Loading
  • Renderer sandboxeado (contextIsolation, sin Node) que habla con el main solo por un contrato IPC tipado (src/shared/ipc.ts).
  • isomorphic-git: no hace falta tener git instalado. La detección de cambios compara el contenido real (inmune al racy git).
  • Escrituras atómicas (temporal → fsync → rename): una nota nunca queda a medio escribir.
  • Plugins en iframes de origen opaco, servidos con su propia CSP. El renderer principal no tiene unsafe-eval.

Más detalle en docs/ARCHITECTURE.md y docs/PLUGINS-ARQUITECTURA.md.

Desarrollo

Comando Qué hace
npm run dev App en modo desarrollo (recarga en caliente)
npm test Tests (Vitest)
npm run typecheck Chequeo de tipos del main y del renderer
npm run build Typecheck + build de producción
npm run dist Instaladores con electron-builder
src/
  main/        Proceso main: ventana, IPC, servicios (vault, git, github, ia, plugins, dictado)
  preload/     Puente window.geode (CommonJS, requerido por el sandbox)
  renderer/    App React: editor, paneles, vista previa, plugins
  shared/      Contrato IPC y módulos puros (enlaces, búsqueda, tablas, Obsidian)
tests/         Tests de los módulos puros y de los servicios sobre carpetas temporales
docs/          Arquitectura, guía de plugins, capturas
examples/      Plugins de ejemplo

Stack: Electron, React, TypeScript, Vite/electron-vite, CodeMirror 6, isomorphic-git, marked + DOMPurify, Mermaid, Vitest.

Contribuir

¡Las contribuciones son muy bienvenidas! No hace falta ser experto: hay lugar para código, diseño, documentación, traducciones, plugins y reportes de errores.

  1. Leé la guía de contribución: cómo levantar el proyecto, convenciones y cómo abrir un PR.
  2. Buscá un issue con la etiqueta good first issue o ayuda bienvenida, o proponé una idea en Discussions.
  3. Abrí tu PR. Te vamos a ayudar a llevarlo a buen puerto.

Este proyecto sigue un código de conducta. Para reportar una vulnerabilidad, mirá la política de seguridad.

Hoja de ruta

  • Historial automático, línea de tiempo y viaje en el tiempo
  • Respaldo en la nube y sync entre computadoras
  • Enlaces, etiquetas, propiedades y compatibilidad con Obsidian
  • Plugins aislados con API pública
  • Dictado por voz
  • Búsqueda por propiedades (estado:pendiente)
  • Vistas en tabla por propiedades
  • Live preview (editar viendo el formato)
  • Permisos de plugins con consentimiento y listado de la comunidad
  • Instaladores firmados para macOS y Linux
  • App móvil

Las ideas sueltas viven en docs/IDEAS.md. Los cambios de cada versión, en el CHANGELOG.

Licencia

Geode se distribuye bajo la Mozilla Public License 2.0.

En pocas palabras: podés usarlo, modificarlo y distribuirlo, también con fines comerciales. Si modificás archivos de Geode y los distribuís, esos archivos tienen que seguir siendo abiertos bajo la MPL. Tu propio código en archivos aparte, por ejemplo un plugin, puede tener la licencia que quieras.

Agradecimientos

A los proyectos sobre los que está construido Geode: Electron, React, CodeMirror, isomorphic-git, marked, DOMPurify, Mermaid, Lucide y Vitest. Y a Obsidian, por mostrar cómo puede ser una buena app de notas.



Hecho con cariño en Uruguay · Si Geode te sirve, dejale una ★ al repo

Releases

Packages

Contributors

Languages