rtk-ai/rtk

Feature: SSH command filtering/proxying

Open

#1,680 opened on May 2, 2026

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (2,914 forks)batch import
area:clienhancementhelp wantedpriority:medium

Repository metrics

Stars
 (48,085 stars)
PR merge metrics
 (Avg merge 11d 1h) (45 merged PRs in 30d)

Description

Summary

Add RTK support for ssh commands to filter remote output before it enters context.

Use case

When running remote diagnostics via SSH (e.g. ssh user@host "systemctl status ..."), raw output can be large. RTK already handles local equivalents (rtk ps, rtk df, rtk docker) — the same filtering should apply when those run over SSH.

Example

Current (unfiltered)

ssh name@xxx.xxx.x.xxx "systemctl status ollama && ollama ps && nvidia-smi"

Desired

rtk ssh ssh name@xxx.xxx.x.xxx "systemctl status ollama && ollama ps && nvidia-smi"

Privacy/security requirement

Output must be filtered LOCALLY — no credentials, hostnames, IPs, or command output leave the local machine. RTK acts as a local stdout filter on the subprocess return, identical to how it handles local commands today. No telemetry on remote host, command, or content.

Behavior spec

  • rtk ssh spawns ssh as a subprocess (same as rtk ps spawns ps)
  • Stdout filtered/compressed locally before entering context
  • Falls back to raw output if filtering fails
  • Respects existing rtk output size limits

Context

Discovered via rtk discover — 4 SSH calls in one session producing unfiltered remote service/GPU status. Local equivalents filter at 84–96% reduction; same savings expected.

Contributor guide