CLI reference¶
Run lit-monitor --help for the full command surface. Top-level -v /
--verbose enables DEBUG console output; a full DEBUG log is always written to
logs/{date}_{command}.jsonl.
One-time setup¶
lit-monitor first-run # interactive setup, then launch the server
lit-monitor build-vocabulary # cluster Zotero tags into themes
lit-monitor brain-build --resume # extract every paper in the collection
Discovery¶
lit-monitor run # discover new papers + ingest new Zotero items
lit-monitor run --dry-run # preview without writes
lit-monitor run --since-days 30 # search the last 30 days (override the adaptive window)
lit-monitor run --since 2026-01-01 # search from a date to today
lit-monitor run --from 2025-08-01 --to 2025-09-01 # search an explicit date range (catch-up/backfill)
lit-monitor discovery view --run latest # rich-table view of the latest results
lit-monitor discovery export-md --to ~/digest.md # on-demand Markdown export
lit-monitor discovery backfill-ingested # mark past recommendations that are now in your library as ingested
backfill-ingested is a one-time catch-up: for every paper ever surfaced in a
discovery digest that is now in your library, it records that the recommendation
was ingested, so older run views show their true conversion. It is forward-only
and safe to re-run.
Search window. With no window flag, each run covers from the latest date any
prior run already searched (the coverage frontier) up to today — so runs march
forward without gaps or re-fetching. --since-days / --since / --from+--to
are mutually exclusive overrides for a one-off wider look-back or a historical
catch-up; an explicit range is honored as-is (no cap) and does not disturb the
frontier unless it extends past it.
Ask¶
Responses are automatically contextualised to your dominant theme when clusters
exist. Requires the knowledge graph (lit-monitor graph backfill --all).
Domain focus extraction¶
lit-monitor domain analyze # LLM-extract structured concepts from domain_context.yaml
lit-monitor domain view # show extracted focus areas
lit-monitor domain clear # reset extracted domain focus
Theme clustering¶
Requires ~100 indexed papers.
lit-monitor cluster recompute # run K-means + LLM naming
lit-monitor cluster view # show cluster themes + paper counts
lit-monitor cluster assign # assign papers to nearest cluster
lit-monitor cluster write-back tags # tag Zotero items with theme names
lit-monitor cluster write-back collections # move Zotero items into per-theme collections
Trending concepts and query expansion¶
lit-monitor trending suggest # surface rising entity types
lit-monitor trending view # list pending / accepted / dismissed suggestions
lit-monitor trending accept <id> # add concept to active topics
lit-monitor trending dismiss <id> # suppress concept until next cycle
lit-monitor topics expansions suggest "ion exchange" # co-occurring entities to broaden a topic query
Embeddings¶
lit-monitor embeddings status # show provider, model, coverage
lit-monitor embeddings switch --provider litellm --model text-embedding-3-small
lit-monitor embeddings rebuild # re-embed library under new model
Knowledge graph¶
lit-monitor graph status # node + edge counts
lit-monitor graph backfill --all # index existing papers into the graph
lit-monitor graph rebuild --all # drop + rebuild the whole graph from state.db
lit-monitor graph propose-aliases # suggest entity normalization rules
Only papers that have been extracted are indexed into the graph (and the vector store) — discovery candidates and not-yet-processed items are never added.
Upgrading from a version before this? Earlier builds could index discovery candidates into the knowledge graph. Run
lit-monitor graph rebuild --allonce after upgrading to purge those nodes; the rebuild re-indexes only your extracted papers.
Obsidian helpers¶
lit-monitor obsidian relink # update Related Work sections
lit-monitor obsidian rerender # regenerate notes from stored extractions
lit-monitor obsidian re-extract --doi <doi> # re-run LLM extraction on one paper
lit-monitor obsidian sync --all # write deferred per-paper notes
lit-monitor obsidian synthesize --topic "..." # chunk-level RAG with reranking
Active learning — interest vector + feedback¶
lit-monitor feedback <doi> --saved # record a feedback event (also --dismissed/--thumbs-up/...)
lit-monitor learning recompute # recompute the interest vector from feedback
lit-monitor learning view # show the interest vector (--per-cluster for atrophy weights)
Health¶
lit-monitor check # config + Ollama + Zotero reachability
lit-monitor diagnose # strict-mode config audit
lit-monitor status # extraction + embedding + graph counts
lit-monitor reset state # wipe state DB + all regenerable views (also: reset vault / reset all)
lit-monitor reset vectors # wipe just the ChromaDB vector store
lit-monitor reset graph # wipe just the LadybugDB knowledge graph
Each reset subcommand prompts for a typed confirmation. The web UI offers the
same per-component reset and rebuild from the Reset & Rebuild console
(/setup/reset).
See also Configuration for strict mode and provider routing.