🚧 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.
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.
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)
- 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
Happy to accept PRs related to any of the following
- 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?
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