Introducing Time Capsule
The open-source, self-hosted AI assistant that empowers you with perfect memory! 🧠💡
Time Capsule is a powerful tool that continuously captures and stores your digital activities, including screen recordings and typed text. It enables you to search and retrieve any information you've seen or typed on your device, providing you with a comprehensive digital memory.
- 🔒 Own your data with secure local storage
- 🖥️ Continuous capture of screen at 0.5 FPS & text
- 🔍 Search & find anything instantly
- 💻 Customize & extend with open source code
- 🔐 Encrypted storage for enhanced security
- ⚡ Optimized performance using OpenCV & Tesseract OCR
- 🐧🪟🍎 Cross-platform support for Windows, Linux, and macOS
Time Capsule is currently under active development, with several exciting features in the pipeline.
-
Screen recording
- Captures screenshots at a fixed interval of 2 seconds (0.5 FPS)
- Performs OCR on captured screenshots to extract text
- Saves extracted text along with timestamps and metadata
-
Typed text capture:
- Captures typed text across applications using the pynput library
- Detects context switches based on mouse clicks, window focus changes, key presses, long pauses, and token limit reached
- Saves captured text periodically to JSON files with timestamps and metadata
- Provides configuration options for enabling/disabling text capture and specifying storage interval
- 🔍 Search functionality to quickly find specific information based on keywords or timestamps
- 🔐 Data encryption to ensure the security of recorded data
- 🎨 Intuitive user interface for easy navigation and browsing of captured data
To start using Time Capsule, follow these steps:
- Ensure you have completed the installation and setup process
- Open a terminal and navigate to the project directory
- Run the command
python main.py
- Time Capsule will start capturing your screen and typed text
- Access the captured data in the
recordings/
directory
Refer to the usage guide for more detailed instructions and advanced configuration options.
Detailed documentation for Time Capsule can be found in the docs directory. It includes:
Follow these steps to get the project running on your local machine:
- Install Python 3.9 or higher
- Clone the repository
- Create and activate a virtual environment
- Install the required dependencies
- Configure environment variables
-
- Configure environment variables
- Run the application
Refer to the installation guide for detailed instructions. Refer to the environment setup guide for detailed instructions.
Time Capsule can be deployed on various platforms, including:
- Local machine
- Cloud servers (e.g., AWS, Google Cloud, DigitalOcean)
- Containerized environments (e.g., Docker)
Refer to the deployment guide for platform-specific instructions.
The Time Capsule project follows a modular and organized structure:
src/
: Contains the main source code filesscreen_recording/
: Module for screen recording and OCR functionalitytext/
: Module for capturing typed textmain.py
: Main entry point of the application
recordings/
: Directory for storing recorded datascreenshots/
: Subdirectory for screen recordingstext/
: Subdirectory for captured text data
tests/
: Contains unit tests for various modulesutils/
: Contains utility modulessystem_info.py
: Module for retrieving system informationtokenization_utils.py
: Module for tokenizing and storing text data
docs/
: Documentation filesrequirements.txt
: Lists the required Python dependenciessetup.py
: Setup script for the project
We welcome contributions from the open-source community to help improve and expand the capabilities of Time Capsule. If you'd like to contribute, please refer to our contribution guidelines for more information.
Time Capsule is released under the MIT License.
For any questions, suggestions, or feedback, please feel free to reach out to me on X at @TheSethRose
The future roadmap for Time Capsule includes:
- Search functionality
- Data encryption
- User interface
Stay tuned for updates and new feature releases!
Time Capsule includes a suite of unit tests to ensure the reliability and stability of the codebase. To run the tests:
- Make sure you have installed the required dependencies
- Open a terminal and navigate to the project directory
- Run the command
python -m unittest discover tests/
The test results will be displayed in the terminal, indicating which tests passed or failed.