Repository navigation
Releases: Minato-Aqukin/AutoDL-cli
Release list
v0.3.1
Patch Changes
-
0af7442Thanks @Minato-Aqukin! - TUI 支持私有镜像,新建向导可选私有镜像和不限时 TTL。- 看板按
i打开私有镜像列表(名称、UUID、状态、大小、创建时间),每次进入都重新读取,r刷新;会翻完所有分页。 - 实例详情页按
i输入名称,把实例保存为私有镜像。删除、重命名、共享镜像开放 API 没有提供,列表页注明需到网页控制台操作。 - 新建向导的镜像步骤列出已保存完成的私有镜像(排在公共镜像前),未完成的不列出并提示数量。私有镜像没有 CUDA 信息,按 CUDA ≥ 11.8 创建,与
autodl create --image <私有镜像>一致,确认页注明。 - 向导各步列表超出终端高度时随光标滚动并显示位置,不再在矮终端里被挤出画面;修复镜像列表重复 key 的 React 警告。
- 镜像列表、GPU 库存、文件管理的本地/远程两栏、传输队列改用与实例看板相同的带标题边框;库存列表超出终端高度时随光标滚动,不再挤掉底部说明和状态栏。
- 文件管理:选中项保持在窗口中间(原来总贴在窗口最上或最下);刷新目录和传输完成后的自动刷新不再把光标拉回第一项,返回父目录时停在刚离开的文件夹;新增 PgUp/PgDn 翻页、Home/End 跳到首尾;按键提示按终端宽度自动换行,不再截断。传输队列、向导等所有滚动列表共用同一套居中窗口计算。
- 新建向导的 TTL 增加「不限时」:不设关机定时器、不记录 TTL 台账,确认页给出持续计费警告,等价命令不带
--ttl。默认仍是 2h。 - SDK 新增
listAllPrivateImages,自动翻页。
- 看板按
v0.3.0
Minor Changes
-
9450fadThanks @Minato-Aqukin! - 依赖瘦身、启动提速,并修复代码审计发现的一批问题。依赖与体积
- MCP 从
@modelcontextprotocol/sdkv1 迁移到@modelcontextprotocol/serverv2(默认仍使用 2025 版协议,旧客户端照常连接),zod 升级到 4。SDK 导出的buildServer现在返回 v2 的McpServer。 - Ink / React 本就打包进产物,不再作为运行时依赖安装;表格改用内置渲染,移除
cli-table3。安装时的生产依赖从 162 个包降到 16 个。 - 打包时使用 React 生产构建:发布包 432 kB → 323 kB(解包 2.1 MB → 1.4 MB),TUI 渲染不再跑开发模式检查。
- 产物不再在每个文件注入
createRequire,版本号在构建时内联。 - 打包进产物的 Ink、React 及其依赖的许可证声明现随包附在
dist/THIRD_PARTY_LICENSES.txt,由构建根据实际打包内容生成;打包了没有许可证文件的依赖时构建直接失败。 - README 改为中文为主(
README.md),英文版移到README.en.md。
性能
ssh2与 MCP SDK 改为按需加载,autodl --version/ls等命令启动时间约 150 ms → 100 ms。- SFTP 上传/下载改为流水线传输;断点记录不再每个文件整体重写两次;文件视图勾选与台账读取去掉了逐行重复计算。
修复
- TTL:
guard ttl/start --ttl的实例内定时器命令存在&;语法错误,从未真正设置成功;开机定时器现在记录 PID,guard cancel只取消确认属于本工具的定时器、同时清除本机台账,无法确认时返回退出码 1。 deploy:--no-setup、--no-accel、--env之前被静默忽略;--detach启动失败或开机等待期间中断时不再遗留计费实例。run/deploy:Ctrl-C 能真正中断远程命令与传输并关机,第二次 Ctrl-C 强制退出;关机/释放失败时结果带cleanup.error并以退出码 1 结束。info --json不再输出 Jupyter Token 明文;rm --force先确认再关机;create/start --wait失败时不再挂起进程;数值参数(如--min-balance 20元)非法时报参数错误,不再悄悄关掉余额闸门。- 环境变量
GITHUB_TOKEN只发给 github.com,GITEE_TOKEN只发给 gitee.com;仓库地址保留端口并支持ssh://。 - SSH 连接建立后的网络错误不再导致进程崩溃;
pull单个文件到目录、远程命令输出的多字节字符截断、无退出码的通道关闭等问题已修复。 - HTTP 响应体读取纳入超时与重试;重复关机请求视为成功;API 报告余额不足时错误码为
INSUFFICIENT_BALANCE;TTL 台账改为加锁的原子写入,多个进程同时记录 TTL 时不再丢条目。 - MCP:释放实例前等待关机完成;
autodl_exec自动开机时同样设置 TTL。 - 队列:
queue resume/queue resolve跨进程生效并在前台执行到结束,queue add --wait遇到冲突不再挂起。 - TUI:空账号可按
n新建实例;删除/重命名对话框的目标不会被后台刷新替换;重新进入文件视图不再报「文件会话已关闭」;开机后文件视图正确刷新;队列异常不再导致 TUI 崩溃;释放进行中退出时先确认,确认后停止等待关机、不再释放,进程不再在退出后挂住最多 10 分钟。
- MCP 从
v0.2.0
Minor Changes
-
aa99437Thanks @Minato-Aqukin! - Add dashboard SSH login with automatic instance-password authentication and terminal restoration, plus thessh --auto-authcommand option. Preserve ordinary OpenSSH mode for custom configuration and forwarding.Add local/remote file browsing, direct path entry, multi-selection, directory creation, moves and confirmed permanent deletion. Add a persistent serial transfer queue with byte progress, conflict choices, cancellation, manual restart recovery and bounded transport reconnects. Transfers preserve existing targets using same-directory partial files, validate resumed prefixes, and support one-way size/mtime or SHA-256 synchronization without deleting destination-only files. Skip and report symbolic links and special files. Require explicit billing confirmation before powering on an instance and prevent concurrent processes from restoring the same queue.
Reuse one SFTP connection for all file-view browsing operations with transparent reconnect and release on exit; read directory entries with bundled readdir attributes instead of per-file stat round trips. Open the file view instantly with async power gating. Add
files ls/mkdir/mv/rmandqueue add/ls/resume/cancel/resolveCLI commands sharing the dashboard queue records.
v0.1.2
Patch Changes
-
d2219b9Thanks @Minato-Aqukin! - 修复代码审查发现的 CLI 与 TUI 行为问题:- TUI 重新登录继续遵守
--token、AUTODL_TOKEN、配置文件的优先级;覆盖 Token 失效时不再静默切换账号。 - CLI 参数错误统一使用退出码 2;JSON 模式下的解析错误与
tui --json都返回结构化错误。 - 运行实例的单价未齐时不再给出确定续航或声称不产生费用。
- 库存查询的认证失败会传播到会话失效处理器,普通单地区错误仍允许返回其他地区的库存。
- 看板按终端宽度计算面板堆叠高度及提示换行,在 80×24 等矮屏保留实例列表和按键提示。
- TUI 重新登录继续遵守