SelectPilot is not a prompt interface. It is a deterministic execution layer that compiles user intent into controlled, contract-bound operations over local models.
Local AI in your browser. No data leaves your device on the core selected-text path.
Select text on any page → extract structured knowledge → export where it belongs.
Runs on local models via Ollama.
Most browser AI tools send your context to external APIs.
SelectPilot is built to keep the core workflow local-first and inspectable.
- No outbound cloud inference on the core selected-text workflow
- No telemetry in runtime flow
- No API keys required for core usage
- Deterministic local boundary (
127.0.0.1bridge + local Ollama)
- Extracts structured knowledge from selected text
- Generates canonical metadata (source, intent, timestamps)
- Exports to adapter targets (e.g. Obsidian/Notion package formats)
- Uses profile-based local runtime selection (Fast / Balanced / Advanced)
- Install Ollama
- Bootstrap local runtime + extension build:
pnpm setup:local
pnpm build- Load unpacked extension in
chrome://extensions - Select text → open side panel → click Extract JSON
Optional local checks:
curl http://127.0.0.1:8083/health
pnpm test:privacyBrowser Extension (UI)
↓
Local Bridge (127.0.0.1:8083)
↓
Python Backend (server/)
↓
Ollama (local models)
- All core inference runs locally
- No external inference endpoints on core path
- Privacy boundary is observable and testable
- Core selected-text processing happens locally
- No outbound requests for core inference
- No tracking or telemetry in runtime flow
- Verified with privacy and E2E tests (
tests/)
See: ZERO_LEAKAGE.md
All extracted data is normalized before export.
Exports are mapped to target formats without lock-in.
Your hardware and selected profile determine latency/quality.
- Structured extraction
- Canonical metadata
- Manual export/copy
- One-click connector exports
- Target-specific format adapters
- No persistent memory layer
- Explicit opt-in local memory layer
- Local embeddings/retrieval capabilities
- Inspect / export / delete retained knowledge
panel/— side panel UI and interaction flowbackground/— extension runtime + feature gatingserver/— local Python bridge and runtime endpointsapi/— extension-to-local-bridge client layertests/— E2E + privacy/no-leakage tests
- Deterministic intent-to-operation compiler for selected text workflows
- Contract-bound local execution layer over Ollama-hosted models
- Structured extraction + canonical output + adapter-based export pipeline
- Cloud AI wrapper
- Generic prompt/chat interface
- Telemetry-driven data-harvesting tool
Active development. Core local pipeline is functional and test-backed. Current focus: stability, deterministic structure, and trust consistency.
https://github.com/kristoffersodersten/selectpilot
SelectPilot uses PR-first and status-check-first repository controls to keep code-state deterministic.
Enable these settings on main:
- Require a pull request before merging
- Require status checks to pass before merging
- Require linear history
- Do not allow force pushes
- Do not allow branch deletion
Mark these as required in branch protection:
CI / validate (20.x)CI / validate (22.x)Dependency Review / dependency-reviewCodeQL / Analyze (javascript-typescript)CodeQL / Analyze (python)
Current CI enforces:
- lint (
pnpm lint,pnpm lint:manifest) - typecheck (
pnpm typecheck) - build (
pnpm build) - baseline tests (
pnpm test)


