terraphim / terraphim/terraphim-ai

Logseq community plugin: WASM-powered semantic search

Open
#607 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
62
Forks
5
Avg merge
2h 27m
Merged PRs (30d)
1

Description

Summary

Logseq plugin providing deterministic semantic search via terraphim's Aho-Corasick automata compiled to WASM. Surfaces terraphim search as a Logseq slash command. Same WASM core as the Obsidian plugin (#606).

Why Logseq Specifically

Terraphim's KG parser already uses Logseq's native synonyms:: property syntax. Every Logseq user who writes synonyms:: in their pages is already creating terraphim-compatible knowledge graph entries without knowing it. This plugin activates that latent value.

Architecture

Same WASM core as #606:

Logseq Plugin (TypeScript)
    |
    v
@terraphim/autocomplete (WASM)
    |
    v
terraphim_automata (Rust -> WASM)
    |
    v
User's Logseq graph (pages/ directory)

Plugin Features

  • Slash command /terraphim-search -- search with synonym expansion
  • Block-level results: search result links to specific blocks, not just pages
  • Page-level concept panel: shows synonyms and related concepts for the current page
  • Settings: graph path, rebuild trigger, custom KG directory

Logseq Plugin API

  • Logseq plugins are TypeScript/JavaScript
  • Published via Logseq Marketplace (GitHub-based)
  • API: logseq.Editor, logseq.UI, logseq.App for block operations

Messaging

"Your synonyms:: properties now power real Aho-Corasick search -- not just text matching, but concept-level semantic search compiled into a state machine."

Affected Crates / Packages

  • Same WASM core as #606
  • New repo or directory: terraphim-logseq-plugin

Estimated Effort

~1 day (shared WASM core with #606, Logseq-specific UI)

Dependencies

  • #604 Obsidian format parser (shared parser code)
  • #606 Obsidian plugin (shared WASM infrastructure)

Part of

Epic #603

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the shared WASM infrastructure in #606, the format parser work in #604, and the @terraphim/autocomplete interface. Use the Logseq Editor, UI, and App APIs as the entry points for the new plugin. Done means the plugin provides the slash-command search, block-level results, page concept panel, and listed settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, typescript, wasm
Domain
frontend, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.