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.
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
| Type | Question | Answers |
|---|---|---|
| Choice | What mood does the agent's last message convey? | curious · eager · proud · excited · calm · worried · sheepish |
| Choice | Which voice fits? | chirp · blip · bubble · robot · chatter · whisper |
| Score | Pitch, pace and energy (0-4 each) | 0 · 1 · 2 · 3 · 4 |
| Yes / no | Is the user being asked something? | — |
How it works
- Detect that an agent finished or is waiting.
- Send the message's start and end to Jev with six questions.
- Map answers to pitch shape, timbre, note, duration and loudness.
- 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-chirpAt 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.
AppproductionVideo summarizer that ties every line to its second; Jev checks each summary sentence against what was said, with numbers checked in code.
ProjectbetaPythonBrowser extension that scores YouTube caption segments for sponsor probability with Jev and skips likely sponsor reads.
Browser extensionbetaTypeScriptSillyTavern extension that asks your own Jev questions about each message and, when a rule matches, injects, rerolls or scripts.
PluginbetaJavaScriptPrompt-first music studio where Jev makes every compositional choice, from plan to each bar pattern, rendered as editable MIDI.
ProjectbetaTypeScriptAbleton Live controller where a one-sentence command in English or Japanese is turned into mixer, transport, clip and device actions.
Projectbeta