← Voltar aos projetosAPP NATIVO / MACOS 26

Clipurr.

Uma cópia útil não deveria desaparecer na próxima. Estou construindo um histórico local para recuperar textos, imagens e arquivos — com busca e OCR no macOS.

Ver implementação ↗SwiftUI · AppKit · Apple Vision
Em desenvolvimento. Builds de debug/release e testes passaram; busca por OCR verificada no app nativo. Sem versão assinada publicada.
ILUSTRAÇÃO INTERATIVA / DADOS DE EXEMPLO

Uma cópia, com contexto.

Busque “React”, selecione uma imagem ou fixe um item. Esta ilustração web explica o fluxo do código; não é uma captura do app nativo.

  • Review the API contract · Workshop notes · project-notes.md
CONTEÚDO DO EXEMPLO

Review the API contract

OCR previamente preenchido, dados sintéticos e estado apenas em memória. Esta página não lê sua área de transferência.

INTERFACE NATIVA / CONTEÚDO SINTÉTICO
Histórico nativo do Clipurr com nota fixada, imagem, referência de arquivo e texto SQL
Histórico em um bundle temporário de demonstração.
Busca por React encontra imagem reconhecida pelo Apple Vision
Busca pelo texto da imagem reconhecido pelo Apple Vision.
01 / O PROBLEMA

Recuperar sem interromper.

Copiar outra coisa costuma apagar a referência anterior. O projeto reúne diferentes tipos de conteúdo numa lista pesquisável, com uma ação curta para selecionar e copiar novamente.

02 / ARQUITETURA

Da captura à próxima cópia.

01

Capturar

ClipboardMonitor acompanha mudanças no NSPasteboard. ContentTypeExtractor identifica texto, imagem ou referências de arquivos.

02

Guardar

HistoryStore deduplica o conteúdo; PersistenceManager serializa o histórico em JSON local.

03

Encontrar

OCRService usa Apple Vision em um actor. O texto reconhecido é associado ao item e entra na busca.

04

Recopiar

SwiftUI apresenta a lista; AppKit controla o popover. A cópia pode preservar representações RTF/HTML ou usar texto simples.

03 / DECISÕES NO CÓDIGO

Uma imagem também pode ser encontrada por texto.

O reconhecimento roda fora da interface. O item aparece primeiro; o resultado do Vision chega depois, associado pelo identificador. Se o OCR falhar, o código devolve texto vazio e mantém o item disponível.

Itens fixados ficam antes dos demais e são protegidos da remoção automática por limite ou idade. A exclusão explícita ainda pode removê-los. Recopiar sinaliza uma escrita própria para o monitor não criar outro item.

04 / LIMITES

Local não significa criptografado.

O histórico é salvo em ~/Library/Application Support/Clipurr/history.json. O código não oferece criptografia, detecção de segredos ou exclusão por aplicativo. O auto-paste opcional exige permissão de Acessibilidade; a integração de inicialização automática ainda precisa ser verificada em um app empacotado.

05 / VERIFICAÇÃO

Verificado no app nativo.

Em 3 de outubro de 2026, os builds de debug/release, 36 testes Swift Testing e o teste de propriedade de serialização do XCTest passaram com Xcode completo. Os testes cobrem pins, persistência, cópia rica/simples em uma área de transferência isolada e OCR real com Apple Vision. A execução revelou um crash na inicialização de Settings, corrigido antes de verificar a busca por imagem na interface nativa.

Atalhos globais, captura automática, auto-paste e inicialização no login ainda precisam de verificação de ponta a ponta.

Sua equipe está construindo o próximo produto?

Enviar e-mail ↗