portal-expose
Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested TCP/UDP service reachable through Portal, then verify the public endpoint and report its lifecycle. Use when the user asks to deploy, publish, share, tunnel,
Perfil del activo
Agents de programación y desarrollo
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Escenario
Agents de programación
I need a coding agent that can understand a repository, edit code, and review pull requests.
Afinidad con Agent
Claude Code + Browser agents + CLI
Funciona con Codex, Claude Code, Cursor, CLI o Agents personalizados.
Instalar
Listo
npx skills add gosuda/portal-tunnel --skill portal-expose
Mantenimiento
Actual
Actualizado hoy
Riesgo
Riesgoso
Dependency or permission surface needs review
Calidad de GitHub
263
71/100 Calidad · 75/100 Confianza
Etiquetas de cobertura
Notas de revisión
Dependency or permission surface needs review · Permission surface may require sandboxing
Tarjeta de adopción del Agent
Confianza, auditoría y preparación de instalación de un vistazo
Estas puntuaciones combinan metadatos públicos del repositorio, señales de revisión de OpenAgentSkill, actualidad de mantenimiento y preparación de instalación. Sirven para preseleccionar; no sustituyen la revisión humana.
Calidad
SólidoSolid option that is likely worth shortlisting for production workflows.
Confianza
Solo sandboxCandidata útil con señales de confianza incompletas o mixtas. Manténgala en un espacio aislado hasta que el ciclo de resultados demuestre el ajuste.
Auditoría
RiesgosoRevisión legible por máquina de la preparación de instalación, los metadatos de seguridad, el mantenimiento y el riesgo de adopción.
Trust Score de OpenAgentSkill v5
Solo sandbox
Ejecute solo en un sandbox y compare alternativas cercanas antes de usarla en trabajo real.
Estrellas
263 estrellas de GitHub
Actividad del repositorio
263 estrellas y 29 forks
Mantenimiento
Actualizado hoy
Licencia
MIT
Instalar
npx skills add gosuda/portal-tunnel --skill portal-expose
Seguridad de instalación
Ruta estándar de paquete o instalación en tiempo de ejecución
Superficie de permisos
shell or command execution, filesystem or document access
Resultados del Agent
Aún no hay datos de resultados del Agent
Documentación
Contexto sólido de README/SKILL.md
Resumen de riesgo
Revisar antes de producción
- Financial research output is not financial advice; require human review before any live investment decision.
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
Preparación de instalación
Ruta de instalación disponible
- La ruta de instalación está disponible
- La evidencia del repositorio está disponible
- La licencia está declarada
- Aún no hay evidencia de resultados Agent-Proven
Metadatos legibles por Agent
Datos de decisión legibles por máquina para este skill.
Usa este bloque o el JSON integrado para decidir si un Agent debe instalar este skill, elegir una alternativa o pedir revisión humana primero.
Tareas adecuadas
- flujos de Local desktop
- Equipos de Claude Code
- builders willing to evaluate younger projects
- Navigate local resources
Agents adecuados
Decisión de instalación
- Comando
- npx skills add gosuda/portal-tunnel --skill portal-expose
- Política
- Bloquear
- Revisión humana
- Sí
Confianza y riesgo
- Confianza
- 67/100
- Auditoría
- 80/100
- Nivel de riesgo
- Riesgoso
Ciclo de resultados
- Endpoint
- /api/agent/outcome
- ID del evento
- resolve
- Resultados
- 5
Comando de instalación
npx skills add gosuda/portal-tunnel --skill portal-exposeNo usar cuando
- Equipos que necesitan un SLA con soporte del proveedor
- Entornos de alta conformidad sin revisión interna de seguridad
- No OpenAgentSkill engagement data yet
- Audit risk risky exceeds max_risk=medium
- Indicios de permisos de alto riesgo: ejecución de shell o comandos
Seguridad de Agent v2
48/100 · Evitar instalación automática
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
Alto
Ejecución de shell o comandos
Los metadatos del skill hacen referencia a terminal, CLI, shell, subprocesos o flujos de ejecución de comandos.
Medio
Browser automation
Skill may drive a browser or interact with web pages.
Medio
Acceso a red
El skill probablemente consulta páginas remotas, API, repositorios o servicios externos.
Medio
Acceso al sistema de archivos
El skill puede leer o escribir archivos de proyecto, documentos, artefactos generados o estado local.
- Audit risk risky exceeds max_risk=medium
- Indicios de permisos de alto riesgo: ejecución de shell o comandos
- Dependency or permission surface needs review
Destinos de instalación
Instala este skill en tu flujo de Agent
Usa el endpoint público para obtener el comando, la lista de seguridad, prompts y enlaces canónicos.
OpenAgentSkill CLI
Resolve policy, run the source installer safely, and report a verified install receipt.
$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install gosuda-portal-exposePlan de resolución de Agent
Deja que un Agent valide el ajuste antes de instalar.
La API Resolve devuelve la skill elegida, alternativas, política de seguridad, notas de auditoría, destino de instalación y un prompt listo para usar.
Abrir JSON
/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Texto de Resolve
/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Traspaso de instalación
/api/skills/gosuda-portal-expose/install
Agent debe revisar
- Task fit and alternatives from Resolve API.
- Audit score, trust score, and safety policy warnings.
- Install target compatibility for Codex, Claude Code, Cursor, or CLI.
Copiar prompt
Task: Use portal-expose in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20portal-expose%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/gosuda-portal-expose/install
Install command: npx skills add gosuda/portal-tunnel --skill portal-expose
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Traspaso de Agent
Da al Agent la ruta de instalación, no otro directorio.
Usa el endpoint público para obtener el comando, la lista de seguridad, prompts y enlaces canónicos.
Traspaso de instalación
/api/skills/gosuda-portal-expose/install
Formato de texto LLM
/api/skills/gosuda-portal-expose/install?format=text
Buscar alternativas
/api/skills/search?q=portal-expose&limit=3
Prompt de Agent
Use portal-expose for this task. Review https://www.openagentskill.com/api/skills/gosuda-portal-expose/install, then install with: npx skills add gosuda/portal-tunnel --skill portal-exposeMetadatos del Registry
Perfil legible por Agent para seleccionar skills automáticamente.
La API Registry expone señales de decisión, confianza, auditoría, casos de uso e instalación sin raspar la interfaz.
Manifest
/api/registry/manifest/gosuda-portal-expose
Texto LLM
/api/registry/manifest/gosuda-portal-expose?format=text
Alias de instalación
/api/registry/install/gosuda-portal-expose
Recomendar
/api/registry/recommend?task=Use%20portal-expose%20in%20an%20agent%20workflow&limit=3
Afinidad con Agent
Local desktop
Etiquetas de uso
Plataformas
Claude Code, Browser agents
Informe de auditoría
Riesgoso · 80/100
Revisión legible por máquina de la preparación de instalación, los metadatos de seguridad, el mantenimiento y el riesgo de adopción.
Panel de decisión de Agent
Fallback candidate for Local desktop
Prototype with this skill first; keep a fallback candidate ready.
Rol en la pila
Candidata de respaldo
Ajuste principal
Local desktop
Etiqueta de confianza
Prototipar primero
Ruta de instalación
Comando listo
Úsalo cuando
- flujos de Local desktop
- Equipos de Claude Code
- builders willing to evaluate younger projects
Evidencia
- recent repository activity
- install command or GitHub repo available
- perfil de calidad 71/100
revisar primero
- No OpenAgentSkill engagement data yet
Ruta de implementación
- 1Instálalo en un Agent de sandbox y ejecuta una tarea de Local desktop de principio a fin.
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
Perfil de confianza
Solo sandbox
Candidata útil con señales de confianza incompletas o mixtas. Manténgala en un espacio aislado hasta que el ciclo de resultados demuestre el ajuste.
Adopción en GitHub
Info263 estrellas de GitHub
Actividad de stars/forks
Revisar263 estrellas y 29 forks; la actividad de issues no está disponible en los metadatos actuales
Mantenimiento reciente
AprobadoActualizado hoy
Claridad de licencia
AprobadoMIT
Señales positivas
- Revisión de IA aprobada
- La ruta de instalación está disponible
- La evidencia del repositorio está disponible
- Repositorio mantenido recientemente
- El comando de instalación no muestra un patrón de alto riesgo evidente
- El ciclo de resultados está listo, pero necesita la primera ejecución real de Agent
Revisar antes de instalar
- Financial research output is not financial advice; require human review before any live investment decision.
- This skill may touch real-money trading, broker, wallet, or exchange operations; use only in a sandbox with explicit approval.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Stars/forks activity: 263 stars, 29 forks; issue activity unavailable in current metadata
- Dependency/runtime risk: command execution surface, external package install surface
- Permission surface: shell or command execution, filesystem or document access
- Aún no hay informes reales de resultados del Agent
- Se requiere revisión humana antes de una instalación desatendida
Acción recomendada
Ejecute solo en un sandbox y compare alternativas cercanas antes de usarla en trabajo real.
Perfil de calidad
Sólido candidato para flujos de Agent
Solid option that is likely worth shortlisting for production workflows.
Ajuste de flujo
Usa esta skill en estos escenarios
Operate local tools
Local desktop
I need my agent to operate local files and desktop apps in a repeatable workflow.
Build and ship code
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Operate web apps
Browser automation
I need my agent to control a browser, fill forms, and verify web app workflows.
Ajuste de flujo
Añadir a un flujo completo
Inspect, patch, and verify code
Coding review agent
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Scrape, clean, and reuse web data
Web data pipeline
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Lista de alternativas
Compara antes de instalar
Similar skills that may fit this task.
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
MoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Cua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
Resumen
--- name: portal-expose description: Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested TCP/UDP service reachable through Portal, then verify the public endpoint and report its lifecycle. Use when the user asks to deploy, publish, share, tunnel, expose, create a public preview, add a paid route, or configure x402 for a local app with Portal. Do not use for deploying a Portal relay, generic cloud hosting, or publishing this plugin. license: MIT ---
# Expose an App with Portal
Portal publishes a service that is already running on the user's machine. It does not build the app or move it to a cloud host. Treat a successful tunnel as dependent on both the local app and the Portal process or agent remaining available.
Read `references/portal-cli.md` when choosing commands or persistent-agent configuration. Read `references/x402.md` whenever the user requests x402 or a paid route. Read `references/safety-and-verification.md` before exposing a nontrivial project, a service with authentication, or any non-HTTP port. Read `references/game-hosting.md` whenever the user asks to host, publish, or share a game server — it covers game-specific ports, protocol identification, relay raw-transport prerequisites, and raw-endpoint verification.
## Choose the Mode
Use the smallest mode that satisfies the request:
- Temporary web preview: `portal expose <target>`. - Trusted static directory or HTML entry: `portal expose --serve <path>`. - Multiple local HTTP services under one URL: repeat `--http-route`. - Paid HTTP path: routed HTTP with an explicit x402 payment contract; never enable payment implicitly. - Durable tunnel that should survive terminal or login restarts: an explicit `portal agent` config and managed service. - Session-owned durable tunnel without an OS service: `portal agent run --foreground`. - Game server (Minecraft, Terraria, Palworld, or any dedicated game server): always start from `references/game-hosting.md` — raw TCP/UDP transport has different prerequisites and verification than HTTP.
Default to a temporary preview when the user says only "share", "preview", or "deploy locally". Do not install an OS service unless the user asks for a persistent, managed, or restart-surviving tunnel and accepts that `portal agent run` without `--foreground` installs a per-user launchd or systemd unit.
## Workflow
### 1. Inspect the Project
- Read the applicable repository instructions before running or changing anything. - Determine the app directory, start command, expected protocol, loopback target, and a meaningful health path. - Prefer declared scripts and documented ports over guessing from process lists. - Do not expose a port merely because it is listening. Tie it to the requested app. - If the project is already running, preserve its process. If it is not running and deployment was requested, start it with the project's normal command and retain the terminal/session handle.
Ask one concise question only when the target, desired lifetime, or transport cannot be discovered safely. An explicit request to deploy, publish, expose, tunnel, or share authorizes creating the public tunnel for the named app; it does not authorize exposing adjacent services.
For x402, do not guess the protected path, payment methods, amount, network, recipient, or network-specific asset. Collect any missing consequential value before building the command or config. Treat an omitted method list as charging every method on the route and confirm that scope when it was not explicit.
### 2. Verify the Local Service
- Wait for the app's real readiness signal, not only for the process to exist. - Make a bounded local request to the selected target. For HTTP, record the URL and status. For TCP/UDP, use a protocol-appropriate check that does not mutate application data. - Stop before opening a tunnel if the local health check fails. - Warn and require explicit direction before exposing databases, container daemons, debug consoles, unauthenticated admin panels, or services containing sensitive data. - Before opening the tunnel, say that the public hostname is listed on participating relays and visible via `portal list` unless the user asked for `--hide`.
### 3. Check Portal
- Run `portal version` when `portal` is available. - If Portal is missing, present the official install method and request approval before running it because installation writes outside the project. Never execute an installer from an unknown relay or third-party URL. - Do not assume a hard-coded latest release or stale flags. Use the installed version and the checked-in Portal reference as the compatibility baseline.
### 4. Build the Command or Agent Config
- Use loopback targets such as `127.0.0.1:<port>` unless the project explicitly needs another address. - Use the user's requested name. Otherwise omit `--name` for a temporary preview or derive a stable DNS-label-safe name for a persistent tunnel. - For `portal expose`, always pass an absolute `--identity-path` outside the repository. The CLI default is `identity.json` in the process working directory and that file contains private key material. For `portal agent`, omit `identity_path` so the agent stores identity under its state directory; if you set the field, use an absolute path outside the repository. - Never print or commit identity JSON, control tokens, facilitator tokens, or wallet secrets. - With a user-selected relay on `portal expose`, pass `--relays <https-url> --discovery=false`. In persistent mode those flags are not accepted on `portal agent run`; put `relays = ["https://..."]` and `discovery = false` on the `[[tunnels]]` entry instead. - The MITM self-probe always runs. Without `--ban-mitm` / `ban_mitm = true`, a suspected TLS termination is only logged and the tunnel keeps serving. Do not claim the default path blocks a relay. Add `--ban-mitm` only when the user wants fail-closed handling. There is no flag that disables the probe. - Never add TCP, UDP, multi-hop, payment, or public metadata flags that the user did not request. `--hide` is the exception for listing: mention the default public listing, then add `--hide` or `hide = true` only when the user wants the tunnel unlisted. - For a paid route, follow `references/x402.md`. Keep payment policy on the smallest requested path, use an explicit network, and never place wallet or facilitator secrets in a command, log, committed file, or final response.
Before executing, show the exact public target and any important exposure consequence when it is not already obvious from the user's request.
### 5. Start and Observe the Tunnel
- Run a temporary `portal expose` in a foreground PTY or managed long-running command session. Do not hide it behind an untracked `nohup` process. - For persistent mode, inspect any existing agent config and running service first. `run`, `restart`, and `stop` are service-wide: they affect every `[[tunnels]]` entry that the selected service owns. Reuse and merge the existing config when the same agent should keep other tunnels. An isolated second agent needs its own config, `service_name`, `state_dir`, and loopback `control_addr`. Changing only `service_name` still shares the default state directory and `127.0.0.1:4018`. Do not stop or replace an agent that already owns unrelated tunnels. - Create or update only the selected agent config, then start it with `portal agent run --config <path>` after the user accepts OS-service installation, or `portal agent run --foreground --config <path>` when the current session should own the process. `--foreground` opens the interactive dashboard when stdin and stdout are TTYs. Run that command in a non-TTY managed session so logs stay capturable and the TUI does not start. - Do not run `portal agent dashboard`. It is an interactive TUI. Give the user that command in the handoff. - Capture bounded output. Redact tokens, identity material, signed payloads, and credentials. - HTTP tunnels are ready when a public URL is emitted. Raw TCP/UDP tunnels log `raw transport endpoints allocated` with `tcp_addr` and/or `udp_addr` instead of `service ready at <URL>`. Do not wait for an HTTPS URL on a raw transport.
### 6. Verify the Public Endpoint
- For HTTP, make a bounded HTTPS request to every public URL being handed off. A deliberately authenticated app may return `401` or `403`; explain that as reachable but protected. Treat unexpected `5xx`, TLS errors, or a Portal error page as a failed deployment. - For each paid route, make an unpaid request with a protected method and require `402 Payment Required` plus a payment-requirements header. Compare the returned network, asset, recipient, amount, and resource with the requested policy. Verify the method scope by requesting an intentionally unprotected method when one exists. Never spend funds merely to verify configuration. - For raw TCP or UDP, protocol-probe the allocated `tcp_addr`/`udp_addr` without mutating application data. A successful local port open is not enough. - When a browser-capable tool is available and the app has UI, load the primary page and check for an obvious render or runtime failure. Do not log in or submit data unless the user requested it. - Re-check the local health endpoint if the public request fails so the handoff distinguishes app failure from tunnel or relay failure.
### 7. Hand Off the Result
Report:
- Deployment mode and exact local target. - Public URL or allocated raw endpoint, and the verified status. - Whether the tunnel is listed on public relays or hidden with `--hide`. - Whether MITM handling is detect-only or `--ban-mitm`. - For x402, the protected paths and methods, human amount, network, public recipient, facilitator mode, and whether the unpaid `402` challenge was verified. State explicitly when settlement was not tested. - The identity path and that it must stay out of version control. - The app and Portal process/session or OS-service ownership. - The exact stop or restart command, and whether that command affects other tunnels on the same agent. - Anything that remains temporary, unavailable, or unverified.
Do not call the result permanent when the local machine, app process, or foreground tunnel must remain running.
## Failure Rules
- Local app unhealthy: stop before exposing it and report the failing check. - Portal absent and installation not approved: provide the official command without executing it. - No ready public URL or allocated raw endpoint: keep the bounded diagnostic output and report the relay/tunnel failure. - Paid route returns anything other than the expected `402` challenge: do not describe it as protected or hand it off as ready. Stop only the tunnel created by this workflow, preserve bounded diagnostics, and report the policy mismatch. - MITM self-probe warning without `--ban-mitm`: report the warning and offer `--ban-mitm`; do not claim the relay was blocked. - Requested name unavailable: offer an auto-generated or alternative name; do not silently hijack another identity. - Existing agent owns other tunnels: do not stop or replace it to publish this app. - Cancellation: stop only processes started by this workflow, unless the user explicitly asks to stop an existing app or agent.
Detalles técnicos
- Versión
- 1.0.0
- Licencia
- MIT
- Última actualización
- 22 ago 2026
- Publicado
- 22 ago 2026
Resumen de decisión
Candidata de respaldo
recent repository activity
Auditoría
Revisión de instalación
Revisión de instalación y adopción
- Seguridad
- 79/100
- Mantenimiento
- 100/100
- Instalar
- 92/100
Evidencia probada por Agent
Evidencia probada por Agent
Informes de resultados tras resolver, revisar, instalar y una ejecución limitada.
- Tasa de éxito
- —
- Fallo reciente
- —
- Resultados
- 0
- Calidad de salida
- —
- Fallidos
- 0
- No relevante
- 0
- Instalaciones
- 0
- Bloqueado por riesgo
- 0
- Configuración necesaria
- 0
- Producción
- 0
Aún no hay datos de resultados de Agent. La primera ejecución puede informar éxito, configuración necesaria, bloqueos de riesgo, fallo o irrelevancia mediante /api/agent/outcome.
Instalar
Añadir al flujo de Agent
Gratis y de código abierto. Revisa el informe antes de instalar en Agents de producción.
Bucle de crecimiento
Kit para compartir
Borrador basado en un caso para portal-expose, listo para publicar manualmente en X.
A practical pick for a web workflow: portal-expose: Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested... 263 stars https://www.openagentskill.com/skills/gosuda-portal-expose?ref=x
Respuesta opcional con comando de instalación
Listing + install path for portal-expose: https://www.openagentskill.com/skills/gosuda-portal-expose?ref=x Install: npx skills add gosuda/portal-tunnel --skill portal-expose
Fuente de la ficha
Indexado por Registry
Esta ficha se indexó desde fuentes públicas y no está marcada como oficial hasta que se apruebe una reclamación de mantenedor.
- Creador
- gosuda
- Fuente
- gosuda/portal-tunnel
- Indexado por
- Índice comunitario de OpenAgentSkill
La atribución enlaza al repositorio público o al perfil del creador. Los creadores pueden reclamar la ficha para actualizar las señales de propiedad.
Reclamar este skillReclamación del propietario
Reclamar esta ficha de skill
Esta ficha Indexado por Registry se atribuye a gosuda, pero aún no está marcada como oficial. Reclámala para añadir una señal de propietario verificado y hacer más fiables futuras actualizaciones de lanzamiento, instalación y auditoría.
Kit de enlaces para creadores
Añade las insignias de evidencia a tu README
Muestra la ficha canónica, las señales actuales de confianza y auditoría, y evidencia real de Agent-Proven donde los desarrolladores evalúan el repositorio.
[](https://www.openagentskill.com/skills/gosuda-portal-expose)
[](https://www.openagentskill.com/skills/gosuda-portal-expose)
[](https://www.openagentskill.com/skills/gosuda-portal-expose/audit)
[](https://www.openagentskill.com/skills/gosuda-portal-expose)Autor
gosuda
@gosuda
Etiquetas
Afinidad con plataforma
Señales de salud
- Estrellas de GitHub
- 263
- Puntuación de calidad
- 40/100
- Último push de GitHub
- 22 ago 2026
- Pistas del framework
- Desconocido
- Vistas de OpenAgentSkill
- 0
- Copias de instalación
- 0
- Clics externos
- 0
Señal de comunidad
Comparte si este skill resulta útil para tu flujo de Agent. Los comentarios agregados mejoran la clasificación con el tiempo.
Confianza y seguridad
Solo sandbox
- Adopción en GitHub263 estrellas de GitHubInfo
- Actividad de stars/forks263 estrellas y 29 forks; la actividad de issues no está disponible en los metadatos actualesRevisar
- Mantenimiento recienteActualizado hoyAprobado
- Claridad de licenciaMITAprobado
- Completitud de README/SKILL.mdLos metadatos incluyen suficiente contexto de uso y flujo de trabajoAprobado
- Riesgo de dependencias/runtimecommand execution surface, external package install surfaceRevisar
Skills relacionados
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K EstrellasMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K EstrellasCua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
21.4K Estrellas