OCS Clipboard
Tray application em Rust para histórico de clipboard com classificação local, persistência em SQLite e busca com embeddings locais quando o modelo estiver disponível.
MVP implementado
- watcher de clipboard com deduplicação por hash
- classificação automática:
code,link,text,command,json,email,sql,image - persistência em SQLite no diretório de dados do usuário
- tray icon com menu de abrir, limpar cache SQLite e sair
- atalho global
Ctrl + Shift + V - popup em webview com busca e copiar de volta ao clipboard
- embeddings locais com
fastembedem modo lazy
Executar
cargo runNa primeira geração de embedding, o fastembed pode baixar o modelo localmente.
Estrutura
src/ai: classificação e embeddingssrc/clipboard: watcher do clipboardsrc/db: schema e consultas SQLitesrc/tray: tray icon e hotkey globalsrc/ui: widget popup emtao + wry
Limpar cache SQLite
Use o menu do tray e clique em Limpar cache.
Isso remove todos os itens persistidos do histórico e atualiza o widget.
Gerar release .exe
cargo build --releaseGerar release .msi
Instale o empacotador uma vez:
cargo install cargo-wixInstale o WiX Toolset 3.x em um terminal com privilégios de administrador:
winget install --id WiXToolset.WiXToolset --accept-package-agreements --accept-source-agreementsDepois gere o binário release e o instalador MSI:
.\build-release.ps1Na primeira execução o script gera automaticamente wix\main.wxs se ele ainda não existir.
O .msi é gerado em target\wix.