Roo Activity Logger
Registra automaticamente as atividades do assistente de codificação de IA, como execuções de comandos e geração de código, em arquivos JSON pesquisáveis.
Documentação
Roo Activity Logger
TL;DR
- O que é? — Este é um servidor MCP que registra automaticamente atividades de assistentes de codificação com IA, como execuções de comandos e geração de código (suporta Roo Code, Cline, Claude Code, etc.).
- O que ele faz? — Salva o histórico de atividades como arquivos JSON, que você pode pesquisar e analisar posteriormente.
- Como eu uso? — Adicione-o às configurações do seu Claude Code, Cline ou Roo-Code para habilitar o registro automático de atividades.
Visão Geral
Roo Activity Logger é um servidor MCP (Model Context Protocol) que registra automaticamente atividades de desenvolvimento de assistentes de codificação com IA — incluindo execuções de comandos, geração de código, operações de arquivo e muito mais. Ele suporta Claude Code, Cline, Roo-Code e outros assistentes de IA compatíveis com MCP. Todos os logs são salvos em formato JSON, facilitando a pesquisa, análise e restauração de contexto a qualquer momento.
Como o registro de atividades funciona
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]
Como pesquisar logs e restaurar contexto ao retomar uma tarefa
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]
Exemplo de Entrada de Log
Aqui está um exemplo de uma entrada de log file_operation salva 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 log contém:
- Nível de log (
debug,info,warn,error) - Resumo
- Detalhes (quaisquer dados estruturados)
- Intenção / Propósito
- Informações de contexto
- ID da atividade pai (para hierarquia)
- Número de sequência (para ordenação)
- IDs de atividades relacionadas (para agrupamento)
Os logs são:
- Salvos como arquivos JSON baseados em data
- Pesquisáveis por tipo, nível, data, texto, etc.
- Personalizáveis — você pode especificar diferentes diretórios de salvamento por atividade
Recursos
-
Registra vários tipos de atividade:
- Execuções de comandos (
command_execution) - Geração de código (
code_generation) - Operações de arquivo (
file_operation) - Erros (
error_encountered) - Decisões (
decision_made) - Conversas (
conversation)
- Execuções de comandos (
-
Cada log de atividade inclui:
- ID único
- Carimbo de data/hora
- Tipo de atividade
- Resumo, detalhes, intenção, contexto e metadados opcionais
Uso (Recomendado: via npx)
Você pode executar o Roo Activity Logger diretamente sem clonar o repositório usando npx.
Adicione isto à sua configuração do Cline, Roo-Code ou Claude Code:
{
"mcpServers": {
"roo-activity-logger": {
"command": "npx",
"args": ["-y", "github:annenpolka/roo-logger"],
"env": {},
"disabled": false
}
}
}
Em seguida, adicione prompts aos seus arquivos de regras (para Cline/Roo-Code) ou CLAUDE.md (para Claude Code) para garantir o registro, por exemplo:
## 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 Desenvolvedores: Configuração Local
Para desenvolver ou personalizar localmente, clone o repositório e compile:
# Clone the repo
git clone https://github.com/annenpolka/roo-logger.git
cd roo-logger
# Install dependencies
npm install
# Build
npm run build
Exemplo de configuração para usar sua compilação local:
{
"mcpServers": {
"roo-activity-logger": {
"command": "node",
"args": ["/path/to/your/local/roo-logger/dist/index.js"], // adjust path accordingly
"env": {},
"disabled": false
}
}
}
Notas
- O diretório especificado será criado automaticamente se não existir.
Ferramentas MCP
log_activity — Registrar uma atividade
Uma ferramenta para registrar uma atividade.
Exemplo 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
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
type | Sim | string | Tipo de atividade (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation) |
summary | Sim | string | Resumo curto da atividade |
intention | Sim | string | Propósito ou intenção |
context | Sim | string | Informações de contexto |
logsDir | Sim | string | Diretório de salvamento (somente caminho absoluto) |
level | Não | string | Nível de log (debug, info, warn, error). Padrão: info |
details | Não | object | Detalhes adicionais (qualquer JSON) |
parentId | Não | string | ID da atividade pai |
sequence | Não | number | Número de sequência |
relatedIds | Não | string[] | IDs de atividades relacionadas |
Exemplo detalhado
{
"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 arquivos de log salvos
Lista arquivos de log salvos recursivamente. Você pode especificar a profundidade máxima de busca.
Exemplo básico
{
"logsDir": "/absolute/path/to/logs"
}
Parâmetros
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
logsDir | Sim | string | Diretório para pesquisar (somente caminho absoluto) |
limit | Não | number | Máximo de arquivos a recuperar (padrão: 10) |
offset | Não | number | Número de arquivos a pular (padrão: 0) |
logFilePrefix | Não | string | Prefixo do arquivo de log (padrão: "roo-activity-") |
logFileExtension | Não | string | Extensão do arquivo de log (padrão: ".json") |
maxDepth | Não | number | Profundidade máxima do diretório (padrão: 3) |
search_logs — Pesquisar logs salvos
Pesquisa logs salvos com vários filtros.
Exemplo básico
{
"logsDir": "/absolute/path/to/logs"
}
{
"logsDir": "/absolute/path/to/logs",
"type": "command_execution"
}
Parâmetros
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
logsDir | Sim | string | Diretório de logs (somente caminho absoluto) |
logFilePrefix | Não | string | Prefixo do arquivo de log (padrão: "roo-activity-") |
logFileExtension | Não | string | Extensão do arquivo de log (padrão: ".json") |
type | Não | string | Filtrar por tipo de atividade (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation) |
level | Não | string | Filtrar por nível de log (debug, info, warn, error) |
startDate | Não | string | Data de início (AAAA-MM-DD) |
endDate | Não | string | Data de término (AAAA-MM-DD) |
searchText | Não | string | Pesquisar texto no resumo ou nos detalhes |
limit | Não | number | Máximo de logs a recuperar (padrão: 50) |
offset | Não | number | Número de logs a pular (padrão: 0) |
parentId | Não | string | Filtrar por ID da atividade pai |
sequenceFrom | Não | number | Limite inferior do número de sequência |
sequenceTo | Não | number | Limite superior do número de sequência |
relatedId | Não | string | Filtrar por ID de atividade relacionada |
relatedIds | Não | string[] | Filtrar por qualquer um dos IDs de atividades relacionadas |
Licença
MIT