comshit is an Obsidian desktop plugin that extends Canvas mind mapping, keeps .md and .canvas files paired, runs OSINT CLIs (Sherlock, Maigret, Social Analyzer) on node text, and embeds spreadsheet support for .sheet files in one plugin folder.
- Lovely-Mindmap-style Canvas keyboard shortcuts (
Tab,Enter,Shift + Enter,Mod + Esc, directional navigation). - Paired Markdown and Canvas sync (bidirectional, debounced).
- Commands to create, convert, and open graph pairs.
- Sherlock, Maigret, and Social Analyzer integration (external CLIs; not bundled).
- Embedded Excel runtime for
.sheetfiles (disable the separate community Excel plugin to avoid duplicate registration). - Works perfectly with the @comshit scripts for CSV dumps.
- Obsidian 1.4.16 or newer (desktop).
- For Sherlock / Maigret / Social Analyzer: install those tools separately and set commands in plugin settings.
- For Social Analyzer (optional): clone qeeqbox/social-analyzer into
social-analyzer-main/inside this plugin folder (see below).
- Download the latest release assets (
main.js,manifest.json,styles.css) or clone this repository. - Copy the plugin folder to
Vault/.obsidian/plugins/comshit/. - Enable comshit in Settings → Community plugins.
- Configure Sherlock (and other tools) under Settings → comshit.
git clone https://github.com/comwhore/obsidian-comshit.git
cd obsidian-comshit
npm install
npm run buildCopy or symlink the folder into your vault’s .obsidian/plugins/comshit/.
Community plugin installs only ship main.js, manifest.json, and styles.css. Social Analyzer needs Python sources beside the plugin:
cd .obsidian/plugins/comshit
git clone --depth 1 https://github.com/qeeqbox/social-analyzer.git social-analyzer-mainSet Python command in settings (for example python or py -3 on Windows).
- Open or create a Canvas file.
- Use mindmap shortcuts on selected nodes.
- Run OSINT from the command palette or the Canvas node context menu.
- Configure CLI paths under Settings → comshit.
python -m sherlockC:\Python311\python.exe -m sherlockC:\tools\sherlock\sherlock.exe
Paired markdown files use managed sections:
<!-- whereami:graph:start -->…<!-- whereami:graph:end --><!-- whereami:preserve:start -->…<!-- whereami:preserve:end -->
Content outside these blocks is preserved.
npm run dev # watch build into main.js
npm run build # production bundle (embeds excel-modded for marketplace installs)Bump version for a release:
npm version patch # or minor / major
git push && git push --tagsTag names must match manifest.json version (for example 1.0.1). GitHub Actions uploads release assets automatically.
- Push this repository to GitHub (default branch with accurate
manifest.jsonon HEAD). - Create a release whose tag equals
manifest.jsonversion, with assetsmain.js,manifest.json,styles.css(the workflow above does this on tag push). - Sign in at community.obsidian.md, link GitHub, and submit Plugins → New plugin with your repo URL.
- Address automated review feedback; publish when ready.
Plugin id: comshit (must stay unique in the directory).
GNU General Public License v3.0 or later — see LICENSE and COPYING. Spreadsheet code is derived from obsidian-excel (GPLv3). Third-party notices: NOTICE.
Use OSINT features responsibly and follow site terms of service and applicable law.