Skip to main content

A macOS overlay for AI web applications, providing a floating window with a web view and hotkey support.

Project description

Quiper

A versatile macOS application that provides a system-wide overlay for multiple AI services, including Grok, Gemini ChatGPT and everything other engine that provides a web application. This tool allows you to quickly access your favorite AI assistants with a global hotkey, quickly switch between engines and manage multiple chat instances for each service.

Quiper

Features

  • Multi-Service Support: Seamlessly switch between Grok and Gemini.
  • Multi-Instance Chats: Manage up to 10 simultaneous chat sessions for each service.
  • Global Hotkeys:
    • Option+Space (customizable) to show/hide the application window.
    • Command+Control+<digit-n> to switch to nth engine.
    • Cmd+0 through Cmd+9 to switch between chat instances.
  • Customizable: Easily change the global hotkey to your preferred combination.

Installation

You can install the application using pip:

python3 -m pip install quiper

Or you can clone the repository and run it directly:

git clone https://github.com/sassanh/quiper.git
cd quiper
uv run quiper

To build the application into a standalone macOS app, run:

uv run poe build-dmg

The dmg file will be created in the dist directory. You can then drag the app to your Applications folder.

To have the application launch automatically at login, run:

/Applications/quiper.app/Contents/MacOS/quiper --install

How It Works

This application is built with PyObjC, which allows Python to interact with Apple's native Objective-C frameworks. It creates a borderless, always-on-top window that contains a WKWebView for each chat instance. The global hotkeys are registered using the quickmachotkey library, and the application state is managed in the AppController class.

Contributing

This is an open-source project, and contributions are welcome. If you have ideas for new features or improvements, please open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Credits

It is greatly inspired by the macos-grok-overlay project by tchlux, which was originally designed for the Grok AI service. The base of this codebase is mostly copied from that project, mostly the boilerplate code for setting up the macOS application.

Most of the code has been written with gemini-cli and grok. That's why it is so unorganized and messy :D If people find it useful, I will refactor it and make it cleaner, maybe even rewrite it in Swift.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quiper-0.1.0.tar.gz (160.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quiper-0.1.0-py3-none-any.whl (161.0 kB view details)

Uploaded Python 3

File details

Details for the file quiper-0.1.0.tar.gz.

File metadata

  • Download URL: quiper-0.1.0.tar.gz
  • Upload date:
  • Size: 160.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quiper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d1a6e07cfcca1ea83dbb06def467c235fca8234645ced9463b08282dc9623aa
MD5 13584e107c7a8dbd9b5c0771c8272d9e
BLAKE2b-256 22dc1a800f50bec893b09a7c87d6860da3e2e17178d44e82556c8647fea06d06

See more details on using hashes here.

Provenance

The following attestation bundles were made for quiper-0.1.0.tar.gz:

Publisher: integration_delivery.yml on sassanh/quiper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quiper-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quiper-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 161.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quiper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8efdc34b3e67a2ad3f9350f46dd388b6efa6ee0c1a6a0eb5f2ba85ffc4aff42
MD5 b121184524d20ff97a565905e30fcd6e
BLAKE2b-256 78fe1e34c39edb75880ca8a3c7a1473653ccc9c1ac3231951e17b6dcdcac5a91

See more details on using hashes here.

Provenance

The following attestation bundles were made for quiper-0.1.0-py3-none-any.whl:

Publisher: integration_delivery.yml on sassanh/quiper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page