Skip to content

feat: Advanced discovery commands (similar, timeline, cluster) #6

Description

@nmdra

This epic tracks the implementation of advanced discovery and grouping commands that leverage semantic embeddings and metadata to provide high-level views of the vault.

feat: similar command — find notes similar to a given note

There is no way to ask "find notes like this one" using an existing note as the seed instead of a query string. This is the most natural discovery action in a personal knowledge base.

Proposed solution:
Add secondbrain similar <slug>. Fetch all chunks for the seed note, average their stored embeddings to produce a centroid vector, then run col.Query(WithQueryEmbeddings(centroid)) excluding the seed note itself. Optionally restrict to the seed note's first chunk embedding with --chunk 0.

feat: timeline command — notes by recency with semantic clustering

There is no time-aware view of the vault. Users can not ask "what have I been writing about recently" or "show me notes from this month, grouped by topic".

Proposed solution:
Add secondbrain timeline. Fetch notes filtered by modified_ms range (via --since / --until accepting natural dates like 7d, 2026-06-01). Group results by k-means clustering on stored embeddings (k=5 default, configurable via --groups) and print each cluster with a synthesised label derived from the most common heading words across its members.

feat: cluster command — unsupervised topic map of the whole vault

Users have no high-level view of what topics their vault covers or how notes cluster together. Discovering unknown structure in a large vault requires browsing manually.

Proposed solution:
Add secondbrain cluster --groups 10. Fetch all chunk embeddings, run k-means (pure Go, no dependencies), and print each cluster as a named group with its top-5 member note titles and the most frequent heading words used as a label. Optionally output as JSON with --format json for piping into other tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions