Files
gnome-jarvis/docs/api.md
T
2026-09-11 14:55:34 -04:00

44 lines
1.8 KiB
Markdown

# API reference
## Session D-Bus
Bus name: `io.qvac.Jarvis`
Object path: `/io/qvac/Jarvis`
Interface: `io.qvac.Jarvis.Session`
The canonical XML contract is [io.qvac.Jarvis.Session.xml](../dbus/io.qvac.Jarvis.Session.xml).
| Method | Purpose |
| --- | --- |
| `Arm()` / `Sleep()` / `Shutdown()` | Control daemon voice lifecycle |
| `PushToTalk(bool)` | Begin/end typed or microphone turn |
| `Say(string)` | Speak text through local TTS |
| `Ask(string)` | Submit typed text to the harness |
| `Cancel()` | Cancel active request/job |
| `SetMode(string)` | Set ARC capability mode |
| `GetState()` | Return serialized daemon state |
| `EnrollWake(string)` | Configure wake phrase |
| `IngestPath(string)` | Add a local path to RAG ingestion |
| `ComputerGrant(bool)` / `ComputerRevoke()` | Start/stop computer-use grant |
| `ComputerStatus()` | Return computer-use status JSON |
| `ShellListWindows()` / `ShellFocusWindow(uint64)` | Query/focus Shell windows |
Signals include `StateChanged`, `WakeHeard`, `PartialTranscript`,
`FinalTranscript`, `Token`, `Reply`, `SpeakingLevel`, `ListeningLevel`,
`ChipOffered`, `JobProgress`, `ComputerStep`, `ComputerHighlight`, and `Error`.
Payloads stay small; PCM and image bytes do not travel over D-Bus.
## Computer-use tools
Tools are registered with the harness and exposed through the daemon. The
observable contract includes `cu.grant`, `cu.revoke`, `cu.status`,
`cu.observe`, `cu.zoom`, `cu.tree`, `cu.find`, `cu.click`, `cu.drag`,
`cu.scroll`, `cu.type`, `cu.key`, and `cu.act`. Every action is checked against
the active grant and safety policy.
## Local HTTP
QVAC's optional OpenAI-compatible server is localhost-only at port `11434`.
It is a diagnostic surface, not a second Jarvis runtime. Native QVAC-only
operations use `/qvac/v1/*` where supported by the installed QVAC version.