AI编码代理日志服务

WheelDrop Logbook是一个为AI编码代理提供持久化记忆的MCP服务器,支持跨代理会话历史、记忆文件和计划的索引与搜索。

  • by wheeldrop
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 wheeldrop/logbook

使用说明

WheelDrop行车日志

用于AI编码代理的飞行记录器。一个MCP服务器,为Claude Code、Codex和Gemini CLI提供共享的持久内存。

你的AI编码代理有健忘症。每个会话都是从头开始的——不记得你昨天构建了什么,你选择了什么模式,或者已经解决了什么错误。WheelDrop日志通过将代理的对话历史、内存文件和计划索引到任何代理都可以查询的可搜索MCP服务器中来解决这个问题。

快速开始

自动检测已安装的代理并对其进行全部配置:

npx @wheeldrop/logbook --install

这会检测您拥有哪些代理(Claude Code、Codex CLI、Gemini CLI),将每个代理配置为使用日志作为MCP服务器,并在支持的情况下安装特定于代理的技能。安装程序还将技能文件复制到 ~/.codex/skills/logbook/ 因此,Codex会在相关时自动触发对话搜索。

每个代理设置

克劳德代码

插件安装:

claude plugin marketplace add wheeldrop/logbook
claude plugin install logbook@logbook

仅限MCP服务器 (无技能/背景):

claude mcp add logbook --scope user -e -- npx @wheeldrop/logbook

Gemini CLI

扩展安装:

gemini extensions install https://github.com/wheeldrop/logbook

Codex CLI

增添 ~/.codex/config.toml:

[mcp_servers.logbook]
command = "npx"
args = ["@wheeldrop/logbook"]

(可选)复制自动触发搜索的捆绑技能:

mkdir -p ~/.codex/skills/logbook
cp $(npm root -g)/@wheeldrop/logbook/skills/logbook/SKILL.md ~/.codex/skills/logbook/

任何MCP兼容客户端

日志适用于任何支持 模型上下文协议。将此添加到客户端的MCP服务器配置中:

{
  "logbook": {
    "command": "npx",
    "args": ["@wheeldrop/logbook"]
  }
}

服务器使用stdio传输-没有网络,没有API密钥,完全是本地的。

代理技能(可选)

航海日志附带技能档案(skills/logbook/SKILL.md)它教代理如何有效地搜索——查询公式、结果分类、搜索→会话→阅读工作流程中的演练。将其复制到任何支持技能的代理中:

  • Codex CLI: ~/.codex/skills/logbook/SKILL.md
  • 克劳德代码:作为插件安装(自动捆绑技能)
  • Gemini CLI:作为扩展安装(自动捆绑技能)

它的作用

WheelDrop日志从本地AI编码代理数据中索引对话历史、内存文件、计划和知识工件。它公开了5个MCP工具:

工具 说明
logbook_search 通过模糊匹配在所有代理中进行全文搜索,按代理/类型/日期/项目进行过滤
logbook_sessions 浏览按最近时间排序的最近会话
logbook_read 通过上下文窗口和模糊查询匹配从特定会话中检索消息
logbook_memory 搜索CLAUDE.md、GEMINI.md、AGENTS.md和指令文件
logbook_plans 搜索计划文件、大脑文档和知识工件

自定义数据位置

WheelDrop日志尊重与代理本身相同的环境变量:

代理 变量 默认值
克劳德代码 CLAUDE_CONFIG_DIR ~/.claude
Codex CLI CODEX_HOME ~/.codex
Gemini CLI GEMINI_CLI_HOME ~ (.gemini 内部创建)

如果对任何代理使用非标准数据目录,请在运行日志之前设置相应的变量。

支持的数据源

代理 对话 记忆 计划 子代理
Claude Code history.jsonl+会话jsonl Claude.md(全局+每个项目) 计划/*.md 子代理会话
Codex CLI history.jsonl+日期树会话 AGENTS.md+规则/ -- --
Gemini CLI 会话JSON+logs.JSON(清除会话) Gemini.md 计划/*.md --

建筑

  • 运输:stdio(仅限本地,无网络)
  • 搜索: 迷你搜索 模糊匹配和前缀搜索
  • 索引:第一次搜索时对整个会话内容进行索引,并进行评分标准化,以防止长文档偏见
  • 解析器:每个代理模块化,实现 AgentParser 接口

发展

git clone https://github.com/wheeldrop/logbook.git
cd logbook
npm install
npm run build
npm test              # 156 tests
npm run lint          # ESLint
npm run typecheck     # TypeScript strict mode
npm run test:coverage # Coverage with v8
npm run check         # All of the above

MCP检验员测试

npm run inspect

项目布局

src/
├── parsers/          # Per-agent parsers (claude, codex, gemini)
│   ├── types.ts      # AgentParser interface
│   └── registry.ts   # Parser auto-discovery
├── search/
│   ├── engine.ts     # MiniSearch wrapper with score normalization
│   ├── tokenizer.ts  # Shared tokenizer and fuzzy matching
│   └── types.ts      # Search options and result types
├── utils/            # Shared utilities (time, paths, jsonl, display)
├── install.ts        # --install auto-detection and configuration
├── server.ts         # MCP tool registration
└── index.ts          # Entry point (stdio transport + CLI flags)
skills/               # Codex skill
agents/               # Shared AGENTS.md for Gemini/Codex

贡献

看 贡献.md 用于开发设置和拉取请求指南。

许可证

阿帕奇-2.0-- Crash United有限责任公司

看 许可证 全文。捐款需要与 贡献者许可协议.