{"id":50103571,"url":"https://github.com/meetprimo/remotex","last_synced_at":"2026-06-04T09:00:28.577Z","repository":{"id":356877644,"uuid":"1234438251","full_name":"meetprimo/remotex","owner":"meetprimo","description":"AI command center for the servers you already SSH into — diagnose, fix, and verify over SSH. macOS, Linux, Windows (preview), iPhone, Android.","archived":false,"fork":false,"pushed_at":"2026-05-30T06:23:43.000Z","size":1464,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-30T08:21:35.376Z","etag":null,"topics":["ai","ai-agent","devops","electron","macos","ssh","sysadmin","terminal"],"latest_commit_sha":null,"homepage":"https://remotex.dev","language":null,"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/meetprimo.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-05-10T07:24:49.000Z","updated_at":"2026-05-25T18:56:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/meetprimo/remotex","commit_stats":null,"previous_names":["meetprimo/remotex-desktop-releases","meetprimo/remotex"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/meetprimo/remotex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetprimo%2Fremotex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetprimo%2Fremotex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetprimo%2Fremotex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetprimo%2Fremotex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meetprimo","download_url":"https://codeload.github.com/meetprimo/remotex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meetprimo%2Fremotex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33897568,"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-06-04T02:00:06.755Z","response_time":64,"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":["ai","ai-agent","devops","electron","macos","ssh","sysadmin","terminal"],"created_at":"2026-05-23T09:01:52.996Z","updated_at":"2026-06-04T09:00:28.539Z","avatar_url":"https://github.com/meetprimo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# RemoteX\n\n### Tell RemoteX what is broken. It diagnoses, proposes a fix, runs the commands you approve, and verifies the result — across SSH servers, Kubernetes clusters, and databases.\n\nAn AI command center for the infrastructure you already operate — for macOS, Linux, Windows, iPhone, and Android. Keys never leave your device.\n\n[**⬇ Mac (Apple Silicon)**](https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-arm64.dmg) \u0026nbsp;·\u0026nbsp; [**⬇ Linux AppImage**](https://github.com/meetprimo/remotex/releases/latest/download/RemoteX.AppImage) \u0026nbsp;·\u0026nbsp; [**⬇ Linux .deb**](https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-x64.deb) \u0026nbsp;·\u0026nbsp; [**⬇ Windows installer**](https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-Setup.exe) \u0026nbsp;·\u0026nbsp; [Release notes](https://github.com/meetprimo/remotex/releases/latest) \u0026nbsp;·\u0026nbsp; [Discord](https://discord.gg/fb4X6kxtAH) \u0026nbsp;·\u0026nbsp; [remotex.dev](https://remotex.dev)\n\n[![Download on the App Store](https://img.shields.io/badge/iPhone-App%20Store-000?logo=apple)](https://apps.apple.com/us/app/remotex-server-ops/id6766106493) [![Get it on Google Play](https://img.shields.io/badge/Android-Google%20Play-000?logo=googleplay)](https://play.google.com/store/apps/details?id=dev.remotex.app)\n\n\u003cbr\u003e\n\n\u003csub\u003eBRING YOUR OWN AI · WORKS WITH\u003c/sub\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/provider-strip-dark.svg\"\u003e\n  \u003cimg alt=\"Supported AI providers: Anthropic, OpenAI, Gemini, GitHub Copilot, OpenRouter, xAI, DeepSeek, Mistral, Vercel, Amazon Bedrock, Ollama, LM Studio\" src=\"assets/provider-strip-light.svg\" width=\"720\"\u003e\n\u003c/picture\u003e\n\n\u003cbr\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/app-dark.png\"\u003e\n  \u003cimg alt=\"RemoteX desktop app — multi-connection sidebar, a chat-first conversation diagnosing a production issue, command output cards, and a Touch-ID-gated approval card.\" src=\"assets/app-light.png\" width=\"900\"\u003e\n\u003c/picture\u003e\n\n\u003c/div\u003e\n\n---\n\n## What it is\n\nRemoteX is an AI agent that operates the infrastructure you already manage. Describe a problem in plain English — *\"orders table is slow this morning\"*, *\"the staging pod won't start\"*, *\"disk on /var keeps filling up\"* — and it runs read-only checks, reads logs, queries databases, inspects Kubernetes, proposes a concrete fix, runs the commands **you approve**, and verifies the result. Full SSH client, K8s client, and database client all in one chat-first surface.\n\nThis repository hosts the signed macOS builds, the Linux AppImage and `.deb`, the Windows installer and portable `.exe` (unsigned preview), and the auto-update feed. **Source code is private**; this is the public home for downloads, releases, and feedback.\n\n## Features\n\n### Three kinds of connection, one agent\n\n- **SSH servers.** Linux, BSD, macOS, Synology, embedded. Full SSH client with SFTP file viewer and a real interactive PTY terminal alongside the chat.\n- **Kubernetes clusters.** Add a cluster by pasting a kubeconfig — token, client-cert, or exec auth. The agent talks to the apiserver directly: `kubectl`-equivalent ops, pod logs, exec into containers, describe and diff manifests.\n- **Databases.** First-class Postgres, MySQL, Redis, and SQLite. Read schemas, ask analytical questions in English, run scoped queries with row caps, redacted credentials, and an approval gate on anything that mutates.\n- **SSH bastion tunneling.** Databases and Kubernetes clusters that only live behind a jump host? Attach the bastion to the connection — RemoteX opens a tunnel automatically, and the agent understands the relationship (\"this database is *reached through* server X, they are not the same machine\"). No more confusing the DB with its host.\n\n### The agent loop\n\n- **AI agent, not autocomplete.** Describe the problem in plain English. It runs read-only diagnostics autonomously, reads logs, queries DBs, inspects K8s — diagnose → propose → run → verify.\n- **Plan mode.** Turn it on when you want the agent to propose the investigation first and wait for approval. Once approved, one live checklist stays on screen and ticks forward as each step starts and finishes, with `Working for` / `Worked for` timing.\n- **Readable runs.** The agent often runs several read-only commands or queries to answer one question. Each lands as a labeled card under a collapsible \"Ran N commands\" header — expand any output, copy the raw bytes, or jump back into the agent's reasoning with it all pre-loaded.\n- **App-native slash commands.** `/help`, `/model`, `/summarize`, `/memorize`, and more.\n\n### Approvals \u0026 safety\n\n- **You approve every change.** Mutating commands, kubectl writes, and DB write-queries always surface as a card with the exact bytes about to run, a plain-English explanation, and a risk label.\n- **Biometric or local gate, every time.** On macOS the Approve \u0026 run button is gated by Touch ID; on Linux a local PIN/password gate stands in. Every time, no exceptions, even for a command you typed yourself. The agent never has standing access.\n- **Read-side guardrails.** Database queries enforce row limits, redact sensitive columns, and label every result with its source connection so multi-DB sessions stay legible.\n\n### Files \u0026 code\n\n- **Attach files to chat.** Drop PDFs, Word, Excel, PowerPoint, CSV, logs, or source code into the composer. They render as chips on the message, are sent natively to models that support documents (Claude, Gemini), and are extracted to text for models that don't — same UX on macOS, Linux, iPhone, and Android.\n- **Remote file viewer.** A two-pane viewer in the right rail: collapsible tree plus a syntax-highlighted preview with line numbers and a copy button — shell, Python, JS/TS, JSON, YAML, nginx, dotfiles, Dockerfile. Uses SFTP when available, with a read-only SSH fallback on servers like Synology where SFTP is disabled.\n- **Open in your editor, safely.** Double-click a remote file and RemoteX hands it to your associated editor. On save it detects the change, diffs it against the original, and surfaces an approval card with the exact patch before writing back over SFTP.\n- **Real terminal.** A bottom-docked PTY opens an interactive shell over the same SSH connection the agent uses — run vim, an interactive installer, or a live tail without burning agent context. Dock it below the chat or float it right.\n- **Activity stream — one continuous flow of every command and its output.** Sit next to the agent in a real `script(1)`-style terminal: each command lands as `$ command` with its actual stdout/stderr beneath it, in equal-weight monospace with a green prompt. No chat noise, no synthesis, no nested scrollboxes — just one terminal scrollback you can scroll through end-to-end. Type your own shell commands or SQL queries directly into the green `❯` prompt at the bottom: they execute in ~100ms without an LLM round-trip, and the agent **reads them as context on your next turn** — so anything you ran by hand is fully visible to the agent the moment you ask it a follow-up question. The bridge works both ways: agent-issued commands appear in your scrollback, your direct-exec commands appear in agent context. Live monitoring footer (CPU / mem / disk / load) pinned at the bottom.\n\n### Context inputs\n\n- **Send a screenshot.** Paste or drop an image — a metrics panel, a stack trace, an error page, even a photo of a monitor — passed only to vision-capable models as visual context.\n- **Local memory.** Recalled automatically per connection, visible and removable per entry from the right rail.\n\n### Fleet \u0026 recall\n\n- **Multi-connection, chat-first.** A sidebar of per-connection chats with command-output cards, stop/retry, and titles drawn from your first question.\n- **Pinned panel.** Star any message — the agent's synthesis, a command output, your own question — and it appears in a dedicated Pinned panel across every connection. Pins travel with your encrypted backup.\n- **Search across the fleet.** Find the thing you need across servers, clusters, and databases; archived chats are searchable with restore support.\n\n### Automate \u0026 watch\n\n- **Snippets \u0026 playbooks.** Save plain-English intents and chain multi-step routines with approval gates, reusable across every connection.\n- **Monitoring \u0026 alerts.** Per-server rules sample CPU, memory, disk, and services natively over SSH and notify you before a customer does.\n\n### Bring your own AI\n\n- **14 providers, your bill.** Sign in with ChatGPT or a Copilot seat, or use API keys for Anthropic, Gemini, Mistral, OpenRouter, xAI, DeepSeek, and more — including local models (Ollama, LM Studio). Switch per chat.\n- **Never proxied.** Tokens live in the OS secure store (macOS Keychain / libsecret on Linux); traffic goes straight to the provider. No RemoteX backend in the connection path.\n\n### Privacy\n\n- **Keys stay on-device.** SSH keys, kubeconfigs, database passwords, and AI tokens live in the OS secure store. Direct-to-target, biometric gates, no cloud relay.\n- **Encrypted backups.** Round-trip backups bundle everything — servers, clusters, databases, AI keys, snippets, playbooks, pins — encrypted with a passphrase you choose.\n\n### Platforms \u0026 pricing\n\n- **Mac, Linux, Windows, iPhone, Android.** One subscription covers all of them. **Free** covers one connection and one of each snippet/playbook/rule; **Pro** removes the caps.\n- **Signed \u0026 auto-updating.** Every macOS build is signed with an Apple Developer ID and notarized. The Linux AppImage embeds its own update logic and tracks the same release feed; the `.deb` carries a desktop entry under Applications and auto-updates via the AppImage updater. Windows is currently an **unsigned preview** — SmartScreen may warn on first run; auto-update works via the NSIS installer once installed. Install once and RemoteX updates itself silently in the background.\n\n## Install\n\n### macOS (Apple Silicon)\n\n```\nhttps://github.com/meetprimo/remotex/releases/latest/download/RemoteX-arm64.dmg\n```\n\nOr via the site, which redirects to the same asset:\n\n```\nhttps://remotex.dev/api/download?platform=mac\n```\n\nApple Silicon only for now — Intel builds are not published yet.\n\n### Linux (x86_64)\n\n**AppImage** — works on any modern distro, no install needed:\n\n```sh\nwget https://github.com/meetprimo/remotex/releases/latest/download/RemoteX.AppImage\nchmod +x RemoteX.AppImage\n./RemoteX.AppImage\n```\n\n**Debian / Ubuntu / Mint** — install as a system package:\n\n```sh\nwget https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-x64.deb\nsudo dpkg -i RemoteX-x64.deb\nsudo apt-get install -f   # if dependencies are missing\n```\n\nOr via the site:\n\n```\nhttps://remotex.dev/api/download?platform=linux-appimage\nhttps://remotex.dev/api/download?platform=linux-deb\n```\n\n### Windows (x64, unsigned preview)\n\nThe first Windows builds ship **unsigned** on purpose — see the [signing rationale](#why-the-windows-build-is-unsigned-for-now) below. Expect a `Windows protected your PC` SmartScreen prompt on first launch; click **More info → Run anyway**.\n\n**Installer (NSIS)** — adds a Start menu entry, registers an uninstaller, and auto-updates via electron-updater:\n\n```powershell\niwr https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-Setup.exe -OutFile RemoteX-Setup.exe\n.\\RemoteX-Setup.exe\n```\n\n**Portable single `.exe`** — no installer, drop it anywhere:\n\n```powershell\niwr https://github.com/meetprimo/remotex/releases/latest/download/RemoteX-x64.exe -OutFile RemoteX.exe\n.\\RemoteX.exe\n```\n\nOr via the site:\n\n```\nhttps://remotex.dev/api/download?platform=windows-installer\nhttps://remotex.dev/api/download?platform=windows-portable\n```\n\nAlso available on [iPhone](https://apps.apple.com/us/app/remotex-server-ops/id6766106493) and [Android](https://play.google.com/store/apps/details?id=dev.remotex.app).\n\n### Why the Windows build is unsigned (for now)\n\nModern Windows SmartScreen treats EV, OV, and Azure Trusted Signing certificates through the same reputation model — paying for a cert without download volume to build reputation is wasted spend. The plan:\n\n1. **Ship unsigned now** (this is what you're downloading) and let SmartScreen reputation accumulate organically as the download count grows.\n2. **Add MSIX via the Microsoft Store** as the trusted-install path — Microsoft re-signs MSIX packages automatically, no cert cost on our side, no SmartScreen warning for the Store version.\n3. **Revisit Azure Artifact Signing** ($10/month) for direct `.exe` downloads only when Windows usage proves out.\n\nIf the SmartScreen prompt blocks you and you'd rather not click through, the Microsoft Store path will be the right one once it ships.\n\n## Verify the build\n\n### macOS\n\n```sh\n# Verify the DMG is signed and notarized:\nspctl -a -vvv -t install /path/to/RemoteX-arm64.dmg\n\n# After installing, verify the .app:\ncodesign -dv --verbose=4 /Applications/RemoteX.app\n```\n\nA correctly notarized build prints `source=Notarized Developer ID` and shows a valid `Developer ID Application: \u003cName\u003e (TEAMID)` identity.\n\n### Linux\n\nThe AppImage and `.deb` are built reproducibly inside the `electronuserland/builder:22` container. Check the embedded version and maintainer:\n\n```sh\n# .deb metadata (package name, version, maintainer):\ndpkg-deb -I RemoteX-x64.deb\n\n# AppImage embedded version + offset (extracts to a temp directory):\n./RemoteX.AppImage --appimage-extract-and-run --version\n```\n\n### Windows\n\nThe Windows binaries are **unsigned** for now — there is nothing to verify with `signtool verify`. Cross-check the SHA-256 against the value published on the GitHub release:\n\n```powershell\nGet-FileHash RemoteX-Setup.exe -Algorithm SHA256\nGet-FileHash RemoteX-x64.exe   -Algorithm SHA256\n```\n\nCompare each hash with the corresponding entry in the `latest.yml` asset on the release page. Once we move to MSIX via the Microsoft Store, the Store-distributed copy will carry Microsoft's signature automatically.\n\n## Auto-update\n\nRemoteX checks this repo for new releases on launch and roughly once an hour while running. Updates download in the background and install on next launch. Change or disable the update channel under **Settings → Updates** in the app. Beta-channel users automatically receive stable releases too — whichever is newer wins. The Linux AppImage uses electron-updater against `latest-linux.yml`; `.deb` installs share the same updater because the AppImage payload is embedded. The Windows installer auto-updates against `latest.yml`; the **portable `.exe`** does not auto-update (replace the file manually when a new release ships).\n\n## Issues and feedback\n\nBug reports and feature requests are welcome in [Issues](https://github.com/meetprimo/remotex/issues), [Discussions](https://github.com/meetprimo/remotex/discussions), and the [RemoteX Discord](https://discord.gg/fb4X6kxtAH), or via the in-app feedback flow under **Settings → About** and at \u003chttps://remotex.dev/contact\u003e.\n\n## License\n\nBinaries published here are governed by the [RemoteX Terms of Use](https://remotex.dev/terms) that ship with the app. The repository itself is not separately open-source-licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetprimo%2Fremotex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeetprimo%2Fremotex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeetprimo%2Fremotex/lists"}