Los 25 modelos SQLAlchemy en
backend/app/models/__init__.py, con sus esquemas Pydantic en formato
wire. La superficie de sincronización incluye 28 tablas (los 25
modelos + 3 tablas de asociación: project_subjects,
project_tags, user_badges).
Los 14 modelos originales de v0.7.0 se documentan en detalle a
continuación; los 11 añadidos desde entonces (imports de la Fase 12+,
materias/etiquetas de la Fase 22, gamificación + anki de las Fases
29-30, notebooklm de la Fase 32) se listan al final por nombre +
tabla. Consulta la especificación OpenAPI en /api/openapi.json para
todos los campos de cada modelo.
anthropic / openai / gemini, por defecto anthropic
api_key_anthropic
string | null
Cifrado con Fernet; solo backend
api_key_openai
string | null
Cifrado con Fernet; solo backend
api_key_gemini
string | null
Cifrado con Fernet; solo backend
model_override_anthropic
string | null
Por defecto null (usa el por defecto del plugin)
model_override_openai
string | null
Por defecto null
model_override_gemini
string | null
Por defecto null
El esquema wire (UserSettingsOut) reemplaza los tres campos
api_key_* con booleanos has_<provider>_key: bool:
el texto plano nunca viaja de vuelta al cliente. Desde v1.20.0 /
Fase 34, el esquema wire también lleva
key_source_<provider>: ApiKeySource (enum:
env | secrets_yaml | settings | none) que indica qué capa
eligió el resolvedor.
classLearningMethod(str,Enum):DEDUCTIVE="deductive"INDUCTIVE="inductive"ERROR_BASED="error_based"DIALOGIC="dialogic"CONTEXTUAL="contextual"AI_ADAPTIVE="ai_adaptive"classSessionStatus(str,Enum):ACTIVE="active"COMPLETED="completed"ABANDONED="abandoned"classMessageRole(str,Enum):USER="user"ASSISTANT="assistant"SYSTEM="system"classAIProvider(str,Enum):ANTHROPIC="anthropic"OPENAI="openai"GEMINI="gemini"# Desde v1.20.0 / Fase 34classApiKeySource(str,Enum):ENV="env"SECRETS_YAML="secrets_yaml"SETTINGS="settings"NONE="none"# Desde v0.9.0 / Fase 12classImportedConversationSource(str,Enum):CHATGPT="chatgpt"CLAUDE="claude"GEMINI="gemini"MANUAL="manual"UNKNOWN="unknown"
La forma wire es el valor de cadena en minúsculas (p. ej.
"deductive", no "DEDUCTIVE").
Modelos añadidos desde el punto de referencia v0.7.0 (11)¶
Modelo
Tabla
Desde
Propósito
ImportedConversation
imported_conversations
v0.9.0
Un chat importado (fuente, título, analysis_result JSON)