Back to capture

capture — App specification

Why an app specification

Buyers: know exactly what you get, with each feature checked against the source.

Developers: a clear app specification builds trust, helps reduce refunds and supports better ranking.

What you get

App specification source review: 11 of 11 features found in source (100%)

  • ✓ Select a screen region using a configurable global shortcut or menu command, with multi-display support and cancellation. — found
  • ✓ Extract text from a selection using on-device recognition or an OpenRouter vision model. — found
  • ✓ Translate selected content into a chosen language and display the result over the original text or in an editable panel. — found
  • ✓ Copy original or translated text and open overlay translations as editable text. — found
  • ✓ Chat about a captured selection with streaming replies, screenshot previews, recapture, retry, cancellation, and conversation reset. — found
  • ✓ Review and approve or deny AI-requested clicks, typing, key presses, scrolling, and screenshot updates. — found
  • ✓ Read active document text locally, including available PDF text layers, with partial-read notices and an area-capture fallback. — found
  • ✓ Customize capture and document-reading shortcuts, with duplicate-shortcut rejection and registration error feedback. — found
  • ✓ Browse image-capable AI models with pricing, search the catalog, refresh it, or enter a model ID manually. — found
  • ✓ Save and test an OpenRouter API key, retry failed Keychain access, or explicitly confirm replacement of an inaccessible saved key. — found
  • ✓ Configure automatic copying, translation display, image size, action approvals, and launch at login. — found

Static AI review of the source. Partial features count half. Actual run verification: Not tested; source presence and a responding demo do not prove the features work.

Buy

Summary

Capture is a macOS menu bar app for people who need to read, translate, or ask questions about content in other apps. Users can select a screen area, extract text locally or with AI, translate it, chat about it, and approve AI-assisted clicks and typing. It also reads text exposed by the active document without taking a screenshot or making an AI request.

Platforms

  • macOS

User roles

  • Local user: Capture screen regions, read document text, extract and translate text, chat about selections, approve or deny agent actions, and manage preferences. No separate administrator or account roles are implemented.

Features

  1. Select a screen region using a configurable global shortcut or menu command, with multi-display support and cancellation. — Files: Sources/Capture/CaptureCoordinator.swift, Sources/Capture/Capture/SelectionOverlay.swift, Sources/Capture/Capture/ScreenCapturer.swift
  2. Extract text from a selection using on-device recognition or an OpenRouter vision model. — Files: Sources/Capture/Features/TextExtractor.swift, Sources/Capture/UI/ResultPanel.swift
  3. Translate selected content into a chosen language and display the result over the original text or in an editable panel. — Files: Sources/Capture/Features/InPlaceTranslator.swift, Sources/Capture/Features/Translator.swift, Sources/Capture/UI/TranslationOverlay.swift
  4. Copy original or translated text and open overlay translations as editable text. — Files: Sources/Capture/UI/TranslationOverlay.swift, Sources/Capture/UI/ResultPanel.swift
  5. Chat about a captured selection with streaming replies, screenshot previews, recapture, retry, cancellation, and conversation reset. — Files: Sources/Capture/Chat/ChatPanel.swift, Sources/Capture/Chat/ChatSession.swift
  6. Review and approve or deny AI-requested clicks, typing, key presses, scrolling, and screenshot updates. — Files: Sources/Capture/Chat/ChatSession.swift, Sources/Capture/Agent/AgentTools.swift, Sources/Capture/Agent/InputSynthesizer.swift
  7. Read active document text locally, including available PDF text layers, with partial-read notices and an area-capture fallback. — Files: Sources/Capture/Features/DocumentTextController.swift, Sources/Capture/Features/DocumentTextReader.swift, Sources/Capture/UI/ResultPanel.swift
  8. Customize capture and document-reading shortcuts, with duplicate-shortcut rejection and registration error feedback. — Files: Sources/Capture/Settings/SettingsView.swift, Sources/Capture/Hotkey/HotkeyManager.swift, Sources/Capture/AppDelegate.swift
  9. Browse image-capable AI models with pricing, search the catalog, refresh it, or enter a model ID manually. — Files: Sources/Capture/Settings/SettingsView.swift, Sources/Capture/LLM/ModelCatalog.swift
  10. Save and test an OpenRouter API key, retry failed Keychain access, or explicitly confirm replacement of an inaccessible saved key. — Files: Sources/Capture/Settings/SettingsView.swift, Sources/Capture/Settings/Keychain.swift, Sources/Capture/LLM/OpenRouterClient.swift
  11. Configure automatic copying, translation display, image size, action approvals, and launch at login. — Files: Sources/Capture/Settings/SettingsView.swift, Sources/Capture/Settings/AppSettings.swift

Main user flows

  1. Extract screen text: Invoke Capture Area → drag over content → choose Image → Text → review or edit the result → copy it or open a chat about it.
  2. Translate a selection: Capture an area → choose the target language → select Translate → review the overlay or result panel → copy the translation or original text.
  3. Chat about screen content: Capture an area → select AI Chat → enter a question → read the streaming response → optionally recapture, retry, stop, or start a new chat.
  4. Approve agent assistance: Ask the chat agent to interact with the selected content → review a proposed action and any target marker → choose Allow, Allow all, or Deny → review the subsequent screenshot and response.
  5. Read document text: Focus an external document window → invoke Read Active Document Text → review available local text → copy or edit it → use Capture an area if the document exposes no readable text.
  6. Recover saved-key access: Open Settings after a Keychain error → retry access or enter a replacement key → explicitly confirm replacement if needed → select Test → retry the AI action.

Integrations and external services

  • OpenRouter: AI chat, image-to-text, translation, model discovery, and API-key checks.
  • macOS screen capture: Screen Recording permission and display capture.
  • macOS text recognition: On-device OCR without an AI request.
  • macOS Accessibility: Reading exposed document text and performing approved input actions.
  • macOS PDF support: Reading text layers from accessible local PDF files.
  • macOS Keychain: Persistent storage of the OpenRouter API key.
  • macOS clipboard and login items: Copying results and optional launch at login.

Known limitations

  • Supports macOS 14 or later only.
  • Each screen selection is confined to one display and must be at least 5 × 5 points.
  • AI features require network access, an accessible API key, and a compatible model available through OpenRouter.
  • AI actions send selection content and conversation context through OpenRouter and its model providers.
  • Screen capture requires Screen Recording permission; document reading and synthesized input require Accessibility permission.
  • Document reading depends on text exposed by the source app. Scanned PDFs without a text layer require image-to-text.
  • Accessibility document reads have time and traversal limits; partial results are labelled and are not automatically copied.
  • Agent execution is limited to 25 tool steps per user message.
  • Chat history is session-based; persistent conversation history is not implemented.
  • Keychain access can fail because of macOS authentication or app-identity changes and may require user intervention.
  • Local builds target the host architecture. The build script does not produce a universal app, installer, or notarized distribution.
  • End-to-end behavior is not verified by this code review; successful live chat after the Keychain recovery changes remains unverified.

How to install

Installation document found: yes

Instructions are provided in README.md, CONTRIBUTING.md, docs/DEVELOPMENT.md, and docs/RELEASING.md. No INSTALL.md, environment example file, Docker Compose configuration, or package-manager script manifest was found.

Prerequisites

macOS 14 or later. Xcode 15.3 or later, or a compatible Swift 5.10+ toolchain and macOS SDK. Git for obtaining the source. macOS signing tools, provided with the development tools. An OpenRouter account and API key for AI features only. Screen Recording permission for area capture. Accessibility permission for document reading and agent input.

Install

Obtain the source and enter the project directory. No third-party dependency installation is required.

git clone https://github.com/searchrome/capture.git
cd capture

Configure

  • CODESIGN_IDENTITY (optional): Selects the signing identity used when assembling the app; otherwise the script selects an available Apple Development identity or uses ad-hoc signing.

Enter the OpenRouter API key in the app’s Settings and use Test. The key is stored in Keychain, not an environment file. Select the OCR engine, models, target language, and approval preferences in Settings.

Grant Screen Recording and Accessibility permissions in System Settings when needed. Keep the app location and signing identity consistent between builds.

Build

Check compilation, then assemble and sign the release app at build/Capture.app.

swift build
scripts/build-app.sh release

Run

For development, the documented helper stops any running Capture instance, builds a debug app, and launches it.

scripts/run.sh

Alternatively, launch the app bundle already built in the previous step.

open build/Capture.app

Capture appears in the menu bar and has no Dock icon.

Port

Unknown

Help us improve CookThisApp

0/2000