The Logseq CLI is a Node.js program compiled from ClojureScript that connects to the db-worker-node server.
clojure -M:cljs compile logseq-cli
clojure -M:cljs compile db-worker-node
node ./static/db-worker-node.js
node ./static/logseq-cli.js ping --base-url http://127.0.0.1:9101
Optional configuration file: ~/.logseq/cli.edn
Supported keys include:
:base-url:auth-token:repo:timeout-ms:retries:output-format (use :json or :edn for scripting)CLI flags take precedence over environment variables, which take precedence over the config file.
Graph commands:
graph-list - list all db graphsgraph-create --graph <name> - create a new db graph and switch to itgraph-switch --graph <name> - switch current graphgraph-remove --graph <name> - remove a graphgraph-validate --graph <name> - validate graph datagraph-info [--graph <name>] - show graph metadata (defaults to current graph)Graph content commands:
add --content <text> [--page <name>] [--parent <uuid>] - add blocks; defaults to today’s journal page if no page is givenadd --blocks <edn> [--page <name>] [--parent <uuid>] - insert blocks via EDN vectoradd --blocks-file <path> [--page <name>] [--parent <uuid>] - insert blocks from an EDN fileremove --block <uuid> - remove a block and its childrenremove --page <name> - remove a page and its childrensearch --text <query> [--limit <n>] - search block titles (Datalog includes?)tree --page <name> [--format text|json|edn] - show page treetree --block <uuid> [--format text|json|edn] - show block treeExamples:
node ./static/logseq-cli.js graph-create --graph demo --base-url http://127.0.0.1:9101
node ./static/logseq-cli.js add --page TestPage --content "hello world"
node ./static/logseq-cli.js search --text "hello"
node ./static/logseq-cli.js tree --page TestPage --format json