{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "en",
  "slug": "roamux",
  "url": "https://tesign.com/en/item/roamux/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/roamux/",
      "json": "https://tesign.com/item/roamux/index.json",
      "markdown": "https://tesign.com/item/roamux/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/roamux/",
      "json": "https://tesign.com/en/item/roamux/index.json",
      "markdown": "https://tesign.com/en/item/roamux/index.md"
    }
  },
  "name": "roamux",
  "use_label": "Steer your coding agents from a phone",
  "one_liner": "Lets you watch and steer coding agents on your own machine from a phone.",
  "text": {
    "why": "Give a coding agent a long task and you are stuck at the desk until its next permission request. roamux installs a small host daemon that dials out, so an authenticated phone or browser can start sessions, watch progress, approve or deny requests and review changed files. Code, credentials and model keys never leave the machine; the cloud handles only labels and ids. It drives OpenCode, Claude Code or Codex as you already run them; MIT, hosts for macOS and Linux.",
    "take": "Instead of moving the agent to the cloud, it moves only the cockpit out of the room.",
    "build": [
      "An overnight refactor you approve from your phone as it runs",
      "A home machine kept as the agent host while you are out",
      "A team view of agent sessions across several machines"
    ],
    "who": [
      {
        "role": "Developer on agents",
        "situation": "wants to leave the desk during long runs"
      },
      {
        "role": "Security-first team",
        "situation": "code and keys must stay on the box"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "First install and sign in to one of OpenCode, Claude Code or Codex"
      },
      {
        "command": true,
        "text": "curl -fsSL https://remote.phyra.ai/install.sh | sh"
      },
      {
        "command": true,
        "text": "roamux login"
      },
      {
        "command": true,
        "text": "cd ~/your/project"
      },
      {
        "command": true,
        "text": "AGENT_ADAPTER=claude-code roamux host      # or opencode | codex"
      },
      {
        "command": false,
        "text": "Then open remote.phyra.ai on your phone or browser and start a New Session"
      }
    ],
    "caveat": [
      "Host runs on macOS and Linux; Windows is not in the README",
      "The agent auto-accepts file edits, so point it at a git repo",
      "One host serves one agent; run several hosts for several agents"
    ]
  },
  "cta": {
    "type": "install",
    "label": "INSTALL",
    "url": "https://remote.phyra.ai/"
  },
  "ready": "install",
  "categories": [
    "ai",
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "agents",
    "remote-control",
    "claude-code",
    "codex"
  ],
  "platform": [
    "macos",
    "linux",
    "cli",
    "web"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "Use, change and redistribute, commercially too. Keep the notice.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "TypeScript",
  "source_urls": {
    "canonical": "https://remote.phyra.ai/",
    "github": "https://github.com/phyra-research/roamux",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "showhn",
        "url": "https://github.com/phyra-research/roamux",
        "posted_at": "2026-09-13T08:20:49.000Z",
        "hn_url": "https://news.ycombinator.com/item?id=49681398"
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 3,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:34:26.323Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": null,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": 2,
    "hn_points_observed_at": "2026-09-16T07:50:08.488Z",
    "store": null,
    "method": "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-09-15T11:22:34.000Z",
    "owner_type": "Organization",
    "open_issues": 14,
    "contributors": 2,
    "releases_count": 1,
    "latest_release": {
      "tag": "v0.2.0",
      "published_at": "2026-09-13T06:57:27.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-15T19:34:26.323Z",
    "core_checked_at": "2026-09-15T19:34:26.323Z"
  },
  "signals": [
    {
      "kind": "early",
      "label": "FOUND EARLY",
      "value": "2 ★ WHEN FIRST SEEN"
    },
    {
      "kind": "new",
      "label": "NEW",
      "value": "0h OLD WHEN SEEN"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/og/roamux.en.png",
    "cover": "https://tesign.com/img/roamux-c5b964ca9f.png",
    "cover_width": 1200,
    "cover_height": 600,
    "gallery": [
      "https://tesign.com/img/roamux-c5b964ca9f.png"
    ],
    "alt": "GitHub social card for phyra-research/roamux: name and one-line description left, a navy circular logo right.",
    "tier": 4
  },
  "dates": {
    "first_seen_at": "2026-09-13T08:29:56.781Z",
    "source_created_at": "2026-09-13T08:20:49.000Z",
    "discovery_hours": 0.1521613888888889,
    "launch_signal_at": "2026-09-13T08:20:49.000Z",
    "kept_at": "2026-09-14T02:41:59.083Z",
    "first_published_at": "2026-09-14T02:41:59.484Z",
    "updated_at": "2026-09-15T04:36:56.992Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "This file was produced by the same build, from the same data, as the tesign.com item page. The text is editorial; the numbers are stored observations.",
    "null in the JSON means not observed — never zero. The Markdown writes [unconfirmed] for it.",
    "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours.",
    "A summary, not legal advice."
  ]
}
