Oopla is a macOS-first command bar that combines Spotlight-like instant local search with an agent orchestration layer for natural language actions.
- SwiftUI desktop app shell with a polished command bar surface.
- Keyboard-first result list with arrow navigation and enter-to-run.
- Local-first search over apps + common file roots (
Desktop,Documents,Downloads). - Agent planning pipeline (
query -> action plan -> safety check -> execution). - Safety confirmation UI for non-safe actions.
- Step-by-step execution feedback (pending/running/success/failure).
- Working tool implementations:
app_launcher_toolfile_search_toolfile_open_toolfolder_create_toolbrowser_open_url_toolweb_search_toolclipboard_read_toolclipboard_write_toolfinder_reveal_tool
- Global hotkey is implemented as
Cmd + Shift + Spacemonitor placeholder.- (Production-grade
Cmd + Spacereplacement should use a robust hotkey registration path and conflict handling.)
- (Production-grade
- AI provider integration is stubbed behind protocols.
MockPlannerhandles intent heuristics with deterministic parsing.StubAIProvidermarks where real LLM calls should plug in.
- Calendar, email, notes, DND, move/rename/zip are scaffolded tools with placeholder behavior.
The codebase is organized for modularity and future expansion:
App- App bootstrap + root state.
Features/CommandBar- Command bar UI and input handling view model.
Features/Execution- Execution timeline/status rendering.
Features/Settings- Settings panels for provider, shortcut, behavior, and permissions.
Core/Models- Action plan, tool call, search result, execution state models.
Core/Protocols- Testable interfaces for planner, search, tools, and AI provider.
Core/Services- Orchestration, settings, hotkey service.
Core/Tools- Tool registry + concrete tool implementations.
Core/AI- Mock planner and provider abstraction.
Core/Search- Local indexing and ranked retrieval.
Core/Safety- Safety evaluator and confirmation policy.
Resources/Prompts- Prompt templates and schema guidance.
Resources/Mocks- Demo seed content.
- User triggers command bar and types natural language.
LocalSearchIndexreturns instant local suggestions.CommandOrchestratorasks planner for anActionPlan.SafetyEvaluatorclassifies plan risk.- Safe actions run immediately, risky actions open confirmation sheet.
- Tool calls execute through
ToolRegistry. ExecutionViewstreams progress and result messages.
Open in Xcode and run the Oopla executable target.
Or from terminal:
swift run- Replace
MockPlannerwith real LLM planner using strict JSON schema validation. - Add robust global hotkey registration and customizable key mapping persistence.
- Expand index sources: recent docs, contacts, browser history, metadata ranking.
- Implement real integrations for Calendar, Mail, Notes, and DND.
- Add richer plan preview cards and retry/edit controls.
- Add unit tests for planner parsing, safety policy, and tool execution.
- Add permission diagnostics and onboarding flow.