cc-search 翻译为中文是“内容分发网络搜索”或简化为“CDN搜索”,其中“cc”通常代表“内容分发”(Content Delivery)的缩写,而“search”则表示搜索。不过,具体翻译可能根据上下文有所调整,以更贴合实际应用场景
搜索并检索过去的Claude Code对话记录。
特点/特性
- 搜索对话 按关键词、项目或日期
- 查看完整对话 格式化输出的历史记录
- 统计 关于您使用Claude代码的情况
- MCP集成 用于Claude Code会话内部使用
- CLI(Command Line Interface)的中文翻译是“命令行界面” 用于独立测试和探索
安装
# Clone the repo
git clone
cd cc-search
# Install with uv
uv sync
# Or install in development mode
uv pip install -e .CLI 使用方法
搜索对话
# Basic search
cc-search search "authentication"
# Search with filters
cc-search search "database" --project sgp --since "7 days ago" --limit 5
# List all conversations
cc-search --list --project myproject查看完整对话
# Show conversation by session ID (full or prefix)
cc-search show 4af530fc查看统计数据
# Show conversation statistics
cc-search statsMCP集成
设置
在您的Claude Code MCP设置文件中添加:
macOS/Linux(可译为“苹果操作系统/类Unix操作系统”或直接保留原英文,根据上下文决定是否需要具体翻译): ~/.config/claude-code/mcp_settings.json Windows: %APPDATA%\claude-code\mcp_settings.json
选项1:使用uv(推荐)
{
"mcpServers": {
"cc-search": {
"command": "uv",
"args": [
"run",
"python",
"/full/path/to/cc-search/run_mcp_server.py"
],
"cwd": "/full/path/to/cc-search"
}
}
}选项2:直接使用Python
{
"mcpServers": {
"cc-search": {
"command": "/full/path/to/cc-search/.venv/bin/python",
"args": [
"-m",
"cc_search.mcp.server"
],
"cwd": "/full/path/to/cc-search"
}
}
}注使用绝对路径(不要使用 ~ 或相对路径。
验证安装
- 重启 Claude Code CLI
- 测试方法是询问:“在我的过往对话中搜索有关身份验证的讨论”
可用的MCP工具
search_conversations_tool
使用筛选器搜索过去的对话。
参数:
query(可选):搜索查询字符串project(可选):按项目路径筛选since(可选):日期过滤器(例如,“7天前”)limit(默认:10):最大结果数
get_conversation
通过会话ID检索完整对话。
参数:
session_id会话 UUID 或前缀
list_recent_conversations
列出最近的对话。
参数:
limit(默认:20):结果数量project(可选):按项目过滤
get_conversation_stats
显示所有对话的统计数据。
使用示例
向Claude询问诸如:
- 寻找类似的解决方案:
- “在我的过往对话中搜索我是如何处理身份验证的” - “我有没有讨论过速率限制?”
- 参考过去的决定:
- “我们上周决定好数据库架构了吗?” - “给我看看关于API设计的对话”
- 审查历史:
- “列出我在sgp项目中的最近对话” - “给我看看我使用Claude Code的统计数据”
- 从以往工作中学习:
- “查找我参与测试策略工作的对话” - “我之前讨论过关于Docker配置的内容是什么?”
它是如何工作的
- 你向克劳德·科德(Claude Code)提出一个问题,需要过去的对话上下文
- 克劳德决定使用哪种MCP工具
- MCP服务器(cc-search)读取本地JSONL文件
- 结果返回给克劳德,由他进行解读并展示
- 克劳德执行语义排序以查找最相关的对话
故障排除
MCP服务器无法启动:
# Test the server manually
uv run python run_mcp_server.py工具未显示:
- 验证配置文件的位置和语法(有效的JSON)
- 重启 Claude Code CLI
- 检查路径是否为绝对路径(而非相对路径或
~)
运行缓慢:
- 首次扫描所有对话可能会较慢
- 考虑按项目或日期进行筛选以缩小范围
- 大型对话文件(100+条消息)解析时间较长
它是如何运作的
Claude Code 将对话本地存储在 ~/.claude/projects/ 作为JSONL文件。此工具:
- 扫描(图像/文件等) 对话文件的项目目录
- 解析 使用 Pydantic 模型的 JSONL 格式
- 过滤器 按关键字、项目路径或日期范围
- 格式 为CLI或MCP消费的输出
搜索使用 关键词匹配 默认情况下。当通过MCP(多客户端协议)使用时,Claude Code本身会执行语义相关性排序。
项目结构
cc-search/
├── src/cc_search/
│ ├── cli.py # Typer CLI interface
│ ├── core/
│ │ ├── models.py # Pydantic data models
│ │ ├── parser.py # JSONL parsing logic
│ │ ├── scanner.py # File system scanning
│ │ └── search.py # Search and filtering
│ └── mcp/
│ └── server.py # FastMCP server
├── tests/
│ └── test_mcp_server.py # Unit tests
├── pyproject.toml
└── README.md发展
# Install dev dependencies
uv sync --dev
# Run tests
pytest
# Lint/format
ruff check .
ruff format .已知的限制
- 一些对话文件可能包含消息类型(
system,summary(那些)被跳过的 - 在显示时,较长的对话(>1000行)会被截断
- 搜索是基于关键词的,而非语义的(不过通过MCP使用时,Claude会进行语义排序)
许可证
麻省理工学院(MIT)
