返回市场
克劳德历史记录管理器

克劳德历史记录管理器

作者:Vvkmnn66 星标更新:2025-11-10

项目介绍

claude-historian

claude-historian

一个用于搜索您的Claude Code(及Claude Desktop)对话历史的Model Context Protocol (MCP)服务器。查找过去的解决方案,跟踪文件更改,并从以前的工作中学习。

TypeScript npm 版本 许可证: MIT Node.js CodeRabbit 拉取请求审查 Claude

安装

需求:

npm install -g claude-historian

从 shell:

claude mcp add claude-historian -- npx claude-historian

从 Claude 内部(需要重启):

在全局 mcp 配置中添加:npx claude-historian

安装此 mcp:https://github.com/Vvkmnn/claude-historian

从任何手动配置的 mcp.json:(Cursor, Windsurf 等)

{
  "mcpServers": {
    "claude-historian": {
      "command": "npx",
      "args": ["claude-historian"],
      "env": {}
    }
  }
}

就这样;不需要执行 npm install,因为没有外部依赖或本地数据库,只有搜索算法。

然而,在极少数情况下,如果您拉取了错误的包 / npx 注册表已过期,您可以在某些环境中强制解决这些问题:

npm install -g claude-historian

功能

MCP 服务器使 Claude 能够访问您的对话历史。快速搜索并智能优先级排序。

本地运行(带有酷炫的墨镜 [⌐■_■]):

[⌐■_■] search_conversations query=<查询>
  > "我们是如何解决那个 Redis 连接池噩梦的?"
  > "Docker 容器在 Kubernetes 部署时崩溃"
  > "React 无限重新渲染循环 - useEffect 依赖地狱"

[⌐□_□] find_file_context filepath=<文件路径>
  > "上个月破坏一切的 package.json 更改"
  > "当我们不小心将 .env 提交到主分支时"
  > "身份验证服务重构 - 前后比较"

[⌐×_×] get_error_solutions error_pattern=<错误>
  > "MODULE_NOT_FOUND - 经典的 npm/yarn 版本不匹配"
  > "CORS 预检失败 - 但只在生产周五?"
  > "黑色星期五流量高峰期间的数据库死锁"

[⌐◆_◆] find_similar_queries query=<查询>
  > "数据库查询比我的早晨咖啡冲泡还要慢"
  > "如何实现错误边界而不失去理智"
  > "状态管理:Redux vs Zustand vs 只使用 useState"

[⌐○_○] list_recent_sessions
  > "周二调试马拉松:晚上9点到凌晨3点的不稳定测试狩猎"
  > "性能优化冲刺 - 减少捆绑包 40%"
  > "2024 年伟大的 TypeScript 迁移"

[⌐⎚_⎚] find_tool_patterns tool_name=<工具>
  > "读取 → 编辑 → Bash 组合以快速原型设计"
  > "我何时使用 Grep 和 Task 进行不同搜索"
  > "功能分支管理期间的 Git 操作"

方法论

claude-historian 的工作原理:

"docker auth" 查询
      |
      ├─> 并行处理(search.ts:949):15个项目 × 10个文件并发
      |   • 使用 Promise.allSettled 提高速度 6 倍
      |   • 当找到足够结果时提前终止
      |   • 使用全面模式增强文件覆盖
      |
      ├─> 增强分类(search.ts:294):实现 → 提升工具工作流程
      |   • 工具序列检测(编辑 → 读取 → Bash)
      |   • 语义边界保存(永不截断函数中间部分)
      |   • Claude 优化格式化,带有丰富的元数据
      |
      ├─> 智能排名(search.ts:213):
      |   • "编辑工作流(7次成功)"(2小时前)*****
      |   • "带上下文路径的 Docker 认证"(昨天)****
      |   • "容器调试模式"(上周)***
      |
      └─> 返回 Claude Code 优化的结果

核心优化:

搜索策略:

文件访问:

  • ~/.claude/conversations/ 读取
  • 零持久存储或索引
  • 从未离开您的机器

开发

git clone https://github.com/vvkmnn/claude-historian && cd claude-historian
npm install && npm run build
npm test

包需求:

  • Node.js: >=20.0.0(ES 模块支持)
  • npm: >=10.0.0(package-lock v3)
  • 运行时: 唯一依赖是 @modelcontextprotocol/sdk
  • 零外部依赖用于生产部署
  • 优化: 并行处理减少 50% 的令牌

开发工作流:

npm run build          # TypeScript 编译,带有可执行权限
npm run dev            # 监视模式,使用 tsc --watch
npm run lint           # ESLint 代码质量检查
npm run format         # Prettier 格式化
npm run type-check     # TypeScript 验证,不生成
npm run prepublishOnly # 发布前验证(构建 + 检查 + 格式化)

贡献:

  • 请分叉仓库并创建功能分支
  • 在提交 PR 之前使用大型对话历史进行测试
  • 遵循 TypeScript 严格模式和 MCP 协议标准

从示例中学习:

桌面

Claude Desktop 支持目前被 LevelDB 锁定Electron 沙箱阻止。您仍然可以从 Claude Code 搜索 Claude Desktop,但仅当 Claude 应用程序关闭时

有一个 DXT 包和构建可用于未来兼容性;正在进行进一步调查。您可以自由地进行测试。

许可

MIT


Claude Fauchet

Claude Fauchet (1744-1793),法国历史学家