🧐 Cyte
🚧 Work in progress - this is beta software, use with care
A background screen recorder for easy history search. If you choose to supply an OpenAI key, or a local language model like LLaMA, it can act as a knowledge base. Be aware that transcriptions will be sent to OpenAI when you chat if you provide an OpenAI API key.
Uses
🧠 Train-of-thought recovery
Autosave isn’t always an option, in those cases you can easily recover your train of thought, a screenshot to use as a stencil, or extracted copy from memories recorded.
🌏 Search across applications
A lot of research involves collating information from multiple sources; internal tools like confluence, websites like wikipedia, pdf and doc files etc; When searching for something we don’t always remember the source (or it's at the tip of your tongue)
Features
- When no OpenAI key is supplied, and browser context awareness is disabled, Cyte is completely private, data is stored on disk only, no outside connections are made
- Pause/Restart recording easily
- Set applications that are not to be recorded (while taking keystrokes)
- Chat your data; ask questions about work you've done
Development
Happy to accept PRs related to any of the following
Issues
- App sandbox is disabled to allow file tracking; instead should request document permissions
- Timeline slider not updating while video playing (timeJumped notification not sent until pause)
- Build process fails on Github (Needs signing cert installed to sign embedded content?)
- Should not perform video analysis on feed
- Some results from searching fail to highlight the result snippet
- Keyboard navigation events: Return to open selected episode, escape to pop timeline view
- Fallback to object recognition
- Encryption e.g. Filevault?
Credits
Thanks to these great open source projects:
- DiffMatchPatch: Used to differentiate unchanged and changed text from OCR
- AXSwift: Used for browser context awareness
- KeychainSwift: Used to securely store API keys in the Apple Keychain Manager
- SQLite.swift: Used for the text search functionality
- XCGLogger: Used to save debug logs to disk
- llama.cpp: Used to load and run LLMs for chat when a local model is provided
- MacPaw OpenAI: Used to run LLMs for chat when OpenAI API enabled