Search Tool Hierarchy
When searching code, use this decision tree:
Need CONCEPTUAL/SEMANTIC search?
(how does X work, find patterns, understand architecture)
→ Use LEANN (/leann-search) - embedding-based semantic search
→ PreToolUse hook auto-redirects semantic Grep queries
Need to understand code STRUCTURE?
(find function calls, class usages, refactor patterns)
→ Use AST-grep (/ast-grep-find)
Need to find TEXT in code?
→ Use Morph (/morph-search) - 20x faster
→ If no Morph API key: fall back to Grep tool
Simple one-off search?
→ Use built-in Grep tool directly
| Tool | Best For | Requires |
|------|----------|----------|
| LEANN | Semantic search: "how does caching work", "error handling patterns", conceptual queries | Index built |
| AST-grep | Structural patterns: "find all calls to foo()", refactoring, find usages by type | MCP server |
| Morph | Fast text search: "find files mentioning error", grep across codebase | API key |
| Grep | Literal patterns, class/function names, regex | Nothing (built-in) |
LEANN (semantic/conceptual):
AST-grep (structural):
Morph (text search):
Grep (literal):
class ProviderAdapterdef __init__# Search with semantic query
leann search opc-dev "how does blackboard communication work" --top-k 5
# List available indexes
leann list
# Rebuild index (when code changes)
leann build opc-dev --docs dir1 dir2 --no-recompute --no-compact --force
Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
Search and analyze your own session logs (older/parent conversations) using jq.
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.
ElevenLabs text-to-speech with mac-style say UX.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Notion API for creating and managing pages, databases, and blocks.
Category:developer