Visualize your Bash/Zsh shell usage with interactive charts via a Flask web app.
Shell History is a Python-based tool that visualizes your Bash or Zsh shell usage through an interactive web app. It captures detailed command metadata—like execution time, exit codes, and frequency—and generates charts to help you analyze patterns, optimize workflows, and understand your command-line habits.
Developers, system administrators, and power users who spend significant time in the terminal and want to gain insights into their shell usage patterns.
It offers a unique combination of detailed command metadata capture and rich, interactive visualizations, going beyond basic history logging to provide actionable insights into shell behavior.
Visualize your shell usage with Highcharts!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Captures execution time, exit codes, command types, and working directory, providing a comprehensive dataset for analysis as detailed in the history file format section.
Uses Highcharts to display interactive charts for duration, length, temporal patterns, and Markov chains, making data exploration intuitive and accessible via a web interface.
Supports both Bash and Zsh with tailored traps and functions, ensuring broad usability across popular shells as explained in the technical setup.
Identifies top commands, success rates, and patterns through charts, helping users optimize shell habits based on data-driven evidence from the README examples.
Requires modifying .bashrc or .zshrc and managing Python dependencies, which can be intrusive and error-prone, as noted in the setup instructions with performance warnings.
Adds latency to shell startup and command execution due to the shell extension, with the README advising static paths to mitigate slow Python process spawning.
Relies on external Highcharts assets for charts, so an internet connection is required for the web app to function properly, limiting offline use.
Uses a custom, base64-encoded history format that is not human-readable or easily importable, with acknowledged issues in the README about improving to CSV.