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_listsession_readsession_searchsession_infosession_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许可证
麻省理工学院
