Roo Activity Logger
Registra automáticamente las actividades del asistente de codificación
Documentación
Roo Activity Logger
Versión en japonés | Versión en chino
TL;DR
- ¿Qué es? — Es un servidor MCP que registra automáticamente las actividades de los asistentes de codificación con IA, como ejecuciones de comandos y generación de código (compatible con Roo Code, Cline, Claude Code, etc.).
- ¿Qué hace? — Guarda el historial de actividades como archivos JSON, que puedes buscar y analizar más tarde.
- ¿Cómo lo uso? — Añádelo a tu configuración de Claude Code, Cline o Roo-Code para habilitar el registro automático de actividades.
Descripción general
Roo Activity Logger es un servidor MCP (Model Context Protocol) que registra automáticamente las actividades de desarrollo de los asistentes de codificación con IA, incluyendo ejecuciones de comandos, generación de código, operaciones de archivos y más. Es compatible con Claude Code, Cline, Roo-Code y otros asistentes de IA compatibles con MCP. Todos los registros se guardan en formato JSON, lo que facilita la búsqueda, el análisis y la restauración del contexto en cualquier momento.
Cómo funciona el registro de actividades
flowchart TD
A[Roo's Action] --> B[Select Activity Type]
B --> C[Log via log_activity]
C --> D[Provide Log Info<br>- Summary<br>- Details<br>- Intention<br>- Context]
D --> E[Specify Save Directory]
E --> F[Save as JSON file]
Cómo buscar registros y restaurar el contexto al reanudar una tarea
flowchart TD
G[Resume Task] --> H[Search with search_logs]
H --> I[Set Search Filters<br>- Type<br>- Date Range<br>- Text]
I --> J[Retrieve Related Activities<br>- Parent/Child<br>- Sequence<br>- Related IDs]
J --> K[Restore Context & Resume<br>- Review Past Intentions<br>- Understand Progress]
Ejemplo de entrada de registro
Aquí hay un ejemplo de una entrada de registro de tipo file_operation guardada como JSON:
{
"id": "75add15d-8d5b-4e60-b327-fde785050c86",
"timestamp": "2025-04-10T01:58:02.905Z",
"type": "file_operation",
"level": "info",
"summary": "Inserted mermaid diagram into README.md",
"details": {
"file": "README.md",
"operation": "insert_content",
"insertedLines": "mermaid code block",
"position": "after overview section"
},
"intention": "To visually explain the flow of saving and retrieving activities",
"context": "Improving documentation for Roo Activity Logger",
"parentId": "98280366-1de1-48e0-9914-b3a3409599b4"
}
Cada registro contiene:
- Nivel de registro (
debug,info,warn,error) - Resumen
- Detalles (cualquier dato estructurado)
- Intención / Propósito
- Información de contexto
- ID de actividad principal (para jerarquía)
- Número de secuencia (para ordenar)
- IDs de actividades relacionadas (para agrupar)
Los registros:
- Se guardan como archivos JSON basados en fecha
- Se pueden buscar por tipo, nivel, fecha, texto, etc.
- Son personalizables — puedes especificar diferentes directorios de guardado por actividad
Características
-
Registra varios tipos de actividad:
- Ejecuciones de comandos (
command_execution) - Generación de código (
code_generation) - Operaciones de archivos (
file_operation) - Errores (
error_encountered) - Decisiones (
decision_made) - Conversaciones (
conversation)
- Ejecuciones de comandos (
-
Cada registro de actividad incluye:
- ID único
- Marca de tiempo
- Tipo de actividad
- Resumen, detalles, intención, contexto y metadatos opcionales
Uso (Recomendado: mediante npx)
Puedes ejecutar Roo Activity Logger directamente sin clonar el repositorio usando npx.
Añade esto a tu configuración de Cline, Roo-Code o Claude Code:
{
"mcpServers": {
"roo-activity-logger": {
"command": "npx",
"args": ["-y", "github:annenpolka/roo-logger"],
"env": {},
"disabled": false
}
}
}
Luego, añade indicaciones a tus archivos de reglas (para Cline/Roo-Code) o CLAUDE.md (para Claude Code) para asegurar el registro, por ejemplo:
## Important
Always log activities using roo-activity-logger according to the logging rules.
## Preparation
Check the current context with `git status`.
Then, use roo-activity-logger's `search_logs` to review existing logs and identify current tasks.
Be sure to perform the logging steps.
## Logging
- Always use roo-activity-logger for all logs
- Include stack traces and execution context
- Record intention and context
Para desarrolladores: Configuración local
Para desarrollar o personalizar localmente, clona el repositorio y compila:
# Clone the repo
git clone https://github.com/annenpolka/roo-logger.git
cd roo-logger
# Install dependencies
npm install
# Build
npm run build
Ejemplo de configuración para usar tu compilación local:
{
"mcpServers": {
"roo-activity-logger": {
"command": "node",
"args": ["/path/to/your/local/roo-logger/dist/index.js"], // adjust path accordingly
"env": {},
"disabled": false
}
}
}
Notas
- El directorio especificado se creará automáticamente si no existe.
Herramientas MCP
log_activity — Registrar una actividad
Una herramienta para registrar una actividad.
Ejemplo básico
{
"type": "command_execution",
"summary": "Run npm command",
"intention": "Update project dependencies",
"context": "Preparing for new feature development",
"logsDir": "/absolute/path/to/logs/activity"
}
Parámetros
| Nombre | Requerido | Tipo | Descripción |
|---|---|---|---|
type | Sí | string | Tipo de actividad (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation) |
summary | Sí | string | Resumen breve de la actividad |
intention | Sí | string | Propósito o intención |
context | Sí | string | Información de contexto |
logsDir | Sí | string | Directorio de guardado (solo ruta absoluta) |
level | No | string | Nivel de registro (debug, info, warn, error). Predeterminado: info |
details | No | object | Detalles adicionales (cualquier JSON) |
parentId | No | string | ID de actividad principal |
sequence | No | number | Número de secuencia |
relatedIds | No | string[] | IDs de actividades relacionadas |
Ejemplo detallado
{
"type": "file_operation",
"summary": "Update README file",
"intention": "Clarify documentation and improve usability",
"context": "Improvements based on user feedback",
"level": "info",
"details": {
"file": "README.md",
"operation": "update",
"changedLines": 15
},
"logsDir": "/absolute/path/to/logs/activity",
"sequence": 3,
"relatedIds": ["11223344-5566-7788-99aa-bbccddeeff00"]
}
get_log_files — Listar archivos de registro guardados
Lista los archivos de registro guardados de forma recursiva. Puedes especificar la profundidad máxima de búsqueda.
Ejemplo básico
{
"logsDir": "/absolute/path/to/logs"
}
Parámetros
| Nombre | Requerido | Tipo | Descripción |
|---|---|---|---|
logsDir | Sí | string | Directorio a buscar (solo ruta absoluta) |
limit | No | number | Máximo de archivos a recuperar (predeterminado: 10) |
offset | No | number | Número de archivos a omitir (predeterminado: 0) |
logFilePrefix | No | string | Prefijo del archivo de registro (predeterminado: "roo-activity-") |
logFileExtension | No | string | Extensión del archivo de registro (predeterminado: ".json") |
maxDepth | No | number | Profundidad máxima de directorio (predeterminado: 3) |
search_logs — Buscar registros guardados
Busca registros guardados con varios filtros.
Ejemplo básico
{
"logsDir": "/absolute/path/to/logs"
}
{
"logsDir": "/absolute/path/to/logs",
"type": "command_execution"
}
Parámetros
| Nombre | Requerido | Tipo | Descripción |
|---|---|---|---|
logsDir | Sí | string | Directorio de registros (solo ruta absoluta) |
logFilePrefix | No | string | Prefijo del archivo de registro (predeterminado: "roo-activity-") |
logFileExtension | No | string | Extensión del archivo de registro (predeterminado: ".json") |
type | No | string | Filtrar por tipo de actividad (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation) |
level | No | string | Filtrar por nivel de registro (debug, info, warn, error) |
startDate | No | string | Fecha de inicio (AAAA-MM-DD) |
endDate | No | string | Fecha de fin (AAAA-MM-DD) |
searchText | No | string | Buscar texto en resumen o detalles |
limit | No | number | Máximo de registros a recuperar (predeterminado: 50) |
offset | No | number | Número de registros a omitir (predeterminado: 0) |
parentId | No | string | Filtrar por ID de actividad principal |
sequenceFrom | No | number | Límite inferior del número de secuencia |
sequenceTo | No | number | Límite superior del número de secuencia |
relatedId | No | string | Filtrar por ID de actividad relacionada |
relatedIds | No | string[] | Filtrar por cualquiera de los IDs de actividades relacionadas |
Licencia
MIT