Skip to content

Commit 89d83a4

Browse files
sodiumsunclaude
andcommitted
docs: no model names on public surfaces; credits live in THIRD-PARTY-NOTICES
CC-BY attribution for the speech components remains fully satisfied in THIRD-PARTY-NOTICES.md; the README just points there. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015291sbAoHDRCaem2jQda3B
1 parent 85e722d commit 89d83a4

2 files changed

Lines changed: 9 additions & 12 deletions

File tree

AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ afplay → history.append (after successful play)
3737
The **harness brain is the mandatory narration path** for prose and
3838
finals. There are exactly three lanes:
3939

40-
1. **Brain** (`harness.narrate`) — prose + finals. One Haiku call with
40+
1. **Brain** (`harness.narrate`) — prose + finals. One narration-brain call with
4141
access to the persona, the Agent State scoreboard, and Working Memory.
4242
2. **Fast-path templates** — tool actions ("Editing auth.py"); never the
4343
brain (latency/cost). Cheap, no LLM.
@@ -69,9 +69,9 @@ same change — a drifted table is worse than none.
6969
| `heard/harness.py` | **Layer 5 — the mandatory narration brain.** `narrate(event, cfg, persona, agent_states, working_memory)` builds a cached system block (persona + shared rules + instruction block) + a dynamic user message (rolling summary + ranked active-agent snapshot + current event), dispatches via `persona.call_with_prompt`, and returns a `HarnessDecision`: `None` → daemon's no-LLM floor; `speak=False` → chose silence; `speak=True` → daemon enqueues the text. Prompt assembly is pure so it's unit-testable without the LLM. |
7070
| `heard/profile.py` + `heard/profiles/*.yaml` | Verbosity profiles (quiet / brief / normal / verbose). Five dimensions per profile. User dir overrides bundled. |
7171
| `heard/verbosity.py` | Three-way classifier for the fast path: `classify_pre``speak/drop/digest`. Failures + questions always pierce. |
72-
| `heard/persona.py` | Persona load + LLM dispatch. `_SHARED_NARRATION_RULES` is the cross-persona framing. `call_with_prompt(...)` is the live entry point the harness brain and burst digests dispatch through (prompt caching + observability). BYOK Anthropic → managed proxy ladder. Model: `claude-haiku-4-5`. |
72+
| `heard/persona.py` | Persona load + LLM dispatch. `_SHARED_NARRATION_RULES` is the cross-persona framing. `call_with_prompt(...)` is the live entry point the harness brain and burst digests dispatch through (prompt caching + observability). BYOK Anthropic → managed proxy ladder; the model id is configured here. |
7373
| `heard/providers.py` | Provider abstraction for the narration LLM (partially-finished extraction). |
74-
| `heard/personas/*.md` | Bundled personas (aria, friday, jarvis, atlas). YAML frontmatter (voice/speed/verbosity/…) + Markdown body (Haiku system prompt). |
74+
| `heard/personas/*.md` | Bundled personas (aria, friday, jarvis, atlas). YAML frontmatter (voice/speed/verbosity/…) + Markdown body (narration-brain system prompt). |
7575
| `heard/templates.py` | Per-tool narration templates. `_bash_tag_and_text` extracts intent from shell verbs (grep → search, ls → list, …). |
7676
| `heard/markdown.py` | Strips Markdown before TTS. Handles fenced/indented code, blockquotes, tables, links, emphasis. |
7777
| `heard/spoken.py` | Per-session dedup of already-narrated assistant text. `flock`'d read-modify-write on `<session>.json`. |
@@ -136,7 +136,7 @@ to verify it came up cleanly.
136136

137137
## Common file edits
138138

139-
- **Persona tone**`heard/personas/<name>.md` (Haiku system prompt body)
139+
- **Persona tone**`heard/personas/<name>.md` (narration-brain system prompt body)
140140
- **Cross-persona framing**`_SHARED_NARRATION_RULES` in `heard/persona.py`
141141
- **Verbosity behaviour**`heard/profiles/<name>.yaml` (5 dimensions)
142142
- **Per-tool narration templates**`heard/templates.py`

README.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Power ships with **Heard Whisper**, a built-in dictation and voice-typing tool i
9494

9595
- **Push-to-talk**: hold Right-⌘, speak, release — your words are transcribed and typed at your cursor, in any app.
9696
- **Ambient mode**: always-on, hands-free voice input with voice-activity detection — talk naturally, interrupt Heard mid-sentence (real echo cancellation), and it types or acts as you go.
97-
- **On-device speech-to-text**: transcription runs locally on your Mac (NVIDIA Parakeet, Whisper-class accuracy) — fast, private, no audio leaves your machine.
97+
- **On-device speech-to-text**: transcription runs locally on your Mac — fast, accurate, private; no audio leaves your machine.
9898
- **Call-aware**: joins a Zoom/Meet/Teams call and ambient input pauses itself, then resumes after.
9999

100100
So on Power, Heard is the full voice loop: speech-to-text in, agent does the work, text-to-speech out.
@@ -170,7 +170,7 @@ That's the DIY path: you own keys, updates, and config. Everything's configurabl
170170
Depends on which backends you opt into.
171171

172172
- **Voice synth.** ElevenLabs and Speechify send spoken text over HTTPS. **Kokoro** runs fully locally - nothing leaves the machine.
173-
- **Narration.** Heard sends compact event summaries (what tool ran, the agent's response text, recent context) to Claude Haiku 4.5 to decide what to say and shape it in your persona's voice. Either through your own Anthropic key, through Heard's managed proxy if you're signed in, or - with no key and no sign-in - falls back to neutral templates locally.
173+
- **Narration.** Heard sends compact event summaries (what tool ran, the agent's response text, recent context) to the Heard narration brain - a fast LLM pass that decides what to say and shapes it in your persona's voice. Either through your own Anthropic key, through Heard's managed proxy if you're signed in, or - with no key and no sign-in - falls back to neutral templates locally.
174174
</details>
175175

176176
<details>
@@ -197,14 +197,11 @@ macOS 13+ · Claude Code + Codex CLI/App first-class · Cursor and Aider planned
197197

198198
## Status
199199

200-
**Releases on this repo are the official closed app** (the download surface); this open-source engine is built from source — see [Self-host](#self-host-open-source). Engine status: cross-event-judgment narration via the Heard brain (one Haiku call per meaningful event sees your recent context, the active agents, and the current event, then decides what to say). Co-pilot / Companion / Focus listening modes, multi-agent salience with a distinct per-window voice each, hands-free voice control on Power, and automatic failover across ElevenLabs / Speechify / local Kokoro. First-class Claude Code, Codex CLI, and Codex App adapters. Used daily by the author. Backward-compatible API surface; deeper knobs may move into preferences over time.
200+
**Releases on this repo are the official closed app** (the download surface); this open-source engine is built from source — see [Self-host](#self-host-open-source). Engine status: cross-event-judgment narration via the Heard brain (each meaningful event is judged against your recent context and the active agents before anything is said). Co-pilot / Companion / Focus listening modes, multi-agent salience with a distinct per-window voice each, hands-free voice control on Power, and automatic failover across ElevenLabs / Speechify / local Kokoro. First-class Claude Code, Codex CLI, and Codex App adapters. Used daily by the author. Backward-compatible API surface; deeper knobs may move into preferences over time.
201201

202202
## License
203203

204204
Apache 2.0.
205205

206-
Heard runs speech recognition locally using NVIDIA's
207-
[Parakeet TDT 0.6B v3](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3)
208-
(CC-BY-4.0) and [Silero VAD](https://github.com/snakers4/silero-vad) (MIT).
209-
Full credits and license texts are in
210-
[`THIRD-PARTY-NOTICES.md`](./THIRD-PARTY-NOTICES.md).
206+
Heard includes third-party speech components. Full credits and license texts
207+
are in [`THIRD-PARTY-NOTICES.md`](./THIRD-PARTY-NOTICES.md).

0 commit comments

Comments
 (0)