Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Agent SessionsNew to Visual Studio Code? Get it now.
Agent Sessions

Agent Sessions

Zarritas

|
22 installs
| (1) | Free
Lista, previsualiza y reanuda tus sesiones de agentes de código (Claude Code, Codex, OpenCode, Gemini, Qwen Code, Goose, Factory Droid) en el terminal integrado.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Agent Sessions — extensión de VS Code

Lista, previsualiza y reanuda en el terminal integrado tus sesiones de agentes de código (Claude Code, Codex, OpenCode, Gemini).

Es la mitad "gestor de sesiones" del proyecto aterm portada a VS Code. El editor ya pone el terminal, así que la extensión solo aporta la UI (un WebviewView en la barra lateral con cards a tamaño real, no un TreeView) y delega todo el descubrimiento, metadata y transferencia en el binario sidecar agent-sessions-cli, que comparte el núcleo Rust (agent-sessions) con la app nativa. Una sola fuente de verdad.

Arquitectura

VS Code (TypeScript)                  Rust (compartido con aterm)
┌─────────────────────────┐  spawn   ┌────────────────────────────┐
│ WebviewView (cards)      │ ───────▶ │ agent-sessions-cli (JSON)  │
│ comando "Reanudar"       │ ◀─────── │  └─ agent-sessions (core)  │
│  └─ window.createTerminal│  stdout  └────────────────────────────┘
└─────────────────────────┘

El sidecar es read-only para las sesiones (rutas derivadas del $HOME, nunca recibe paths del editor). Sí escribe en ~/.config/aterm/session-metadata.json (rename/tags/color) y en ~/.claude/projects/** al importar — los mismos sitios que usa la app nativa, así ambas UIs ven la misma metadata.

Funciona en VS Code y en sus forks (Cursor, VSCodium, Windsurf, …): se publica en el Marketplace de VS Code y en Open VSX.

Funcionalidades

Panel y navegación

  • Panel de sesiones tipo card (avatar de proveedor, dos líneas de meta, acento de color del proyecto, acciones al hover) — no un TreeView.
  • Agrupado por proveedor / proyecto (cwd) / cascada / fecha (Hoy, Ayer, …) / grupo (colecciones propias). En la vista por proyecto, los subproyectos (cwd descendientes) se anidan bajo su proyecto ancestro.
  • Modo selección (multiselección con checkboxes): abrir varias sesiones, eliminar varias o agruparlas de una vez desde la barra de acciones.
  • Modo compacto (toggle de densidad) para ver más sesiones de un vistazo.
  • Plegar / desplegar todas las secciones con un botón.
  • Paleta de acciones (Ctrl/Cmd+Alt+A): quick-pick de todas las sesiones → menú de acciones, sin ratón.
  • Menú de acciones «⋯» en la barra del panel: todas las acciones de la extensión agrupadas, sin pasar por la paleta de comandos.
  • Modelo visible por sesión; indicador "abierta" (el clic enfoca el terminal existente en vez de duplicar el resume).

Reanudar y lanzar

  • Reanudar en el terminal integrado (clic o ▶) con el resumeArgv del proveedor.
  • Reanudar con prompt y Continuar en otro agente (handoff) desde el menú.
  • Nueva sesión eligiendo directorio (workspace / cwd conocido con alias / otra ruta), con acciones rápidas «nueva sesión aquí» y «abrir terminal aquí» en cada cabecera de proyecto.
  • Nueva sesión en varios proyectos a la vez (un terminal por carpeta elegida).
  • Smart-launch: agente recomendado según el cwd.
  • Compactar contexto (»«, solo Claude): lanza /compact sin reanudar, o «compactar con instrucciones…» (un prompt que enfoca el resumen, /compact <texto>).
  • Comandos del proyecto: explorador (botón en la cabecera de cada proyecto) que reúne, en secciones separadas, los slash-commands del proyecto (.claude/commands/**, versionados con el repo), los globales del usuario (~/.claude/commands/**), los scripts del repo (package.json/Makefile/justfile/Cargo) y las acciones de la extensión. Al lanzar un script puedes pasarle argumentos o ver su ayuda (--help) en vez de ejecutarlo a ciegas.
  • Comandos globales de usuario: acceso propio (menú «⋯» / comando) a los slash-commands de ~/.claude/commands, independiente de un proyecto: eliges dónde lanzarlos.
  • Terminal Profiles por proveedor en el desplegable + del terminal.
  • Plantillas de lanzamiento con etiquetas y cwd · comparativa paralela con un git worktree por agente. (funciones Pro — ver más abajo)

Búsqueda y filtros

  • Filtro con predicados: provider:, model:, cwd:, branch:, #tag, cost>, tokens>, ctx>, age<, has:notes|favorite|persisted, active:true.
  • Filtros rápidos: botón «solo activos» y popover «por etiqueta».
  • Búsqueda en el contenido (FTS) dentro del panel: el botón 🔍 usa el filtro como query y muestra los resultados con el fragmento resaltado.

Metadata y organización

  • Renombrar, etiquetas (+ catálogo de tags reutilizables), color, notas, favoritos e icono/emoji por sesión. Compartido con la app nativa (el icono se guarda en el estado de la extensión).
  • Grupos manuales: colecciones propias (nombre + color + icono) para agrupar sesiones; asignación por menú, por la barra de multiselección o arrastrando la card a un bucket de grupo, con su propia vista «por grupo».
  • Proyectos: alias, color e icono por cwd; drag & drop de Claude entre proyectos; añadir la carpeta del proyecto al workspace de VS Code con un clic.
  • Eliminar sesiones: una a una, en multiselección, o por fecha («más antiguas que N días»).

Persistencia y transferencia

  • ⭐ Persistir sesiones (Persistir en el menú): guarda una copia durable bajo ~/.config/aterm/archive que sobrevive aunque el proveedor borre el original por inactividad. La sesión sigue en el panel (badge naranja) y, al reanudarla, se restaura al vuelo a la ruta que Claude espera. (Restaurar/ reanudar: Claude por ahora.)
  • Export a .zip (byte-compatible con multi-claude) e import (Claude).
  • Backup/restore del catálogo (metadata + proyectos + plantillas).
  • Copiar/guardar la conversación como Markdown.

Costes y monitorización

  • Quota del proveedor: pill de % con cuenta atrás hasta el reset. El uso 5h/7d se obtiene de la fuente nativa de Claude o, si falta, del endpoint oficial de uso de Anthropic con cache propio — sin depender de plugins de terceros.
  • Dashboard con KPIs (sesiones, coste $, tokens), barras por proveedor/proyecto y sparkline de 30 días.
  • Alerta de coste diario + indicador en la barra de estado.
  • Estado del servicio como badge junto al nombre del proveedor; al pulsarlo abre su página de estado (Claude, Codex, Gemini, OpenCode). Notificaciones idle/finish con nivel configurable (notificationLevel: todas / importantes / errores / ninguna; los diálogos de confirmación nunca se silencian).
  • % de contexto por sesión; en Claude la ventana es fijable (claudeContextWindow: auto / 200k / 1M) para que el porcentaje no se infle en cuentas con ventana de 1M.

Integración

  • MCP server (agent-sessions-cli serve, OSS) + comando «Configurar servidor MCP…» (Pro) que lo registra con un clic. El servidor en sí es libre (puedes lanzarlo y configurarlo a mano, ver "Uso como MCP"); la conveniencia de registrarlo desde la extensión requiere licencia Pro.
  • Previsualizar la conversación en un panel estilado (turnos en burbujas con cabecera de metadatos y render Markdown), reutilizable entre sesiones.
  • Auto-localización del sidecar (empaquetado en el .vsix o target/).

Edición Pro

La extensión es open-core: casi todo es gratis. Unas pocas funciones avanzadas son Pro:

  • Gráfico de memoria: mapea la jerarquía de memoria del proveedor (global / proyecto / local + directorio de memoria) como árbol o vista de secciones, con preview estructurada de cada .md. Crear/añadir/borrar/notas: el agente redacta y la extensión guarda (con tu confirmación). Botón por proyecto.
  • Ejecutar scripts del proyecto (npm / Make / justfile / Cargo), agrupados por intérprete, con inferencia de argumentos y parseo de --help para CLIs seguros (cargo, python, uv, pytest…). (Los slash-commands del agente son gratis.)
  • Comparativa paralela (un agente por git worktree) + comparar/limpiar worktrees.
  • Plantillas de lanzamiento (guardar / lanzar / gestionar).
  • Perfiles de espacio de trabajo: guarda un conjunto de sesiones y reábrelas todas de un clic (restaura el entorno de un proyecto en segundos).
  • Dashboard Pro: informe visual (panel con gráficas — donut por proveedor, barras de proyectos/modelos, sparkline 30d) con filtros por rango de fecha y export a CSV. Accesible desde el botón «Informe avanzado (Pro)» del panel de estadísticas. (Los presupuestos admin→equipo se reservan para un futuro tier Team.)
  • Exportar conversación a HTML estilado (para compartir/archivar; PDF vía imprimir).
  • Automatizaciones: aviso cuando una sesión lleva idle más de N minutos (pro.idleAlertMin) y resumen diario de actividad/coste.
  • Configurar servidor MCP con un clic: registra el servidor MCP en .vscode/mcp.json (o copia el snippet) desde la extensión. El servidor en sí (agent-sessions-cli serve) es OSS y puedes configurarlo a mano gratis.
  • Portar sesión entre proveedores: lleva una conversación de un agente a otro. Genera un hand-off con la transcripción completa y lanza el proveedor destino sembrado con ese contexto. OpenCode vale como destino, no como origen (su contenido no es legible desde disco).
  • Duplicar proyecto para otro proveedor: clona la carpeta del proyecto y convierte su configuración de agente a las convenciones del destino — fichero de instrucciones (CLAUDE.md ↔ AGENTS.md ↔ GEMINI.md) y comandos personalizados (.claude/commands/*.md ↔ .gemini/commands/*.toml ↔ .opencode/command/*.md, incluidos los placeholders de argumentos). Excluye node_modules/build, conserva .git y deja un PORT-NOTES.md.

Hay una prueba de 14 días; un indicador en la barra de estado muestra «Pro / Prueba Nd / Activar Pro». Después de la prueba, esas acciones piden activar una licencia (las demás siguen gratis). Activa con «Agent Sessions: Activar licencia Pro…» y consulta el estado con «Estado de la licencia Pro».

Licencias (Lemon Squeezy)

Las claves son license keys de Lemon Squeezy: el comprador las recibe automáticamente al pagar y la extensión las valida online contra la License API pública de Lemon Squeezy (no requiere API key ni servidor propio). La validación se cachea, así que el gate funciona offline tras la primera activación.

Hay dos planes (anual y mensual); al pulsar «Comprar Pro» se elige plan y se abre su checkout. Configura en src/license.ts antes de publicar:

  • BUY_URL_ANNUAL / BUY_URL_MONTHLY: enlaces de checkout de Lemon Squeezy.
  • PRODUCT_ID (opcional): restringe las claves aceptadas a tu producto.

Instalar

Desde un .vsix

code --install-extension agent-sessions-<plataforma>-<versión>.vsix

El .vsix lleva el sidecar dentro, así que no necesitas compilar nada más.

En desarrollo (F5)

El core Rust (que produce el sidecar) vive como submodule en ./aterm. Clónalo recursivamente o inicialízalo:

git clone --recurse-submodules git@github.com:Aterm-labs/agent-sessions.git
# o, si ya lo tienes clonado:
git submodule update --init --recursive

Abre esta carpeta en VS Code y pulsa F5. La extensión auto-localiza el sidecar en aterm/target/release/agent-sessions-cli (o debug/…); si no existe, compílalo:

cargo build --release -p agent-sessions-cli --manifest-path aterm/Cargo.toml

O fija agentSessions.cliPath a una ruta concreta en los ajustes.

Empaquetar el .vsix

cd vscode-extension
npm install
./scripts/build-vsix.sh                 # auto-detecta plataforma host
./scripts/build-vsix.sh darwin-arm64    # explícito (requiere cross-compile)

El script construye agent-sessions-cli para el target indicado, lo deposita en bin/<rust-triple>/ y llama a vsce package --target <vsce-target>. El resultado es un .vsix específico de plataforma, listo para subir al Marketplace o compartir.

Targets soportados: linux-x64, linux-arm64, darwin-x64, darwin-arm64, win32-x64, win32-arm64. Para release multiplataforma corre el script una vez por target en el host correspondiente (o vía CI con cross-compile).

Uso como MCP server

El sidecar incluye un modo serve que habla JSON-RPC 2.0 sobre stdio (protocolo MCP 2024-11-05) y expone tres tools al propio agente:

  • list_sessions(provider?, cwd?, limit?) → resumen de sesiones recientes.
  • get_session_turns(provider, id, limit?) → turnos user/assistant.
  • search_sessions(query, limit?) → match contra título/cwd/branch/tags.

Pro. Las tools del MCP requieren licencia Pro (o la prueba de 14 días). El gate lo controla la extensión, que al activar/validar la licencia escribe ~/.config/aterm/pro-license.json; el servidor serve lo lee y, sin Pro válido, anuncia cero tools y rechaza las llamadas. El binario es OSS, así que es un gate de cortesía, no inviolable.

Para registrarlo con Claude Code (~/.claude/mcp.json):

{
  "mcpServers": {
    "agent-sessions": {
      "command": "/ruta/a/agent-sessions-cli",
      "args": ["serve"]
    }
  }
}

Tras reiniciar Claude Code, el agente puede pedirse a sí mismo "busca en mis sesiones donde toqué transfer.rs" y obtener un listado real con título, cwd y modelo. Codex/OpenCode/Gemini se configuran de forma análoga si soportan MCP.

Ajustes

Clave Por defecto Descripción
agentSessions.cliPath agent-sessions-cli Ruta al sidecar. Si lo dejas por defecto, la extensión busca en el .vsix, en target/{release,debug}/ y por último en el PATH.
agentSessions.openInEditor true Abrir las sesiones en el área del editor (pestaña a tamaño completo) en vez del panel inferior.
agentSessions.closeOnExit true Cerrar el terminal entero cuando el agente termina (ejecuta exit al acabar).
agentSessions.groupBy provider Agrupado del árbol: provider, project, cascade, date o group.
agentSessions.scanProviders los 4 proveedores Proveedores visibles en el panel (filtro de visualización; el escaneo sigue). Vacío = todos.
agentSessions.fetchStatus true Interruptor de red: consultar statuspage y mostrar la cuota del proveedor. Desactívalo para trabajar sin tráfico de red.
agentSessions.refreshSec 120 Cada cuántos segundos re-escanear el disco completo. 0 desactiva; valores 1–14 se ajustan a 15.
agentSessions.tagCatalog [] Etiquetas predefinidas que aparecen como opciones marcables al asignar tags.
agentSessions.pollIntervalSec 5 Cadencia del sondeo de estado en vivo (activas / esperando input).
agentSessions.notificationLevel all Qué notificaciones mostrar: all, important, errors o none. Los diálogos que requieren tu respuesta nunca se ven afectados.
agentSessions.notifyOnIdle true Notificar cuando una sesión activa pasa de «trabajando» a «esperando input».
agentSessions.notifyOnFinish true Notificar cuando una sesión activa termina.
agentSessions.claudeContextWindow auto Ventana de contexto de Claude para el cálculo del %: auto, 200k o 1m.
agentSessions.pro.idleAlertMin 0 (Pro) Avisar si una sesión lleva idle más de N minutos. 0 = desactivado.
agentSessions.costAlertDaily 0 Umbral diario de gasto en USD; 0 desactiva la alerta.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft