How Zeph works
Ships today

Capabilities

You ask for a capability, not for a vendor.

You ask Zeph to transcribe. It routes to whatever you picked for that job — you never name the vendor.

A capability is a job an extension says it can do: transcribe speech, answer with a model, remember with embeddings, speak aloud, serve a tool. Steps name the job. The speech step just reads Transcribe, and every provider that can transcribe answers to it — which one actually runs is your pick.

What happens when something asks to transcribe

Something asks for the jobA workflow step, the assistant, a button you pressed.
transcribe
Your default for that jobThe one provider — and maybe one model — you picked.
your pick
Checked against what's hereIs that provider available on this machine, right now?
if ready
Your provider runsA cloud service, or an engine on your machine.
Your pick is read at the moment of the request, and checked against what this machine can actually do.

One default per job

A default is a pair: a provider, and optionally a model. Leave the model blank and you get that provider's own default. Zeph keeps one pair per job.

You pick the speech provider in first-run setup. The model the assistant answers with, and the recall embedder it remembers with, are pickers in the assistant's own settings.

With no model picked, the assistant falls back to the first model provider you have connected. Speech and memory stay blank until you pick one — nothing is guessed in their place.

Your pick is checked when it is used

Your pick is checked the moment it is used: Zeph confirms that provider is still available before it runs. Available means what this machine can actually do right now — the speech engines built into your companion, and the cloud services you have added a key for. If your pick is not there — you removed the key, or the engine is not installed — the job is left unset.

Unset is a real answer

A step with no provider is a real step; it just has no vendor behind it. Every dictation workflow starts there on a fresh install.

Run one and you get a plain notice: Finish setup in the Zeph app — pick a speech model to start dictation. There is no try-again button, because the fix is to pick one. In the companion, that workflow shows a Finish setup chip that opens the integrations library.

How a speech default resolves

Asked to transcribe
  1. Picked a provider?

    • YesStill available?
    • NoUnset step
  2. Still available?

    • YesYour provider transcribes
    • No — key removed, or the engine is not installedUnset step
  • Your provider transcribesA cloud service, or an engine on your machine.
  • Unset stepA real step, with no vendor behind it.2 answers land here
    1. Notice: finish setup in the Zeph app
    2. Finish setup opens the integrations library
Both questions are asked every time the speech default is read.

Two roads reach unset — never picking, and picking something that later went away. Both end at the same notice.

The jobs you set a default for

JobWhat reads itIf you have not picked one
TranscribeDictation and voice workflowsThe step is unset; running it gives the setup notice
AnswerThe assistantIt uses the first model provider you have connected — or asks you to connect one
RememberThe assistant's long-term memoryRecall stays off rather than guessing an embedder

Speaking aloud is fixed today — there is no default to set for it, so it is not in this table.

Which providers can serve which job is on Providers — each one lists the capabilities it advertises.

Where the defaults live

Zeph keeps one provider-and-model pair per job in your local settings, in plain text — one entry each for Transcribe, Answer, and Remember. Editing them by hand is a Build-track detail; the app's pickers are the way you are meant to set them.

A different meaning of the word

An app also declares capabilities — the screen, storage, timers, the network — but those are permissions the runtime grants or refuses. Same word, different subject. They live in Capabilities & consent.

On this page