| name | ncn |
| description | Node connection. nc/ncn open a two-pane window: a host conductor (cxx) drives a live link to an execution node, adapting to its type. cluster: Slurm Jupyter-on-GPU in Apptainer over an ssh -L tunnel. apple/box: a contained box. ssh: a remote Linux shell. ncn also forwards a node program to localhost. Router skill for the ncn-<profile> skills. Use when the user runs `nc`/`ncn`, asks to connect to a node/device/cluster, or wants to pick where to run work. |
nc / ncn: node connection (router)
Two commands connect a host-side conductor to an execution node, adapting to the
node type. Both open a two-pane window (conductor left, live connection right) and
point the conductor at the matching per-profile skill. They differ only in the
conductor's mode (@ncn_mode):
nc <node> (connect). The pane split plus a live control channel: you are
ON the node (drive a shell/box, run things, read output). Like ssh, but
agent-driven and mesh-aware. No port-forward.
ncn <node> (connect plus endpoint). Everything nc does, plus it
stands up a program on the node and forwards it to this host's localhost: a
Jupyter kernel, a model server, or a dashboard.
The shell commands are thin brokers; the device-specific moves live in the
per-profile skills.
| Profile | Node | Connection | Isolation | Skill to follow |
|---|
cluster | HPC login host (Slurm) | ssh login | Apptainer + Slurm | ncn-cluster |
apple | Mac on the mesh | ssh (Tailscale) | box (apple/container) | ncn-apple |
ssh | Linux on the mesh | ssh (Tailscale) | optional (docker/podman) | ncn-ssh |
box | localhost / self | box bash | box locally | ncn-box |
If you are the conductor
Your launch brief names your mode (@ncn_mode = connect | endpoint) and
profile. Follow the ncn-<profile> skill (invoke it with the Skill tool, or read
~/.local/share/anu/plugins/ncn/skills/ncn-<profile>/SKILL.md) and do its
Connect section for nc, or its Expose-an-endpoint section for ncn.
Recover state any time from this window's options: @ncn_mode, @ncn_profile,
@ncn_device, @ncn_host (ssh target), @ncn_ssh_pane (the connection pane),
@ncn_sshopts.
If you are helping a user pick
nc / ncn → fzf picker over localhost · the cluster · mesh devices.
nc <node> (connect) · ncn <node> (connect + endpoint); node =
device | user@host | local.
--profile <cluster|apple|ssh|box> forces a profile.
ncn tunnel <node|localhost> [lport] [rport] · nc|ncn status · nc|ncn down.
The spine is the same in every profile: conductor → channel (ssh or local) →
containerized execution → the endpoint (port-forward to localhost). Cluster
isolates with Apptainer; Mac and localhost isolate with box. nc stops at the
channel; ncn carries through to the endpoint.