Skip to writing
Skip to content
← All writing
Index / 3 minute read / Draft

Index: where the reply goes

Connecting a Pebble voice request to Pushover, then continuing with the selected agent in Telegram.

Try example

Building Index was easy. Pebble could capture a request, but it did not give me a notification that it had arrived. I added Pushover for that receipt, and Telegram for the conversation that follows.

The webhook saves the request, sends a Pushover receipt, and passes the work to the selected agent. The receipt means the request was saved. It does not mean the agent has finished.

First, acknowledge the transcript

The receipt comes before the work. It lets me put the capture device away without mistaking an acknowledgement for an answer. The implementation note explains the delivery configuration and the worker that continues after the receipt.

Then hand it to the agent

The named trigger selects the agent. In the installed setup, Hermes receives the work on its VM and replies through Telegram. A Codex request continues through Takopi and replies in the Mythos Telegram conversation. That is where follow-ups belong.

Interactive / Index

From transcript to conversation

Choose Hermes or Codex, then follow receipt, handoff and reply.

  1. Transcript received
  2. Pushover acknowledgement
  3. Named agent
  4. Telegram continuation
Interactive explanation using a synthetic request. Choose an agent and step through receipt, handoff and reply. No webhook, notification or agent is called.

Keep the handoffs separate

index-bridge/server.py · handle_transcript · selected lines, logging omittedPython
self.store.add_job(job)
self.notify(job.spoken, priority=0)
prompt = remainder if named else (strip_new_task_prefix(transcript) if intent == "new" else transcript)
threading.Thread(target=self._run_job, args=(job.id, prompt, intent, backend, trigger, director), daemon=True).start()

The bridge keeps a job record while work moves between processes. Receipt, dispatch and reply can be inspected as separate states. If a reply has not arrived, the acknowledgement only establishes that intake accepted the transcript.

The operational branch contains the agent adapters. Further engine and conversation selection exists in the local checkout. The default branch is a different revision, so a link to the repository alone does not reproduce this installation.

What you can inspect nowRun the synthetic request trace

The trace distinguishes receipt, dispatch and reply. It sends no webhook, Pushover notification or Telegram message.

Continue readingComponents: what happens after a click