Files
transui/AGENTS.md
T
2026-08-29 19:36:39 +02:00

1.6 KiB

Transui design

  • Linux is a GTK3 desktop recorder. It supports hosted transcription with an optional local fallback and can type at the cursor or copy to the clipboard.
  • Android is remote-only. It provides an Android RecognitionService, a voice-only input method, and a floating recognition activity. Do not add a local llama.cpp path to Android.
  • Both clients call OpenAI-compatible /v1/audio/transcriptions endpoints and clean only the Qwen3-ASR language …<astext> or language …<asr_text> prefix.
  • The Android voice UI is an opaque, compact system surface. Teal is the recording signal. PushToTalkButton draws the Apps and Stop Circle glyphs with Canvas because the target device drops ImageButton image layers. Keep the glyphs drawn above the button background.

llama.cpp local endpoint

The Linux local fallback begins with this multipart request. response_format=json is required; prompt is optional and may request transcription or translation.

curl -s -X POST -F response_format=json http://localhost:8080/v1/audio/transcriptions \
  -F file="@test.mp3" \
  -F 'prompt=Transcribe the following speech segment in English, and translate them into chinese.'

llama.cpp may return an event envelope instead of a bare OpenAI response:

{"type":"transcript.text.done","text":"这是个测试。你能听到什么?我希望这很好。","usage":{"type":"tokens","input_tokens":241,"output_tokens":516,"total_tokens":757,"input_tokens_details":{"cached_tokens":0}}}

Use text as the transcript. Accept transcript.text.done; do not require a bare { "text": "…" } response.