Skip to content

Honyant/grok-reply

Repository files navigation

GrokReply

AI-powered iMessage reply suggestions for macOS, powered by Grok.

┌────────────────────────────────────────────┐
│ Kevin Xie  v      :)   grok  ↻             │
├────────────────────────────────────────────┤
│ recv: hey where are you?                   │
│                                            │
│ ┌────────────────────────────────────┐     │
│ │  ~   omw                           │     │
│ │      brief                ⌘1  →    │     │
│ └────────────────────────────────────┘     │
│ ┌────────────────────────────────────┐     │
│ │  >   on my way, be there in        │     │
│ │      10 mins                       │     │
│ │      verbose              ⌘2  →    │     │
│ └────────────────────────────────────┘     │
│ ┌────────────────────────────────────┐     │
│ │  *   lol im lost tbh               │     │
│ │      witty                ⌘3  →    │     │
│ └────────────────────────────────────┘     │
│ ┌────────────────────────────────────┐     │
│ │  ♡   thinking of you on the        │     │
│ │      way over                      │     │
│ │      rizz                 ⌘4  →    │     │
│ └────────────────────────────────────┘     │
│ ┌────────────────────────────────────┐     │
│ │  !   wow took you long enough      │     │
│ │      to ask                        │     │
│ │      jerk                 ⌘5  →    │     │
│ └────────────────────────────────────┘     │
│                                            │
│ ⌘⇧M: toggle       grok_reply v1.0          │
└────────────────────────────────────────────┘

Features

  • Grok-powered suggestions - Uses xAI's Grok model by default
  • 5 reply styles - brief, verbose, witty, rizz, and jerk (sarcastic)
  • Auto show/hide - Appears when Messages.app is focused
  • Auto-sync conversations - Detects active conversation in Messages.app
  • Contact resolution - Resolves phone numbers to contact names via SQLite cache
  • Emoji toggle - Strip emojis from suggestions with one click
  • Keyboard shortcuts - ⌘1-5 to send, ⌘⇧M to toggle
  • More like this - Generate 4 more variations of any style
  • Multi-provider - Supports Grok, Claude, and GPT-5
  • Click to send - Messages sent via AppleScript

Requirements

  • macOS with Messages.app
  • Node.js 18+
  • Full Disk Access permission (for reading chat.db)
  • Contacts access permission (for name resolution)

Setup

npm install
npx electron-rebuild -f -w better-sqlite3
npm run start

Usage

  1. Open Messages.app - GrokReply appears automatically
  2. Conversation syncs automatically based on active Messages window
  3. View 5 AI-generated reply suggestions
  4. Click a suggestion or press ⌘1-5 to send
  5. Click [+] more for additional variations in that style
  6. Toggle emoji filtering with the :) / :| button
  7. Press ⌘⇧M to manually toggle visibility

Keyboard Shortcuts

Shortcut Action
⌘1-5 Send suggestion 1-5
⌘⇧M Toggle window visibility
ESC Go back from "more like this"

Reply Styles

Symbol Style Description
~ brief Short, snappy responses
> verbose Detailed, thoughtful responses
* witty Playful, humorous responses
rizz Flirty, charming responses
! jerk Sarcastic, roasting responses

Configuration

Switch between AI providers by clicking the provider name in the header:

  • grok - xAI Grok (default)
  • claude - Anthropic Claude
  • gpt-5 - OpenAI GPT-5

Tech Stack

  • Electron
  • React + TypeScript
  • Tailwind CSS v4
  • Vite
  • better-sqlite3 (contact caching)
  • xAI Grok API / Anthropic API / OpenAI API

Architecture

~/grok-reply/
├── electron/
│   ├── main.js          # Electron main process, contact cache, IPC
│   └── preload.js       # IPC bridge for renderer
├── src/
│   ├── App.tsx          # Main React component
│   ├── services/
│   │   ├── imessageApi.ts   # iMessage database queries
│   │   └── llm.ts           # Multi-provider LLM service
│   └── types.ts         # TypeScript interfaces
└── dist/                # Built app

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors