TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
ConductLoop is a free, open-source AI second brain that runs on your Mac. It indexes your Obsidian vault, repos and notes into local memory your AI agents work from — Claude, GPT or local Ollama. No a
ProductivityPython · JavaScriptGitHub @EVMCODOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Local-first second brain and AI-agent cockpit for macOS. Bring your own model key; your data stays on your Mac.
Taken from the repository README
Loading the full README.
Read the full README ↗Local-first second brain and AI-agent cockpit. Python + SQLite backend, native macOS app (Tauri), bring-your-own-key models.
ConductLoop indexes your own material — an Obsidian vault, memory/notes folders, code repositories, a skills directory, project playbooks and a list of URLs you want to watch — into a single local SQLite database with full-text search (FTS5), fuzzy matching and optional local semantic embeddings. On top of that index it runs a Brain (RAG chat with citations) and a set of AI agents/teams (Boardroom, tasks, runs, scheduler) using the model provider you configure.
The Python package is still named
ops_dashboardfor backwards compatibility. The product name is ConductLoop.
http.server that binds to 127.0.0.1:7777 by default.ops.db). Location, in order of precedence:
$OPS_DATA_DIR/ops.db<repo>/data/ops.db (dev checkout, if data/ exists)~/Library/Application Support/com.conductloop.desktop/data/ops.db · Linux ~/.local/share/conductloop/ops.db · Windows %LOCALAPPDATA%\ConductLoop\data\ops.db0600 files in the data dir elsewhere (ops_dashboard/secrets_store.py). Connector credentials are Fernet-encrypted in the DB.SENTRY_DSN).sentence-transformers, the embedding model (all-MiniLM-L6-v2) is downloaded once from Hugging Face and then runs locally.The Brain talks directly to the provider you configure; nothing is proxied through ConductLoop servers.
Provider (BRAIN_PROVIDER) | Needs |
|---|---|
anthropic | ANTHROPIC_API_KEY |
openai | OPENAI_API_KEY |
minimax | MINIMAX_API_KEY (OpenAI-compatible; MINIMAX_BASE_URL optional) |
gateway | GATEWAY_API_KEY for an OpenAI-compatible gateway (GATEWAY_BASE_URL, default Vercel AI Gateway) |
ollama | a local Ollama on localhost:11434 (OLLAMA_MODEL, OLLAMA_BASE_URL optional) |
mock | nothing — offline/testing |
BRAIN_PROVIDER=auto (default) picks the first available provider; BRAIN_MODEL overrides the model. Keys can also be set from the UI (/credentials), which stores them in the macOS keychain or, where there is none, in an encrypted file protected by a passphrase — never in plain text. Other settings live in your local config.json ($OPS_CONFIG_PATH, or in the data directory); it is gitignored — never commit it.
Download the latest .dmg from conductloop-releases, drag ConductLoop to /Applications and open it. Requires macOS 13 (Ventura) or later on Apple Silicon; the built-in browser needs macOS 14 (Sonoma) or later (on macOS 13 everything else works). The app is a Tauri v2 shell that starts the bundled Python server as a sidecar and shows it in a native WebView.
Requires Python 3.13+ (CI runs 3.14).
git clone https://github.com/EVMCOD/conductloop.git
cd conductloop
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
make serve # → http://127.0.0.1:7777
Then, optionally, point it at your content and index it:
cp .env.example .env # the make targets load .env automatically
make index # index all configured sources
Dependency sets:
requirements-core.txt — lean runtime (server, CLI, auth, search). No ML.requirements.txt — core + Anthropic/OpenAI SDKs + local semantic search: fastembed (ONNX, no PyTorch; what the app uses) and sentence-transformers (pulls PyTorch, ~2 GB).requirements-optional.txt — Whisper voice notes, Google Analytics, PyJWT, Sentry, MCP server.requirements-dev.txt — core + pytest, ruff, mypy, pip-audit, pre-commit.pip install -e . also installs the ops CLI entry point.
A fresh install is empty: no projects, teams or URLs. Point it at your content with environment variables (see .env.example), e.g. OPS_VAULT_ROOT, OPS_WORKSPACE, OPS_SKILLS_DIR, OPS_REPOS, OPS_PROJECTS_FILE, OPS_LIVE_URLS_FILE. Set CONDUCTLOOP_DEMO=1 (with a throwaway CONDUCTLOOP_DB_PATH and OPS_DATA_DIR) to load fictional demo data instead; see docs/FIRST-5-MINUTES.md.
Optional notification webhooks (Slack / Discord / Telegram) are described in config.example.json. Remote access from a phone is documented in docs/REMOTE.md (Tailscale; nothing is exposed publicly by default).
make help # list targets
make index # reindex everything
make serve # start the web UI on :7777
make brain # ask the Brain from the terminal
make briefing # morning briefing
make snapshot # take a daily snapshot
make diff # diff today vs yesterday
Selected ops / python -m ops_dashboard commands: index, find, brain, briefing, capture, todos, projects, playbook, snapshot, backup, export / import, sync-export / sync-import (passphrase-encrypted bundle), obsidian-sync, calendar-import, mcp (expose the Brain over MCP), setup (readiness checklist). Run ops --help for the full list.
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements-dev.txt
pre-commit install # optional: ruff + basic hygiene hooks
ruff check ops_dashboard tests # lint (blocking in CI)
mypy ops_dashboard # type check (advisory in CI; a strict subset is blocking)
pytest -m "not live" # hermetic test suite (what CI runs)
Tests marked live need the network or real credentials; they never run by default or in CI.
ops_dashboard/ Python package: server.py (HTTP API + UI), cli.py (typer CLI),
db*.py (SQLite schema/queries), brain.py (RAG + providers),
indexers/ (vault, memory, repos, skills, urls, …), web/ (vanilla HTML/JS UI)
desktop/ Tauri v2 macOS app (Rust shell + PyInstaller sidecar build)
desktop-demo/ Tauri demo build
scripts/, bin/ launchd jobs, release and maintenance scripts
tests/ pytest suite
See desktop/README.md and desktop/docs/DISTRIBUTION.md. Building and signing a release needs your own Apple Developer ID and your own Tauri updater key; neither is in this repository.
Linux (experimental) and Windows are not shipped. docs/PORTABILITY.md is the audit of everything that is macOS-only today, with the plan to port it.
MIT. The ConductLoop name and logo are not covered by the license.