terraphim / terraphim/terraphim-ai
Obsidian community plugin: WASM-powered semantic search
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 62
- Forks
- 5
- Avg merge
- 2h 27m
- Merged PRs (30d)
- 1
Description
Summary
Obsidian community plugin that provides deterministic semantic search powered by terraphim's Aho-Corasick automata, compiled to WASM and running entirely in Obsidian's Electron runtime. Zero network, zero LLM, zero API key.
Architecture
Obsidian Plugin (TypeScript)
|
v
@terraphim/autocomplete (WASM) <-- already exists as npm package
|
v
terraphim_automata (Rust -> WASM) <-- already compiles to wasm32
|
v
User's vault (markdown files)
Existing WASM Infrastructure
terraphim_typeshastypescript+wasmfeatures (tsify + wasm-bindgen)terraphim_automatahastypescript+wasmfeaturesterraphim_ai_nodejsexists as Node.js native bindings@terraphim/autocompleteis published on npm
Plugin Features
Core
- Command palette: "Terraphim: Search concepts" -- type a term, get synonym-expanded results
- Sidebar panel: persistent search with result list linking to vault files
- Status bar: concept count and last build timestamp
Configuration
- Settings tab:
- Vault path (auto-detected)
- Format: obsidian (default) / logseq / terraphim
- Synonym property name (default:
aliasesfor obsidian,synonymsfor logseq) - Rebuild trigger: on file change / manual / on startup
- Custom KG directory (optional, for dedicated concept files)
Integration
- Clicking a search result opens the file in Obsidian
- Results show: concept name, matched synonym, file path, relevance score
- Works with Obsidian's
aliases:frontmatter natively (#604) - Respects
.obsidian/exclusions
Development Plan
- Scaffold Obsidian plugin with
obsidian-sample-plugintemplate - Bundle
@terraphim/autocompleteWASM module - On startup: walk vault files, build thesaurus from
aliases:+synonyms::+#tags - Register command palette action for search
- Register sidebar panel for persistent search
- File watcher for incremental thesaurus rebuild
- Settings UI
Submission to Community Registry
- Obsidian requires: GitHub repo, manifest.json, versions.json, main.js
- Review process: ~2-4 weeks
- Must follow: https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin
- Plugin must work without network access (we already do)
Affected Crates / Packages
terraphim_automata(ensure WASM build is up to date)terraphim_ai_nodejs(may need to update WASM bindings)- New repo or directory:
terraphim-obsidian-plugin
Estimated Effort
~2 days (scaffolding + WASM integration + settings + testing)
Dependencies
- #604 Obsidian format parser (parse aliases: and wikilinks)
Part of
Epic #603
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the obsidian-sample-plugin template and inspect the published @terraphim/autocomplete package, the existing WASM features, and dependency #604. Map the planned vault scanning, search UI, settings, and file-watcher work before implementation. Done includes the required manifest.json, versions.json, main.js, tests, and an offline plugin suitable for registry submission.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript, wasm
- Domain
- desktop-dev, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100