Jun Zhou16 downloadsSemantic search of your vault via ccc (cocoindex-code).
Find notes by meaning, not just keywords. A quick-switcher-style modal that searches your Obsidian vault semantically — type "that bank statement about the mortgage" and get the note, even if it never uses those words.
Search runs on your machine, powered by cocoindex-code (ccc).
This plugin is a front end for ccc, a separate command-line tool you install yourself. Without it the plugin can't search.
Desktop only. The plugin runs a local program, which Obsidian mobile doesn't allow.
Install ccc v0.2.38 or newer. With uv:
uv tool install --upgrade 'cocoindex-code[full]'
That puts ccc in ~/.local/bin, where the plugin finds it automatically. For other install methods see the cocoindex-code README; anywhere on your PATH works, and other locations you can point at in the plugin settings.
Index your vault once. In a terminal, from your vault folder:
cd /path/to/YourVault
ccc init
ccc index
Indexing a large vault takes a while the first time. After that the plugin keeps the index current for you.
Open the plugin page and click Add to Obsidian, or from inside the app: Settings → Community plugins → Browse, search for CCC Semantic Search, then Install and Enable. (If Obsidian is in Restricted mode, turn that off first.)
Click the sparkles ribbon icon, or run the command "Search vault semantically" from the command palette. There's no default hotkey — assign your own under Settings → Hotkeys.
Type a natural-language query. Each result shows the note title, its path, a relevance score, and a snippet of the matching text.
The first search after starting your computer can take up to a minute. ccc is loading its language model; the modal shows a "warming up" hint while it does. Every search after that returns in a fraction of a second.
| Setting | Default | What it does |
|---|---|---|
| ccc binary path | auto-detect | Where your ccc executable lives. Leave empty to look on PATH, then ~/.local/bin/ccc. Test ccc binary confirms the plugin can reach it. |
| Result limit | 10 | How many results a search returns. |
| Refresh index on search | on | Pick up recent edits: the first search each time you open the modal refreshes the index. Turn off if you'd rather reindex manually with ccc index. |
| Minimum score | 0 | Hide weak matches below this relevance score. 0 shows everything. |
"ccc not found" or the Test button fails. Obsidian launched from Finder or the Start menu doesn't inherit your shell's PATH, so a ccc that works in your terminal may still be invisible to the plugin. Run which ccc in a terminal and paste the full path into the ccc binary path setting.
No results, or results from notes you deleted. The index is stale. Make sure "Refresh index on search" is on, or run ccc index in your vault folder.
Every search is slow, not just the first. ccc's background daemon is likely restarting each time. Check that ccc search "test" is fast on the second run in a terminal.
ccc on your machine and reads the results.ccc uses the network is your choice. Configured with a local embedding model, nothing leaves your computer. If you configure ccc with an API-based embedding provider, it sends your search queries — and your note contents while indexing — to that provider.ccc executable on your PATH and at ~/.local/bin/ccc. ccc keeps its search index in its own data directory, outside the vault.ccc; that's yours to manage.Bug reports and pull requests are welcome — see DEVELOPMENT.md for the build setup and architecture.
MIT