Module nautilus_agent

Module nautilus_agent 

Source
Expand description

NautilusAgent — SSH & rsync file-transfer bridge.

Named after the nautilus: a deep-sea creature with a spiral protective shell — mirroring SSH (Secure Shell) — and the Jules Verne submarine that autonomously traverses unreachable depths, just as this agent bridges distant filesystems without human intervention.

§Commands (sent as plain text to the agent’s MQTT mailbox)

CommandDescription
ping <user@host>Test SSH connectivity (exit code only)
exec <user@host> <cmd [args…]>Run a command over SSH
sync <[user@host:]src> <dst>rsync pull from remote
push <src> <[user@host:]dst>rsync push to remote
helpPrint available commands

Results are published back to agents/{id}/chat so they appear in the frontend chat panel.

§Security notes

Arguments are never passed through a shell — each token is a discrete std::process::Command argument, preventing shell injection. Host-key verification defaults to accept-new so first connections work automatically in container environments; set NAUTILUS_STRICT_HOST_KEYS=1 to enforce strict checking.

Structs§

NautilusAgent
SSH & rsync file-transfer bridge agent.
NautilusConfig
Runtime configuration for NautilusAgent.