# Searchat — Multi-Agent Connector Architecture

Extensible Protocol · 8 Agent Connectors · Platform-Agnostic Paths · Auto-Discovery Registry
v0.6.0 | Last updated: 2026-02-17
Python 3.10+ · AgentConnector Protocol · PathResolver · 8 Implementations
Source: `src/searchat/core/connectors/` (1,100+ LOC)
Layer 1: AgentConnector Protocol & Registry
AgentConnector Protocol
Defines interface for all connectors:
`name: str`
`supported_extensions: tuple[str, ...]`
`discover_files(config) → list[Path]`
`can_parse(path: Path) → bool`
`parse(path, embedding_id) → ConversationRecord`
PROTOCOL
Registry Pattern
Connector management & auto-discovery:
`register_connector(connector)`
`get_connectors() → list[AgentConnector]`
`detect_connector(path) → AgentConnector | None`
`discover_entrypoint_connectors()`
AUTO-DISCOVERY
Protocol → Connectors
Layer 2: Agent Connector Implementations (8 Total)
Claude
.jsonl
~/.claude/projects/
%APPDATA%/Claude/projects/
Vibe
.json
~/.vibe/sessions/
%APPDATA%/Vibe/sessions/
OpenCode
.json
~/.opencode/history/
%APPDATA%/OpenCode/
Cursor
.db (SQLite)
~/.cursor/history.db
%APPDATA%/Cursor/
Continue
.json
~/.continue/sessions/
%APPDATA%/Continue/
Aider
.md
.aider.chat.history.md
Project root directory
Codex
.json
~/.codex/logs/
%APPDATA%/Codex/
Gemini CLI
.json
~/.gemini-cli/history/
%APPDATA%/GeminiCLI/
Connectors → Filesystem
Layer 3: File System & Path Resolution
Platform Detection
WSL Detection: `/proc/version` contains "microsoft"
`/mnt/c/Users/` → `C:\Users\` Platform-specific paths: • Windows: `%APPDATA%`, `%USERPROFILE%`
• Linux/macOS: `~/.config`, `~/.local`
• WSL: Hybrid with `/mnt/` translation
Format Detection
Extension-based routing: • `.jsonl` → Claude (iterate lines)
• `.json` → Vibe/OpenCode/Continue/Codex/Gemini
• `.db` → Cursor (SQLite queries)
• `.md` → Aider (markdown structure) Validation: File signature + structure checks
8
Connectors
4
File Formats
3
Platforms
Auto
Discovery
Color Key
Protocol/Registry
Claude (.jsonl)
Vibe (.json)
OpenCode (.json)
Cursor (.db)
Continue (.json)
Aider (.md)
Codex (.json)