-
Notifications
You must be signed in to change notification settings - Fork 0
Spanish wiki wiki en español
Dynamic Memory Chunk (DMC) es una librería dinámica que permite instalar paquetes especializados según la necesidad del desarrollador. Cada paquete del ecosistema DMC sigue la misma filosofía central: chunks de memoria comprimidos — un formato optimizado para almacenamiento eficiente, recuperación e integridad de datos estructurados.
pip install dmcDMC descarga paquetes directamente de la carpeta DMC-registry en el repositorio de GitHub. Sin registros externos, sin archivos de configuración — solo .zip alojados en GitHub.
# Instalar un paquete
dmc install --package "nombre-paquete"
# Listar instalados y disponibles
dmc list
# Info detallada de un paquete
dmc info --package "nombre-paquete"
# Buscar en el registro
dmc search término
# Actualizar
dmc update --package "nombre-paquete"
dmc update --all
# Reinstalar
dmc reinstall --package "nombre-paquete"
# Eliminar
dmc remove --package "nombre-paquete"
# Eliminar módulos individuales (solo si no tienen dependientes internos)
dmc edit --package "nombre-paquete"
# Requirements
dmc freeze
dmc export --output requirements.txt
dmc import --file requirements.txt
# Descargar .zip sin instalar
dmc download --package "nombre-paquete"
dmc download --package "nombre-paquete" --export "/ruta/de/guardado/"DMC usa carga lazy — los paquetes solo se importan a memoria cuando se acceden por primera vez. Tener varios paquetes instalados no significa que todos se carguen al hacer import dmc.
import dmc
# Solo carga el paquete que accedes
dmc.paquete_a.MiClase()
# Los demás paquetes instalados no se cargan hasta que los necesitesAmbas formas de importar funcionan:
# Acceso por atributo
import dmc
dmc.paquete_a.MiClase()
# Import directo
from dmc import paquete_a
paquete_a.MiClase()Cada paquete DMC almacena datos en chunks — unidades discretas y comprimidas de información. El formato varía por paquete pero los principios son consistentes en todo el ecosistema:
- Compresión — los chunks se comprimen automáticamente (ZLIB para datos recientes o pequeños, LZMA para datos antiguos o grandes)
- Integridad — CRC32 por chunk en cada lectura; mirror SHA-1 opcional para verificación completa
- Recuperación — bloques de paridad XOR opcionales permiten reconstruir un chunk dañado a partir de su grupo
- Índice — un índice plano al final de cada archivo permite búsqueda rápida sin escanear todo el archivo
- Sesiones — los chunks se agrupan por sesión para recuperación contextual
- TTL — cada chunk puede tener tiempo de expiración; los expirados se excluyen de lecturas normales pero se conservan hasta ser eliminados explícitamente
- Relaciones — los chunks pueden referenciar un chunk padre, habilitando estructuras enlazadas
Los paquetes DMC diseñados para LLMs almacenan historial de conversación, contexto y conocimiento como chunks comprimidos. Este contenido se inyecta en el prompt en cada llamada — el LLM permanece stateless, pero desde su perspectiva tiene memoria persistente.
import dmc
import ollama
mem = dmc.amcx.SmartMemory("chat.amcx")
mem.append("user: ¿de qué hablamos antes?")
contexto = mem.get_recent(20)
respuesta = ollama.chat(
model="deepseek-r1",
messages=[
{"role": "system", "content": "\n".join(contexto)},
{"role": "user", "content": "Resume nuestra conversación."},
]
)
mem.append(f"assistant: {respuesta['message']['content']}")
mem.flush()Los paquetes DMC diseñados para agentes van más allá del historial de conversación — rastrean tareas, eventos agendados, llamadas a herramientas, errores y estado del agente entre sesiones.
import dmc
agente = dmc.dmc_agent_format.AgentMemory(
"agente.dmc",
session_id = 1,
use_mirror = True,
use_recovery = True,
)
agente.log_message("user", "Agenda una reunión mañana a las 10am")
task_id = agente.add_task("Enviar invitaciones", priority=dmc.dmc_agent_format.Priority.HIGH)
import time
agente.schedule_event("Reunión de equipo", start=int(time.time()) + 86400, location="Sala A")
agente.log_tool("calendar_api", {"action": "create"}, {"event_id": "evt_123"}, success=True)
agente.set_state({"objetivo": "agendar reunión", "paso": "esperando confirmación"})
agente.flush()
# Siguiente sesión — recuperar contexto
estado = agente.get_state()
tareas = agente.pending_tasks()
eventos = agente.upcoming_events(within_seconds=86400)
tl = agente.timeline(limit=10)Para uso en producción, activa mirror y recovery en cualquier paquete DMC que lo soporte:
# Mirror SHA-1 — detecta modificación o corrupción por chunk
status = agente.verify_mirror()
if not status.all_ok:
for problema in status.problems:
print(f"Chunk {problema.chunk_id}: {problema.status.value}")
# Recuperación XOR — reconstruye un chunk dañado desde su grupo de paridad
if agente.repair_chunk(chunk_id_dañado):
print("Chunk recuperado exitosamente.")este paquete es un clon de la libreria amcx lee la wiki para saber como usar la libreria wiki, se usa normalmete solo al principio usa dmc.amcx
en desarollo