docs: add FleetTools — an agent-family-agnostic index of fleet capability

Every agent on nh3-dev — Claude, Codex, Grok, Aider — needs the same
answers: what runs here, how do I call it, what will bite me. Until now
that lived in ~/.claude/CLAUDE.md, which only Claude sessions load, and
it was interleaved with operator preferences that other families have
no use for.

Two-tier by design, matching the persistent-memory split: FLEETTOOLS.md
is a 135-line index an agent reads whole, and each entry links to a
detail file it opens only when it actually needs that tool. Reading the
index costs about a fifth of reading the tree.

Detail paths are absolute so they resolve from any working directory,
since a non-Claude agent will cat the path rather than follow a
markdown link. ~/FLEETTOOLS.md symlinks to the index for discovery.

Rule zero is that live inventories get queried, not transcribed:
Homepage /api/services, asset-engine /api/v1/services, LiteLLM
/v1/models, and every FastAPI seat's /openapi.json. A copied service
table would be stale within a month and this repo already has a
standing rule against second copies that drift.

Contents verified against the running fleet rather than copied from
existing docs: binaries resolved on PATH, seven endpoints probed live,
the LiteLLM roster counted at 40 models where the old note said ~30.
No credentials are included; the vault and its CLI are pointed at
instead.
This commit is contained in:
vh
2026-09-18 07:35:28 -07:00
parent d6a9d70b9e
commit 53c3e8000e
15 changed files with 737 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# Speech — TTS and ASR endpoints
All on irv-ml1 unless noted. Every one is FastAPI: **`GET /openapi.json` is the live
contract**, `/health` is the liveness probe.
## TTS
| service | endpoint | what it is |
|---|---|---|
| **Breeze-TTS-2** | `http://irv-ml1.nh3.internal:8204` | clone + direction, **fleet primary** |
| TTS fleet gateway | `http://irv-ml1.nh3.internal:8198` | switchboard; engines sit behind it |
| Chatterbox Fast | `http://irv-ml1.nh3.internal:8197` | streaming, sub-second first-audio — the live-chat front end |
| dots.tts | `http://irv-ml1.nh3.internal:8202` | continuous-AR 48 kHz zero-shot clone |
| Kokoro | `http://irv-ml1.nh3.internal:8193` | low-latency English, streaming |
**Breeze** (`/v1/voices`, `/v1/voices/detail`, `/v1/audio/speech`, `/v1/audio/design`)
— `/v1/voices` matches dots byte-for-byte so they are drop-in swappable;
`/v1/voices/detail` exposes the registry with its directions visible.
**Gateway** (`/v1/audio/speech`, `/v1/voices`) is also reachable through LiteLLM as
the `ext-tts` alias. Voices: donut / emmie / glados / miranda / sindra plus emotion
variants, or the OpenAI aliases nova / alloy. ⚠ **An unknown voice 404s and can trip
the router cooldown** — list voices first.
## ASR
| service | endpoint | what it is |
|---|---|---|
| Speaches | `http://irv-ml1.nh3.internal:8204` | OpenAI-compatible faster-whisper, `verbose_json` |
| Parakeet | `http://10.251.50.54:8300` | Parakeet-TDT via sherpa-onnx (fv-ml1 GPU 3) |
| Scriberr | `http://10.250.50.54:8080` | transcription + diarization UI (ana-ml2 GPU 1) |
## Traps
- **OmniVoice-style diffusion TTS has a TTFA floor** — roughly fixed per-call cost,
~0.7 s first-audio, real RTF 2.8–5.6× (not the advertised 40×). Chatterbox-fast
stays the live-chat front end for that reason.
- **Never expose repetition-penalty dials on Zonos-lineage engines** — it is a silence
footgun.
- Several engines listed on Homepage under *AI - Dormant* are down by design and take
~90 s to respin. Check `/health` before assuming a service is broken.