Skip to content

tern-chirp

Tern plugin that beeps when a coding agent finishes or needs you; Jev picks mood, voice, pitch, pace and energy for the sound.

ProjectbetaMIT

Overview

Chirp gives the Tern agent workspace a small robot voice. When an agent finishes its turn or stops to wait for the user, Chirp plays one short beep whose shape signals how the turn went: a question rises, a win arcs up, trouble droops, and mixed outcomes get two syllables. It is inspired by Yohei Nakajima's Beep Jev.

Jev reads the start and end of the agent's last message (up to about 900 characters) and answers six typed questions: mood, voice, pitch, pace, energy and whether the user is being asked something. A synthesizer written in Luau turns the probabilities into sound, so the same message always sounds the same; Jev's confidence in the mood controls vibrato. Without a key, Chirp uses a simple local reading. The key is kept in the macOS Keychain or Tern's environment and is never logged. It was tested with Tern 0.6.1 on macOS.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat mood does the agent's last message convey?curious · eager · proud · excited · calm · worried · sheepish
ChoiceWhich voice fits?chirp · blip · bubble · robot · chatter · whisper
ScorePitch, pace and energy (0-4 each)0 · 1 · 2 · 3 · 4
Yes / noIs the user being asked something?—

How it works

  1. Detect that an agent finished or is waiting.
  2. Send the message's start and end to Jev with six questions.
  3. Map answers to pitch shape, timbre, note, duration and loudness.
  4. Play the synthesized beep; fall back to a local reading without a key.

Strengths

  • Deterministic sound for a given message.
  • Works offline in a reduced mode.
  • Key stored securely and never logged.

Caveats

  • Sends agent message excerpts to TypeSafe when a key is set.
  • Tested only on Tern 0.6.1 on macOS.

Getting started

tern plugin install github.com/Noctivoro/tern-chirp

At a glance

Type
Project
Status
beta
Language
Luau
Runtime
Tern plugin
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Chirp: a tiny robot voice for Tern that beeps when your coding agent finishes or needs you. Jev picks the mood; a pure-Luau synth sings it.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

The mood, voice, pitch, pace and energy of the beep, and whether the agent is asking the user something.

Does it work without a key?

Yes, it falls back to a simple local reading that sounds curious for questions and calm otherwise.

What data leaves the machine?

Up to about 900 characters of the agent's last message are sent to TypeSafe when a key is set.

Related projects

  • Desktop app that cuts long videos into captioned short clips, with Jev reviewing candidate cuts for strength, context and completeness.

    Appproduction
  • Video summarizer that ties every line to its second; Jev checks each summary sentence against what was said, with numbers checked in code.

    ProjectbetaPython
  • Browser extension that scores YouTube caption segments for sponsor probability with Jev and skips likely sponsor reads.

    Browser extensionbetaTypeScript
  • SillyTavern extension that asks your own Jev questions about each message and, when a rule matches, injects, rerolls or scripts.

    PluginbetaJavaScript
  • Prompt-first music studio where Jev makes every compositional choice, from plan to each bar pattern, rendered as editable MIDI.

    ProjectbetaTypeScript
  • Ableton Live controller where a one-sentence command in English or Japanese is turned into mixer, transport, clip and device actions.

    Projectbeta