hishtory  by ddworken

CLI tool for enhanced, synced shell history with contextual awareness

Created 3 years ago
2,904 stars

Top 16.4% on SourcePulse

GitHubView on GitHub
Project Summary

hiSHtory enhances shell command history by storing it with contextual metadata such as directory, exit status, and runtime. It targets developers and power users seeking a searchable, synced, and end-to-end encrypted history across multiple machines, improving command recall and productivity.

How It Works

hiSHtory captures shell command execution metadata and stores it locally in an encrypted SQLite database. This data is then synced across devices via a backend service, ensuring privacy and accessibility. The core advantage lies in its rich querying capabilities, allowing users to search history not just by command string but also by context like directory, exit code, or execution time, facilitated by an interactive TUI.

Quick Start & Requirements

  • Install: curl https://hishtory.dev/install.py | python3 -
  • Syncing: hishtory init $YOUR_HISHTORY_SECRET (obtained via hishtory status)
  • Dependencies: Python 3, shell integration for bash, zsh, or fish.
  • Docs: https://hishtory.dev/

Highlighted Details

  • End-to-end encryption for synced history.
  • Contextual search: directory, exit code, runtime, hostname, user.
  • AI-powered shell assistance via ChatGPT integration (? prefix).
  • Self-hosting option for the backend sync service.
  • Customizable TUI, columns, and color schemes.

Maintenance & Community

  • Actively maintained by ddworken.
  • Contributions welcome via GitHub issues and PRs.
  • Development workflow outlined with make commands.
  • Security contact: david@daviddworken.com.

Licensing & Compatibility

  • License: MIT.
  • Compatible with commercial and closed-source applications.

Limitations & Caveats

  • AI assistance requires an OpenAI API key and may incur costs.
  • Default AI queries pass through a centrally hosted hiSHtory server unless a personal API key is configured.
  • Integration with shells other than bash, zsh, and fish is not explicitly detailed.
Health Check
Last Commit

4 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
32 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.