Search for content across your Logseq graph
Searches your Logseq graph for content matching a query across all pages and blocks.
/plugin marketplace add C0ntr0lledCha0s/claude-code-plugin-automations/plugin install logseq-expert@claude-code-plugin-automations<search-query>Search for content across all pages and blocks in your Logseq graph.
$ARGUMENTS - The search query (required)Search for "$ARGUMENTS" in Logseq.
Use the Logseq HTTP API:
import json
import urllib.request
import os
def search_logseq(query, limit=50):
token = os.environ.get("LOGSEQ_API_TOKEN", "")
url = os.environ.get("LOGSEQ_API_URL", "http://127.0.0.1:12315")
req = urllib.request.Request(
f"{url}/api",
data=json.dumps({"method": "logseq.App.search", "args": [query]}).encode(),
headers={"Content-Type": "application/json", "Authorization": f"Bearer {token}"}
)
with urllib.request.urlopen(req) as resp:
results = json.loads(resp.read())["result"]
formatted = []
for r in results[:limit]:
formatted.append({
"uuid": r["block"]["uuid"],
"content": r["block"]["content"],
"page": r["block"].get("page", {}).get("name", "unknown")
})
return {"query": query, "count": len(formatted), "results": formatted}
result = search_logseq("$ARGUMENTS")
print(json.dumps(result, indent=2))
/logseq-expert:search meeting agenda - Find meeting agendas/logseq-expert:search #project - Find tagged content/logseq-expert:search TODO - Find todo items