聊天记录检索工具

OpenCode Chat Retriever 是一个用于检索和管理 OpenCode 聊天记录的服务,支持会话列表查看、完整聊天记录读取、会话搜索、会话统计信息获取以及语义搜索功能。

  • by coleleavitt
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 coleleavitt/opencode-chat-retriever

使用说明

OpenCode聊天检索器

MCP服务器,用于改进OpenCode聊天历史检索。列出会话,读取完整的聊天历史记录,并在对话中搜索。

特性

  • 会话列表 -浏览所有包含标题、日期和元数据的聊天会话
  • 会话_阅读 -阅读包含消息、工具调用和推理的完整聊天历史记录
  • 会话搜索 -搜索会话标题和内容
  • 会话_信息 -获取详细的会话统计数据(令牌、成本、使用的工具)
  • 会话_语义_搜索 -基于MiniMax嵌入的语义搜索

安装

npm install
npm run build

使用OpenCode

添加到您的 opencode.jsonc 或 .opencode/opencode.jsonc:

{
  "mcp": {
    "chat-retriever": {
      "type": "local",
      "command": "node",
      "args": ["/path/to/opencode-chat-retriever/dist/mcp-server.js"]
    }
  }
}

然后重新启动OpenCode。这些工具将提供:

  • session_list
  • session_read
  • session_search
  • session_info
  • session_semantic_search

工具

会话列表

列出具有可选筛选的会话:

{
  "limit": 50,
  "offset": 0,
  "filter": {
    "titleContains": "bug fix",
    "fromDate": "2024-01-01",
    "toDate": "2024-12-31"
  }
}

会话_阅读

阅读包含所有消息的完整会话:

{
  "sessionID": "ses_abc123",
  "format": "full",        // "full" | "text-only" | "summary"
  "includeToolCalls": true,
  "includeReasoning": false,
  "maxMessages": 100
}

会话搜索

跨会话搜索:

{
  "query": "authentication",
  "searchIn": "both",      // "titles" | "content" | "both"
  "limit": 20
}

会话_信息

获取会话统计信息:

{
  "sessionID": "ses_abc123"
}

返回:消息计数、令牌使用、成本、使用的工具、模型。

会话_语义_搜索

使用Ollama嵌入进行语义搜索(查找概念上相似的内容):

{
  "query": "how to handle errors gracefully",
  "limit": 10,
  "minSimilarity": 0.5,
  "indexIfNeeded": true,
  "sessionsToIndex": 20
}

设置(选择一个型号):

# Best quality/speed balance (recommended)
ollama pull qwen3-embedding:0.6b
export EMBEDDING_MODEL=qwen3-embedding:0.6b

# Google's efficient 300M model
ollama pull embeddinggemma
export EMBEDDING_MODEL=embeddinggemma

# Multilingual support
ollama pull snowflake-arctic-embed2
export EMBEDDING_MODEL=snowflake-arctic-embed2

# Fast English-only (default if not set)
ollama pull nomic-embed-text

# Optional: Custom Ollama URL
export OLLAMA_URL=http://localhost:11434

存储

阅读来源:

  • SQLite: ~/.local/share/opencode/opencode.db (较新的OpenCode版本)
  • JSON: ~/.local/share/opencode/storage/ (遗留/回退)

发展

npm run dev    # Watch mode
npm run build  # Build
npm run start  # Run MCP server

许可证

麻省理工学院