Search your Logseq DB graphs directly from Raycast.
- π Real-time search - Search as you type with intelligent debouncing
- π Graph selector - Automatic detection and dropdown selection of available graphs
- πΎ Remembers selection - Your last selected graph is saved between sessions
- π Fast - Direct HTTP API integration with Logseq
- π Deep linking - Open pages directly in Logseq
- π Quick actions - Copy page links and titles
- β‘ No Logseq Desktop required - Works with Logseq CLI and DB graphs
Search interface with graph selector dropdown
-
Raycast - Download and install Raycast
-
Logseq HTTP Server - HTTP server for Logseq CLI
Follow the installation guide in the logseq-http-server repository
-
Logseq DB Graph - The extension works with Logseq DB (database) graphs only
Verify your graphs:
logseq list
-
Clone this repository:
git clone https://github.com/kerim/raycast-logseq-search.git cd raycast-logseq-search -
Install dependencies:
npm install
-
Build the extension:
npm run build
-
Import in Raycast:
- Open Raycast Settings (β,)
- Go to Extensions tab
- Click "+" β "Add Local Extension"
- Select the
raycast-logseq-searchfolder - Click "Add"
For development or testing:
git clone https://github.com/kerim/raycast-logseq-search.git
cd raycast-logseq-search
npm install
npm run devThis opens Raycast with the extension loaded in development mode.
-
Start the Logseq HTTP Server:
cd /path/to/logseq-http-server python3 logseq_server.py -
Open Raycast (β Space)
-
Search for "Search Logseq"
-
Select your graph from the dropdown (top-right)
-
Start searching! Your graph selection will be remembered
- Open Raycast (β Space)
- Type "Search Logseq"
- Start typing your search query
- Press Enter to open in Logseq
- Enter - Open page in Logseq
- β C - Copy page link to clipboard
- β β§ C - Copy page title to clipboard
- β , - Open extension preferences
The extension has minimal configuration needed. All settings are optional:
- Default Graph Name - Optional default graph for first launch
- Server URL - HTTP server URL (default:
http://localhost:8765) - Max Results - Maximum search results to display (default:
20)
Access preferences: Raycast β Extensions β Logseq Search β Configure
@raycast/api(^1.98.2) - Raycast extension API@raycast/utils(^1.17.0) - Raycast utilities
- Logseq HTTP Server - HTTP API server for Logseq CLI
- Logseq CLI - Official Logseq command-line interface
- jet - EDN to JSON converter (required by HTTP server)
βββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Raycast β βββββββΊ β This Extension β βββββββΊ β HTTP Server β
β UI β User β (TypeScript) β REST β (Python) β
βββββββββββββββ Input ββββββββββββββββββββ API βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Logseq CLI β
β DB Graphs β
βββββββββββββββββββ
- Extension fetches available graphs from HTTP server
- User selects graph and types search query
- Extension sends search request to HTTP server
- HTTP server queries Logseq CLI
- Results are displayed in Raycast
- User opens page using
logseq://URL scheme
The extension communicates with these HTTP server endpoints:
GET /list- Fetch available Logseq graphsGET /search?q={query}&graph={graph}- Search pages in a graph
Cause: HTTP server is not running
Solution:
cd /path/to/logseq-http-server
python3 logseq_server.pyVerify server is running:
curl http://localhost:8765/healthPossible causes:
- HTTP server is not running
- No Logseq DB graphs exist
- Incorrect server URL in preferences
Solutions:
- Check server is running:
curl http://localhost:8765/list - Verify graphs exist:
logseq list - Check server URL in extension preferences
Solution:
- Rebuild the extension:
npm run build - Restart Raycast: β Q then reopen
- Check Extensions tab in Raycast settings
raycast-logseq-search/
βββ src/
β βββ search-logseq.tsx # Main extension component
βββ assets/
β βββ extension-icon.png # Extension icon
βββ package.json # Extension manifest
βββ tsconfig.json # TypeScript configuration
βββ README.md # This file
βββ .gitignore # Git ignore rules
# Development mode (hot reload)
npm run dev
# Production build
npm run build
# Lint code
npm run lint
# Fix lint issues
npm run fix-lintContributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run lintand fix any issues - Submit a pull request
- logseq-http-server - HTTP API server for Logseq CLI (required dependency)
- logseq-db-sidekick - Browser extension for Logseq search
MIT License - see LICENSE file for details
Created by Kerim Friedman
- Built with Raycast API
- Uses Logseq HTTP Server
- Powered by Logseq CLI