{"id":51558536,"url":"https://github.com/syswonder/robonix-client","last_synced_at":"2026-07-10T08:01:54.543Z","repository":{"id":369883113,"uuid":"1288452113","full_name":"syswonder/robonix-client","owner":"syswonder","description":"Desktop client for Robonix text, voice, image interaction and live robot/RTDL dashboard","archived":false,"fork":false,"pushed_at":"2026-07-07T09:07:05.000Z","size":57,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-07T11:07:03.267Z","etag":null,"topics":["dashboard","desktop-app","multimodal","operator-ui","robonix","robot-ui","robotics","rtdl","vitals","voice-control"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syswonder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-03T16:00:59.000Z","updated_at":"2026-07-07T09:07:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/syswonder/robonix-client","commit_stats":null,"previous_names":["syswonder/robonix-client"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/syswonder/robonix-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syswonder%2Frobonix-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syswonder%2Frobonix-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syswonder%2Frobonix-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syswonder%2Frobonix-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syswonder","download_url":"https://codeload.github.com/syswonder/robonix-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syswonder%2Frobonix-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35325188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","desktop-app","multimodal","operator-ui","robonix","robot-ui","robotics","rtdl","vitals","voice-control"],"created_at":"2026-07-10T08:01:53.542Z","updated_at":"2026-07-10T08:01:54.527Z","avatar_url":"https://github.com/syswonder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robonix Client\n\nA multi-platform desktop client for Robonix. It provides a single GUI for text,\nvoice, and image interaction with a running Robonix system, plus live dashboard\nviews for robot health, agent reasoning, RTDL execution, and runtime events.\n\nThe client is pure client-side software that connects to a local or remote\nRobonix deployment through stable Robonix APIs. Robonix core still owns Atlas,\nLiaison, Pilot, Executor, speech, voiceprint, and robot primitives.\n\n## Quick Start\n\nTypical remote setup: Robonix runs on a Linux host, while the browser,\nmicrophone, and speaker stay on the client machine. SSH, Tailscale, or LAN are\nonly network paths.\n\n### 1. Start the Robonix backend\n\nStart a deployment that provides Atlas, Liaison, Pilot, Executor, speech,\nvoiceprint, and the audio device server primitive:\n\n```bash\nrbnx build\nrbnx boot\n# Or select a specific manifest:\n# rbnx boot -f \u003cmanifest\u003e\n```\n\nWhen healthy, Atlas is reachable at `\u003crobot-host\u003e:50051`.\n\n### 2. Start the GUI on the client machine\n\n```bash\npython3 -m venv .venv\n. .venv/bin/activate\npip install -e \".[audio]\"\nrobonix-client --host 127.0.0.1 --port 7860\n```\n\nOpen http://127.0.0.1:7860/\n\n### 3. Start the local audio device server\n\nOn the machine that owns the microphone and speaker:\n\n```bash\nrobonix-client-audio-server --host 127.0.0.1 --port 60000 --ui-host 127.0.0.1\n```\n\nExpected output:\n\n```text\nHTTP UI on http://127.0.0.1:60001/\nwebsocket on ws://127.0.0.1:60000\n```\n\nKeep this terminal running, then point the robot-side `audio_client_bridge`\nprimitive at `ws://\u003cclient-host\u003e:60000/mic` and `ws://\u003cclient-host\u003e:60000/speaker`.\n\n### 4. Configure the WebUI\n\nIn the command bar or `Settings` page:\n\n- `Robot Host`: reachable IP/hostname of the Robonix machine\n- `Atlas Port`: usually `50051`\n- `Liaison`: leave empty / `auto`\n- `User`: enrolled voice identity, e.g. `voice:\u003cvoice-id\u003e`\n\nUse the `Audio` panel's `Check`, `Enroll voice`, and `Test speaker` buttons to\nverify the audio device server, register a speaker, and test playback.\n\n### 5. Use the client\n\n- Type a task and click `Send` for text interaction.\n- Click `Voice` to start one voice session, `New` for a new chat.\n- Use `Execution` to inspect Pilot events and RTDL plans.\n- Use `Vitals` to check backend provider/contract availability.\n- Use `Audio` to debug enrollment, mic capture, and speaker output.\n\n## Configuration\n\nThe GUI values can also be set through environment variables:\n\n```bash\nexport ROBONIX_ROBOT_HOST=100.x.y.z\nexport ROBONIX_ATLAS_PORT=50051\nexport ROBONIX_ATLAS_ENDPOINT=100.x.y.z:50051\nexport ROBONIX_LIAISON_ENDPOINT=127.0.0.1:50081\n```\n\nLiaison is auto-discovered through Atlas, then falls back to `\u003crobot-host\u003e:50081`.\n\n## Troubleshooting\n\n- GUI page does not open: ensure the GUI process is running and, for remote\n  setups, that `ssh -N -L 7860:127.0.0.1:7860 ...` is open.\n- Voice enrollment returns no audio: ensure the audio device server and\n  `ssh -N -R 60000:127.0.0.1:60000 ...` are both running.\n- Text submission denied: set `User` to the allowed identity, e.g. `voice:alice`.\n- `Vitals` shows `missing`: restart or fix the corresponding Robonix provider.\n\n## Notes\n\n- Image attachments are carried at the UI/API boundary in `Task.context_json`;\n  full backend image understanding is not yet implemented.\n- Linux local mic/speaker capture is not implemented yet. See\n  [docs/linux-audio.md](docs/linux-audio.md) for integration notes.\n- Backend contracts used: `robonix/system/liaison/submit`,\n  `robonix/system/liaison/voice`, `robonix/system/pilot`,\n  `robonix/system/executor`, and Atlas `Query` / `ConnectCapability`.\n\n## Related\n\n- Robonix core: https://github.com/syswonder/robonix\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyswonder%2Frobonix-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyswonder%2Frobonix-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyswonder%2Frobonix-client/lists"}