返回市场
根日志器

根日志器

作者:annenpolka23 星标更新:2025-08-08

项目介绍

Roo 活动记录器

日语版请点击这里 | 中文版

简介

  • 这是什么? — 这是一个MCP服务器,自动记录AI编码助手(如命令执行、代码生成等)的活动(支持Roo Code、Cline、Claude Code等)。
  • 它做什么? — 它将活动历史保存为JSON文件,以便您稍后进行搜索和分析。
  • 如何使用? — 将其添加到您的Claude Code、Cline或Roo-Code设置中以启用自动活动记录。

概述

Roo活动记录器是一个MCP(模型上下文协议)服务器,自动记录AI编码助手的开发活动——包括命令执行、代码生成、文件操作等。它支持Claude Code、Cline、Roo-Code和其他兼容MCP的AI助手。 所有日志都保存为JSON格式,便于随时搜索、分析和恢复上下文。

活动记录的工作原理

flowchart TD
    A[Roo的动作] --> B[选择活动类型]
    B --> C[通过log_activity记录]
    C --> D[提供日志信息<br>- 摘要<br>- 细节<br>- 目的<br>- 上下文]
    D --> E[指定保存目录]
    E --> F[保存为JSON文件]

如何搜索日志并在恢复任务时恢复上下文

flowchart TD
    G[恢复任务] --> H[使用search_logs搜索]
    H --> I[设置搜索过滤器<br>- 类型<br>- 日期范围<br>- 文本]
    I --> J[检索相关活动<br>- 父/子<br>- 序列<br>- 相关ID]
    J --> K[恢复上下文并继续<br>- 查看过去的意图<br>- 了解进度]

样例日志条目

这是一个保存为JSON的file_operation日志条目的示例:

{
  "id": "75add15d-8d5b-4e60-b327-fde785050c86",
  "timestamp": "2025-04-10T01:58:02.905Z",
  "type": "file_operation",
  "level": "info",
  "summary": "在README.md中插入了mermaid图表",
  "details": {
    "file": "README.md",
    "operation": "insert_content",
    "insertedLines": "mermaid代码块",
    "position": "概述部分之后"
  },
  "intention": "为了视觉上解释保存和检索活动的流程",
  "context": "改进Roo活动记录器的文档",
  "parentId": "98280366-1de1-48e0-9914-b3a3409599b4"
}

每个日志包含:

  • 日志级别(debuginfowarnerror
  • 摘要
  • 细节(任何结构化数据)
  • 目的/意图
  • 上下文信息
  • 父活动ID(用于层次结构)
  • 序号(用于排序)
  • 相关活动ID(用于分组)

日志:

  • 保存为基于日期的JSON文件
  • 可搜索按类型、级别、日期、文本等
  • 可定制 — 您可以为每项活动指定不同的保存目录

特性

  • 记录各种活动类型:

    • 命令执行(command_execution
    • 代码生成(code_generation
    • 文件操作(file_operation
    • 错误(error_encountered
    • 决策(decision_made
    • 对话(conversation
  • 每个活动日志包括:

    • 唯一ID
    • 时间戳
    • 活动类型
    • 摘要、细节、意图、上下文和可选元数据

使用方法(推荐:通过npx

您可以直接运行Roo活动记录器而不克隆仓库,使用npx

将其添加到您的Cline、Roo-Code或Claude Code配置中:

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "npx",
      "args": ["-y", "github:annenpolka/roo-logger"],
      "env": {},
      "disabled": false
    }
  }
}

然后,在规则文件(对于Cline/Roo-Code)或CLAUDE.md(对于Claude Code)中添加提示,确保记录,例如:

## 重要

始终根据记录规则使用roo-activity-logger记录活动。

## 准备

使用`git status`检查当前上下文。

然后,使用roo-activity-logger的`search_logs`查看现有日志并识别当前任务。

确保执行记录步骤。

## 记录

- 始终使用roo-activity-logger记录所有日志
- 包括堆栈跟踪和执行上下文
- 记录意图和上下文

开发者本地设置

要开发或自定义,请克隆仓库并构建:

# 克隆仓库
git clone https://github.com/annenpolka/roo-logger.git
cd roo-logger

# 安装依赖
npm install

# 构建
npm run build

使用本地构建的示例配置:

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "node",
      "args": ["/path/to/your/local/roo-logger/dist/index.js"], // 根据需要调整路径
      "env": {},
      "disabled": false
    }
  }
}

注意事项

  • 如果指定的目录不存在,将会自动创建。

MCP工具

log_activity — 记录活动

一个用于记录活动的工具。

基本示例

{
  "type": "command_execution",
  "summary": "运行npm命令",
  "intention": "更新项目依赖",
  "context": "为新功能开发做准备",
  "logsDir": "/绝对路径/到/日志/活动"
}

参数

名称必需类型描述
type字符串活动类型(command_executioncode_generationfile_operationerror_encountereddecision_madeconversation
summary字符串活动的简短摘要
intention字符串目的或意图
context字符串上下文信息
logsDir字符串保存目录(仅限绝对路径)
level字符串日志级别(debuginfowarnerror)。默认值:info
details对象额外的详细信息(任何JSON)
parentId字符串父活动ID
sequence数字序号
relatedIds字符串数组相关活动ID

详细示例

{
  "type": "file_operation",
  "summary": "更新README文件",
  "intention": "澄清文档并提高易用性",
  "context": "基于用户反馈的改进",
  "level": "info",
  "details": {
    "file": "README.md",
    "operation": "更新",
    "更改行数": 15
  },
  "logsDir": "/绝对路径/到/日志/活动",
  "sequence": 3,
  "relatedIds": ["11223344-5566-7788-99aa-bbccddeeff00"]
}

get_log_files — 列出已保存的日志文件

递归列出已保存的日志文件。您可以指定最大搜索深度。

基本示例

{
  "logsDir": "/绝对路径/到/日志"
}

参数

名称必需类型描述
logsDir字符串要搜索的目录(仅限绝对路径)
limit数字最大检索文件数(默认值:10)
offset数字要跳过的文件数(默认值:0)
logFilePrefix字符串日志文件前缀(默认值:"roo-activity-"
logFileExtension字符串日志文件扩展名(默认值:".json"
maxDepth数字最大目录深度(默认值:3)

search_logs — 搜索已保存的日志

使用各种过滤器搜索已保存的日志。

基本示例

{
  "logsDir": "/绝对路径/到/日志"
}
{
  "logsDir": "/绝对路径/到/日志",
  "type": "command_execution"
}

参数

名称必需类型描述
logsDir字符串日志目录(仅限绝对路径)
logFilePrefix字符串日志文件前缀(默认值:"roo-activity-"
logFileExtension字符串日志文件扩展名(默认值:".json"
type字符串按活动类型过滤(command_executioncode_generationfile_operationerror_encountereddecision_madeconversation
level字符串按日志级别过滤(debuginfowarnerror
startDate字符串开始日期(YYYY-MM-DD)
endDate字符串结束日期(YYYY-MM-DD)
searchText字符串在摘要或详细信息中搜索文本
limit数字最大检索日志数(默认值:50)
offset数字要跳过的日志数(默认值:0)
parentId字符串按父活动ID过滤
sequenceFrom数字序号下限
sequenceTo数字序号上限
relatedId字符串按相关活动ID过滤
relatedIds字符串数组按任意相关活动ID过滤

许可证

MIT