How to use it
Four steps to your own wording for a phrase D47 knows.
1 Say you want to teach one.
Say "teach a phrase", then your wording, such as "wheels out".
D47 asks "What do you want to say?" and takes your wording word for word without acting on it.
2 Say what it should do.
Say the phrase it should do, such as "drop the wheels".
D47 repeats the pair and asks whether to keep it.
3 Keep it or drop it.
Say "yes" to keep it, or "cancel" to drop it.
A yes stores the wording for this Commander; anything else leaves nothing behind.
4 Check it on the Phrases page.
Open Settings, then Phrases, and look under YOUR PHRASES.
The wording is at the top, newest first, with the phrase it runs.
The details
When D47 offers “did you mean…” and you pick one, it asks once whether to remember the wording you used. A yes writes it down, per Commander; a no or anything else leaves nothing behind. You can also teach a wording by voice, without waiting for a near miss. This page is where those entries live, and where they stop.
"set focus on elite" → "set focus to elite"
Seeing what has been learned
Settings → Phrases lists, under YOUR PHRASES, every entry the flying Commander has taught D47, newest first: the wording or pattern, and the phrase it now runs. Below that is every built-in phrase, grouped by capability, with one sentence saying what it does. The search box filters both. Nothing here is shared between Commanders — each has their own.
Adding a phrase on the page
Under ADD A PHRASE, type a wording or a pattern in the SAY field, pick the phrase it stands for
from the list, and press Add or Enter. The new entry goes to the top of YOUR PHRASES. The page
adds through the same tool as the voice, so it refuses the same things: a clash names the wording
that clashed and what it already stands for, with BUILT-IN PHRASE · <capability> or
YOUR PHRASE · <pattern> under it. An empty field says NOTHING TO ADD, and no phrase picked says
PICK A PHRASE. Editing the field clears the notice.
Teaching a phrase by voice
Say “teach a phrase” or “new phrase” while you are flying, and D47 asks three things in turn:
“What do you want to say?” — “wheels out”
“What should it do?” — “drop the wheels”
“‘wheels out’ will do ‘drop the wheels’. Keep it?” — “yes”
The first reply is taken word for word and never acted on, so a wording that is already a command does not run while you say it. A wording D47 reads as an answer, such as “yes”, “no” or “the second one”, is refused and asked for again. The second reply must be a phrase D47 knows; if it is close to one, D47 asks “did you mean…” and you pick. If it matches nothing, D47 says “No phrase matches that” and the exchange ends. A yes stores the wording; anything else drops it. “Cancel” at any step ends the exchange and nothing is learned. If the wording is refused, for example because it is already another phrase, D47 says why.
A spoken wording is plain words. Patterns with [a|b] groups are typed on this page.
Teaching a pattern
A phrase you teach is a pattern: plain words, plus [a|b|c] groups of alternatives. An empty
alternative makes a group optional.
[please|] drop the wheels
[boost|get clear] and [jump|engage]
The first stands for two wordings and the second for four. Groups do not nest, and one pattern makes at most 100 wordings. A pattern is refused if any wording is already a phrase D47 knows, or is one of your own phrases standing for something else. The entry on this page is the pattern as written.
Forgetting one
Press the ✕ beside the entry, or say it:
“forget ‘set focus on elite’”
Either removes the entry from the page and from data/phrases.json, and every wording it produced
no longer matches — it goes back to being offered as a near miss, if it still scores as one, rather
than running silently.
The tool surface, for contributors
teach_phrase
Start teaching D47 a new wording by voice: it asks for the words, then the phrase they run, then confirms. Never callable by the model.
{"type":"object","properties":{},"required":[],"additionalProperties":false}
add_phrase
Teach D47 a pattern of words that runs an existing phrase. A pattern is plain words and [a|b|c]
groups of alternatives; an empty alternative makes a group optional, as in “[please|] drop the
wheels”. Groups do not nest and a pattern makes at most 100 wordings. Never callable by the model.
{"type":"object","properties":{"pattern":{"type":"string","description":"The words to teach, with optional [a|b] groups of alternatives."},"phrase":{"type":"string","description":"The phrase in the phrase book the pattern should run."}},"required":["pattern","phrase"],"additionalProperties":false}
forget_learned_phrase
Forget one pattern the Commander taught D47, as written, with every wording it produced. Never callable by the model — only the panel, a hotkey or the Commander’s own “forget” phrase reach it.
{"type":"object","properties":{"said":{"type":"string","description":"The pattern to forget, exactly as it reads on the Phrases page."}},"required":["said"],"additionalProperties":false}