Skip to content

Overview

What Hafi does today, how it handles messages, and what is still being verified.

Go hands-free, keep the final say

Hafi is a local CLI for finding conversations that need your personal reply and preparing a draft for you to review. It reads messages from connected Gmail or Lark accounts, asks Jev to classify new conversation state, and saves a suggested reply locally. You send the reply yourself in the original app.

Hafi is an early local implementation. There is no release binary yet. Provider behavior and permissions still need live account verification before release.

What works today

  • CLI commands are implemented for setup, account connections, workflow validation, diagnostics, dry runs, one-shot runs, results, status, and cron schedule printing.
  • hafi dev --workflow <file> runs a safe dry run. It evaluates messages without advancing cursors or saving drafts.
  • Workflow v1 validates Gmail and Lark sources, a schedule interval, Jev filtering, and exactly one save_reply_draft action.
  • The documented first workflow stores state and reviewable results locally. It does not send replies or notifications.

Still unverified or planned

  • Live end-to-end Gmail, Lark, and Jev account behavior has not yet been verified across real user accounts.
  • A release binary is not available yet.
  • A future web UI could reuse the CLI core; it is not part of the current workflow.

How a run works

  1. Connect an account on the computer that will run Hafi.
  2. Validate the YAML workflow.
  3. Run once manually or use the printed system cron entry to schedule short-lived runs.
  4. Hafi reads new message state, asks Jev whether a personal reply is needed, and prepares a bounded draft for selected conversations.
  5. Review local results and send any reply in the original app.

See Getting started, Workflow reference, and Architecture.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close