English | 中文
Administrative web frontend for agent-remote.
The frontend stack uses TypeScript, React, Vite, and lucide-react. It provides the management console for users, devices, tool accounts, developer credential profiles, nodes, sessions, sync, remote browser sessions, audit logs, and local console settings. Tool accounts also show the latest safe Claude configuration import summary without exposing uploaded file contents.
Runtime controls include node backend allowlists/defaults/policy and capability inspection, account backend pinning and explicit migration, plus session backend/resource/replacement visibility. Interrupted sessions are shown as non-attachable so operators can distinguish them from recoverable active sessions.
The /app/forwards console page lists personal forwards for users and the full scope for administrators. It shows lifecycle status, owner, session, node, local/remote ports, connections, traffic, expiration, and stop reason; active forwards can be stopped with confirmation. Node editing also exposes the forwarding enable switch, allowed port range, TTL, stream, bandwidth, and control-plane grace policy. The UI never proxies or renders application traffic.
- React Router keeps the active console page in
/app/:page, including refresh, back, and forward navigation. - TanStack Query loads only the resources required by the active page, refreshes live resources automatically, and revalidates after reconnect or window focus.
- Console features live in
src/pages/console, while shared application infrastructure lives insrc/app,src/hooks, andsrc/components. - Locale messages are stored in
src/i18n/locales/*.json. The initial locale follows the browser unless the user has saved a preference. - The desktop shell uses a persistent sidebar. Narrow screens and short landscape phones use a fixed header, bottom navigation, a complete feature drawer, and full-screen creation forms with safe-area padding.
npm installnpm run devnpm run buildnpm testSet VITE_AGENT_REMOTE_API_BASE to point the UI at a non-local control plane.
For local UI development with a mock control plane, VITE_AGENT_REMOTE_DEV_TOKEN
can provide a development-only access token. Vite production builds ignore this value.
Build the static admin web image:
docker build -t agent-remote-admin-web .By default the production build uses a relative API base, so the reverse proxy should route /api/* to agent-remote-server and all other paths to the admin web container.
GitHub Actions builds and pushes the production image to GHCR for v* tags and creates a GitHub Release record with generated release notes.
agent-remote-admin-web is licensed under GPL-3.0-only. See LICENSE.
Third-party dependency notices are listed in THIRD_PARTY_NOTICES.md.