keel-core
Local-first personal cognitive engine that provides MCP tools for managing relationships, conversations, agenda, and memory, powered by Ollama.
README
keel-core
Motor de extensión cognitiva personal — local first, sin APIs externas.
Keel mantiene el contexto de tus relaciones (quién eres, cómo piensas, con quién hablas) y usa un LLM local vía Ollama para ayudarte a redactar respuestas fieles a tu voz, recordar acuerdos, preparar conversaciones y mantener el ritmo relacional.
Requisitos
- Python 3.11+
- Ollama corriendo localmente (
ollama serve) - macOS (Linux compatible; Windows no probado)
Instalación
# Desde el repositorio local
bash install.sh
# Primera vez que uses búsqueda semántica, fastembed descarga ~90MB
keel buscar "prueba"
El instalador crea el entorno virtual, enlaza el binario en ~/.local/bin/keel y ejecuta keel init.
Para desinstalar (preserva tus datos en ~/.keel/):
bash uninstall.sh
Inicio rápido
# 1. Inicializar y editar tu perfil
keel init
keel perfil editar # abre en $EDITOR
# 2. Agregar una persona
keel persona add Carlos --rol "Director de Producto" --contexto "cofundador anterior"
# 3. Primera conversación
keel conversar "Hola, ¿cómo vas con el lanzamiento?" --persona Carlos
# 4. Ver tu agenda
keel agenda ver
# 5. Resumen del día
keel hoy
Referencia de comandos
Conversación
| Comando | Descripción |
|---|---|
keel conversar "msg" --persona X |
Mensaje → tono → sugerencia → editor → guardado |
keel clip --persona X |
Lee del clipboard, devuelve sugerencia al clipboard |
keel respond "msg" --persona X |
Sugerencia directa sin flujo interactivo |
Personas
keel persona add Nombre --rol "rol" --contexto "cómo os conocéis"
keel persona list
keel persona show Nombre # vista completa con historial y promesas
keel persona editar Nombre # abre en $EDITOR
keel persona renombrar Viejo Nuevo
keel persona eliminar Nombre
keel persona fusionar Origen Destino
Agenda y compromisos
keel agenda ver # todas las promesas pendientes
keel agenda ver --persona Carlos # filtrado por persona
keel agenda add --persona X --descripcion "..." --fecha 2026-08-01
keel agenda completar --persona X --indice 0
keel agenda posponer --persona X --indice 0 --fecha 2026-09-01
keel agenda notificar # notificaciones macOS para promesas urgentes
Memoria y búsqueda
keel remember "Acordamos entregar el prototipo en julio" --persona Carlos
keel buscar "prototipo" # búsqueda semántica/keyword
keel buscar "legal" --persona Ana --desde 2026-01-01
keel historial --persona Carlos --top 10
keel pregunta "¿qué acordamos sobre el proyecto?" --persona Carlos
keel pregunta "¿con quién hablé de temas legales?" # búsqueda global
keel hoy # actividad del día actual
keel hoy --fecha 2026-06-15
Notas personales
keel notas add "Decidí no renovar el contrato" --temas "legal,decisión"
keel notas ver
keel notas ver --top 20 --desde 2026-06-01
keel notas buscar "contrato"
keel notas borrar <id>
Las notas aparecen automáticamente en keel pregunta (modo global).
Síntesis y reflexión
keel sugerir # quién contactar hoy y por qué
keel preparar --persona Carlos # briefing pre-conversación
keel reflexionar # digest semanal de relaciones
keel stats # panorama estadístico del grafo
Perfil
keel perfil show
keel perfil editar # abre perfil.json en $EDITOR
keel perfil actualizar # analiza historial y sugiere actualizaciones
Contexto para LLMs externos
keel volcar # dump completo para Claude.ai
keel volcar --persona Carlos # solo una persona
keel volcar --clipboard # copia directamente al portapapeles
keel volcar --recientes 5 # N conversaciones por persona (default: 3)
keel volcar --output contexto.md # guarda en archivo
keel export # export básico de personas (sin framing LLM)
keel exportar-obsidian # exporta a vault de Obsidian
Datos y backup
keel backup # ZIP de ~/.keel/ con fecha
keel backup --output ~/backups/keel.zip
keel restaurar archivo.zip
keel importar chats.txt --persona Carlos # importa historial WhatsApp/CSV/texto
keel cifrar # activa cifrado AES-256-GCM (opt-in)
keel descifrar # desactiva cifrado
Sistema
keel status # estado: versión, Ollama, personas, config
keel config ver
keel config set modelo_ollama qwen2.5-coder:7b
keel config set dias_silencio 21
keel update # actualiza desde git
Integración con Claude Code (MCP)
# Registrar el servidor MCP
claude mcp add keel -- keel mcp
# Verificar
claude mcp list
Tools disponibles (17)
| Tool | Descripción |
|---|---|
keel_get_context |
Contexto relacional de una persona |
keel_respond |
Sugerencia de respuesta |
keel_remember |
Registrar conversación o promesa |
keel_list_personas |
Listar personas |
keel_get_persona |
Datos completos de una persona |
keel_buscar |
Búsqueda en historial |
keel_pregunta |
Pregunta al LLM con historial como contexto |
keel_reflexionar |
Digest semanal relacional |
keel_aprender |
Sugerencias de actualización del perfil |
keel_preparar |
Briefing pre-conversación |
keel_historial |
Historial cronológico con filtros |
keel_stats |
Estadísticas del grafo |
keel_agenda_add |
Registrar promesa con fecha |
keel_sugerir |
Sugerencias de contacto por urgencia |
keel_notas_add |
Capturar nota personal |
keel_notas_buscar |
Buscar en notas |
keel_notas_ver |
Listar notas recientes |
Flujos típicos
Mañana (2 min)
keel hoy # qué pasó ayer
keel sugerir # a quién contactar
keel agenda ver # promesas urgentes
Antes de una reunión
keel preparar --persona Carlos
# O desde Claude Code: keel_preparar(persona="Carlos")
Después de una conversación
keel conversar "Su mensaje..." --persona Carlos
# El historial queda guardado e indexado automáticamente
Capturar una decisión propia
keel notas add "Decidimos posponer el lanzamiento a Q4" --temas "producto,decisión"
# O desde Claude Code: keel_notas_add("Decidimos posponer...")
Usar keel con Claude.ai (sin MCP)
keel volcar --clipboard
# Pega el contexto en la conversación de Claude.ai
Revisión semanal
keel reflexionar --clipboard # genera digest y copia a portapapeles
keel stats
Estructura de datos
~/.keel/
perfil.json Voz, valores, contexto vital del usuario
config.json Preferencias (modelo, vault, umbrales)
notas.json Notas personales
personas/
carlos.json Historial, temas, promesas por persona
ana.json
vectorial/ Índice LanceDB para búsqueda semántica
.cifrado Marker de cifrado AES-256-GCM (si activo)
Privacidad
Todo corre localmente. El LLM es Ollama en tu máquina. ~/.keel/ nunca sale de tu equipo salvo que lo copies explícitamente. Usa keel cifrar para proteger los datos en reposo con AES-256-GCM y clave en el Keychain de macOS.
Desarrollo
pip install -e ".[dev]"
make test # pytest (excluye tests MCP lentos)
make test-all # incluye tests MCP (~5 min)
make lint # ruff
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。