6.9 KiB
6.9 KiB
Changelog
Unreleased
- Added a Claude Code plugin manifest with an inline MCP server configuration that resolves from
${CLAUDE_PLUGIN_ROOT}. - Added a GitHub-installable Claude Code marketplace at
.claude-plugin/marketplace.json. - Updated plugin documentation and skill guidance for Claude Code while retaining the existing Codex packaging.
0.9.0
- Added a dependency-free MCP server that exposes 13 grouped tools for accounts, project binding, diagnostics, model directories, remote file inspection, transfer, execution, jobs, experiment runs, fleets, tmux, dashboard rendering, and shutdown.
- Kept the existing Bash CLI as the single SSH implementation; MCP validates structured inputs, invokes the CLI without a local shell, and returns consistent structured output.
- Added explicit confirmation gates for mirrored upload deletions, job/run/tmux termination, remote tmux installation, dangerous command overrides, and machine shutdown.
- Enforced project-relative file, transfer, sync-up, execution-cwd, and dashboard-output operands (including symlink containment), required canonical job/session names, and negotiated a known MCP protocol version.
- Excluded password save/delete, interactive shells, following tails, dashboard watch/open, and stdin/script payloads from MCP so secrets and unbounded interactive sessions stay in deliberate CLI workflows.
- Added bounded stdout/stderr capture with
AUTODL_REMOTE_MCP_MAX_OUTPUT_BYTES(64 KiB by default), structured non-zero exit results, lifecycle cleanup, and Node integration tests.
0.8.1
- Added
job stop <name>andrun stop <name>for detached-job lifecycle control. They terminate the isolated runner process group withTERMthenKILL, and recordstatus=cancelled. - Reject active detached-job name collisions by default.
exec --replace --name <name>now stops the recorded job before launching its replacement. - Fixed detached direct-command argv quoting so literal arguments (including
<|endoftext|>) are preserved instead of being re-parsed by a shell. - Mark a recorded
runningjob aslostwhen its runner PID is gone, with a recovery hint;run listuses the same status normalization. - Made
job tail <name> --lines Nandrun tail <name> --lines Nequivalent to the existing option-first form, and reject unknown trailing arguments. - Fixed
job tail --lines N,run tail, and dashboard log previews for tqdm-style carriage-return progress by normalizing logical records and removing ANSI CSI sequences before selecting the final lines. - Limited non-following normalized log output to 64 KiB by default so one oversized progress record cannot flood a tool result.
- Serialized only SSH ControlMaster creation per account/target, added stale socket and lock recovery, and retried a failed initial master connection once.
- Added explicit SSH connection, monitoring, and keychain/Expect timeout bounds while keeping long-running non-monitoring sessions unbounded.
- Added deterministic CLI regressions for logical log tails, output bounds, concurrent cold starts, stale connection state, retry behavior, and timeout cleanup.
0.8.0
- Added optional tmux backend for long-running remote jobs with
exec --tmux --name <run> -- <command>. - Added
tmux check,tmux install,tmux list,tmux capture,tmux attach-cmd, andtmux kill. - Dashboard now prefers tmux pane output for tmux-backed jobs and falls back to recorded log files when the pane is unavailable.
- Dashboard watch mode now updates a sidecar state file instead of forcing full-page reloads.
- Job metadata now records backend, tmux session, and tmux socket fields.
- Added AutoDL-specific tmux skill guidance so Codex can choose tmux for long, parallel, or multi-host work.
- Added
scripts/dev-install-cache.shfor local Codex App cache refresh during plugin development. - Smoke-tested the tmux fleet dashboard on one GPU AutoDL host and one CPU-only AutoDL host, then shut both down through
autodl-remote shutdown. - Fixed first-time SSH host-key confirmation handling in keychain/expect mode and enabled
StrictHostKeyChecking=accept-newfor SSH/SCP/rsync transports.
0.7.0
- Added project-local fleets for grouping multiple AutoDL/SSH accounts under one experiment workspace.
- Added
fleet create,fleet add,fleet list, andfleet status. - Added read-only
dashboardgeneration for single-machine and fleet views. - Added
dashboard --watch <seconds> --lines <n>so the page can refresh itself and display recent remote run logs without Codex copying logs into chat. - Added run-oriented commands:
run submit,run list,run status,run tail, andrun note. - Added run metadata fields for model, tags, stage, purpose, outputs, account, and remote root.
- Added
--accountand--remoteoverrides forexec,put,get,tree,ls,cat, andtailso one local project can operate multiple remote machines. - Fixed detached remote execution so long-running jobs detach from the SSH session immediately.
- Fixed stdin handling during remote temp-directory creation so
exec --scriptandexec --stdinno longer upload empty scripts. - Moved SSH ControlMaster sockets to a short
/tmppath by default to avoid OpenSSHControlPath too longfailures on macOS temporary homes.
0.6.3
- Strengthened the Codex skill rules so AutoDL/SSH work defaults to
autodl-remoteinstead of rawssh/expectscripts. - Instructed Codex to use
exec --scriptorexec --stdinfor complex remote checks and to avoid printing credentials when bypassing the plugin.
0.6.2
- Added
autodl-remote --version,autodl-remote -V, andautodl-remote version.
0.6.1
- Fixed keychain/expect argument forwarding for SSH password prompts.
- Reused SSH ControlMaster settings for
scpfallback paths. - Improved
exec --stdinandexec --scriptupload behavior. - Refined dangerous command protection to allow concrete file/subdirectory deletion while still blocking root/project-root deletion and raw shutdown-style commands.
0.6.0
- Added
autodl-remote shutdownwith shutdown/poweroff/halt fallback and SSH disconnect-aware success handling. - Added detached job registry commands:
job list,job status <name>, andjob tail <name>. - Added
exec --script <local_script>andexec --stdin -- <command>for complex multi-line remote commands. - Added
put-run <local-path>... -- <command>to upload selected local paths before running a remote command. - Added
model-dir [--mkdir]and automatic local.autodl-remote/CONVENTIONS.mdcreation for project-level remote conventions.
0.5.0
Initial public package.
- Added Bash-only
autodl-remoteCLI. - Added Codex plugin metadata and skill instructions.
- Added repo-local marketplace manifest.
- Added SSH account management.
- Added explicit
put,get,sync-up, andsync-downfile operations. - Added remote
exec,tree,ls,cat,tail, andshellcommands. - Removed earlier source-of-truth modes, manifest tracking, and automatic sync behavior.