Searchat — Multi-Agent Connector Architecture

Extensible Protocol · 8 Agent Connectors · Platform-Agnostic Paths · Auto-Discovery Registry
v0.4.0 | Last updated: 2026-02-03
Python 3.9+ · 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)