Skip to content

ColdWeather-gpt/aftertone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aftertone

Aftertone — local text-to-speech for AI coding agents and Cursor hooks

Hear a short spoken line after your coding agent answers — on-device Supertonic ONNX through a tiny local HTTP daemon (models stay loaded; hooks stay fast).

Aftertone is not Cursor-only. Today it ships a Cursor afterAgentResponse integration; we want first-class paths for Claude Code / Claude Desktop and OpenAI Codex (CLI or IDE). If that excites you, read CONTRIBUTING.md and open a PR or design issue.

Discovery

If you are searching for local text-to-speech, on-device assistants, AI coding agent tooling, agentic coding workflows, or Cursor IDE hooks that do not send your thread to a cloud API — Aftertone is a small open source developer tool: ONNX Runtime + Supertonic for optional voice feedback after the model answers, offline-friendly and privacy-minded.

Related GitHub topics: ai-agents · coding-agent · cursor · text-to-speech · onnx · local-first · developer-tools · open-source

Features (today)

  • Cursor: afterAgentResponse → optional TTS from inline reply text (prefers <spoken_summary>…</spoken_summary>).
  • speak_summary_prepare.py → JSON for POST /say; tts_daemon.py → localhost server.
  • Optional stop hook trace for debugging.
  • bash scripts/bootstrap.shuv sync, Hugging Face assets if assets/onnx/ is missing.

Requirements

  • uv
  • Cursor (current adapter): Hooks on, trusted workspace, .cursor/hooks.json with "version": 1.
  • ONNX weights under ./assets (Supertone/supertonic-3 — bootstrap downloads them).

Quick start

git clone https://github.com/omarelkhal/aftertone.git
cd aftertone
bash scripts/bootstrap.sh

Cursor: open this folder as the workspace root so project hooks load.

  • Daemon: cd py && uv run python tts_daemon_ctl.py status --repo-root ..
  • Smoke (needs assets + audio): bash py/test_speak_summary_pipeline.sh
  • Diagnostics: bash py/diagnose_speak_hooks.sh

Repo root env (any adapter)

Hooks and Python resolve the install root via AFTERTONE_REPO (preferred) or legacy SUPERTONIC_REPO.

Copy into another repo

Bring .cursor/ + py/ (or symlink). Keep speak_summary.toml paths consistent (../assets/onnx, etc.).

Configuration

Doc / file Role
.cursor/hooks/README.md Full reference: every speak_summary.toml key (including spoken_summary_max_chars, heuristic_max_chars, plain_excerpt_max_chars, only_speak_spoken_summary), valid lang codes, heuristics, quiet_hours, daemon start / stop / status / restart, logs, smoke test, when TOML changes need a restart, and sync_spoken_rule_lang.py after changing lang.
.cursor/hooks/speak_summary.toml Port, voice, lang, speed, GPU, quiet hours, limits, heuristics, tag-only mode.
.cursor/rules/spoken-summary.mdc When/how to emit <spoken_summary>; match TOML lang (synced blurb — run uv run --directory py python sync_spoken_rule_lang.py from repo root after edits).
AGENTS.md Cursor TTS digest (flow, verify hooks, caps, “nothing speaks”).

Disable speech: enabled = false in speak_summary.toml.

Contributing

See CONTRIBUTING.md and the Code of Conduct. Issues: open one here — use a template (Bug report, Feature or idea, Adapter research). Starter ideas: .github/STARTER_ISSUES.md.

Website

aftertone on GitHub Pages — static landing built from the docs/ folder. Enable in the repository (not your profile): aftertone → Settings → Pages → source Deploy from a branch, branch main, folder /docs. (Profile Settings → Pages only shows verified domains — that’s a different screen.)

License

MIT — LICENSE. Supertonic-derived code: NOTICE.

Publish to GitHub

cd /path/to/aftertone
git remote add origin https://github.com/omarelkhal/aftertone.git
git push -u origin main

Or: gh repo create aftertone --public --source=. --remote=origin --push

About

Hear a short spoken summary after your coding agent answers.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 83.0%
  • Shell 17.0%