Releases: TooTallNate/sys-autopilot
1.3.0
Minor Changes
- #8
4a246b9Thanks @TooTallNate! - Add file hashing for upload verification. A newhash_fileMCP tool computes a
file's SHA-256 (hardware-accelerated and streamed in 32 KB chunks, so memory use
is constant for any file size) and returns just the 64-char hex digest. Passing
anexpecteddigest also reports amatchedboolean, so an agent can confirm an
upload landed intact in a single round-trip. The same digest is available over
the raw HTTP API viaGET /files/hash?path=....
1.2.0
Minor Changes
-
#7
8552135Thanks @TooTallNate! - Addcreate_tokenandrevoke_tokenMCP tools.create_tokenmints a
bearer token over the already-authenticated MCP channel;revoke_token
removes a previously issued token again (agents can clean up after
themselves). This lets agents use the raw HTTP
API (e.g.curl -Tfor large file uploads, where base64 tool-call
content would be impractical) without being handed credentials out of
band. Tokens share thetokens.txtstore and revocation model with the
OAuth flow. -
#6
f5f4be8Thanks @TooTallNate! - Input MCP tools (tap_buttons,tap_sequence,hold_buttons,
release_buttons,set_stick,clear_input) accept an optional
"screenshot": trueargument that appends a screenshot (taken after an
optionalscreenshotDelayMs, default 250ms) to the tool result as an
image content block — saving the agent a separate screenshot round trip
after every input. -
#2
7930a11Thanks @TooTallNate! - Add an OAuth 2.1 browser login flow for MCP clients. When username/password
are configured, clients like Claude Code now authenticate with zero manual
header configuration: the first 401 triggers metadata discovery (RFC 9728 /
RFC 8414), dynamic client registration (RFC 7591), and a browser login page
served by the Switch; after signing in, the client receives a non-expiring
bearer token via the authorization-code + PKCE S256 grant. Tokens are
persisted toconfig/sys-autopilot/tokens.txt(revoke by deleting a line).
Also adds CORS support for browser-based MCP clients. -
#5
0a3b148Thanks @TooTallNate! - Addsleep,restart, andpower_offMCP tools (and matching
POST /power/sleep|restart|offREST endpoints) so agents can manage
console power state. Actions execute only after the confirmation
response has been delivered; tool descriptions carry explicit warnings
about server availability (sleep and power-off require physical human
interaction to recover; restart may too, depending on bootloader
autoboot configuration).
Patch Changes
- #4
984167dThanks @TooTallNate! - Fix console crash on sleep (hard restart on wake). Two changes were
required: the HDLS work buffer (transfer memory mapped into the hid
sysmodule) is now attached lazily and released when the console
prepares to sleep, and the sysmodule registers as a PSC power
management module so it can close its listener socket and quiesce all
bsd IPC before acknowledging the sleep transition. Previously the held
HDLS state and live socket activity made the sleep sequence fail (omm
abort with psc error 2165-1001, occasional bsdsockets aborts), forcing
a full reboot on wake. The virtual controller re-attaches automatically
on the first input request after wake.
1.1.0
Initial public release.
- Persistent HTTP server sysmodule (auto-starts at boot via boot2)
- Native MCP endpoint at
POST /mcp(stateless Streamable HTTP, JSON-RPC 2.0)
with 12 tools: screenshots returned as image content, controller input
(taps, sequences, holds, sticks), and SD card file access - REST API with JSON request bodies for input endpoints
- JPEG screenshots via
caps:sc(firmware 10.0.0+) - Virtual Pro Controller input injection via
hiddbgHDLS - File upload/download/listing/deletion rooted at
sdmc:/; MCP
upload_filecontent is streamed to disk so size is bounded by the SD
card, not RAM - INI configuration (
/config/sys-autopilot/config.ini): port, bearer
token and/or HTTP Basic credentials - Dev
.nroflavor of the same server for fast iteration via nxlink