Make scattered context searchable.
Vision OCR extracts text from screenshots. Local embeddings and SQLite organize the knowledge index so answers can point back to their sources.
A native macOS agent that searches files and screenshots with citations, edits code, and runs tests through scoped tools and approval prompts.
Watch the native Mac app keep the conversation, working context and agent activity together. The recording shows the actual application; model waiting time is accelerated.
Native app recording · no narration · waiting time acceleratedOpen recordingA developer’s useful context lives across files, screenshots and tools. Repeatedly pasting it into a chat loses the connection to the source—and a generated answer is still a long way from a safe edit.
I built a SwiftUI workspace around a local knowledge engine. The same context can ground a conversation, support a coding task, or be offered to another agent through MCP.
The engineering behind the screens, in three stages.
Vision OCR extracts text from screenshots. Local embeddings and SQLite organize the knowledge index so answers can point back to their sources.
The FastAPI engine serves source-grounded retrieval to the native app and exposes local capabilities through MCP. Ollama mode supports on-device inference.
Scoped tools handle files and tests. Approval prompts and file snapshots make the boundary between a suggestion and an action visible.
The Mac interface and external MCP clients share the local engine instead of maintaining separate copies of the developer’s context.
Ollama supports local inference. Optional cloud providers have a different data path; the product does not describe every mode as offline.
Tool activity, approvals and restorable file snapshots matter as much as the generated answer.
Real native-app recordings; local inference in Ollama mode.
The recordings show the native app, with model waiting time accelerated. The separate web Agent Lab uses an in-memory fixture; it does not access a visitor’s filesystem. Planned integrations are labeled on the product page.
A useful agent needs a working context and a visible boundary around what it can change.