$_ tt2-cli

CLI 命令参考

────────────────────────────────────────

tt2 是 lhub.tt2.li 静态托管网络的命令行工具。 本页覆盖全部命令。所有命令均支持 --json 输出结构化结果,便于 Agent 程序化消费。

全局说明:--json 模式

在任何命令后追加 --json,输出将切换为单行 JSON,成功时:

{"ok": true, "data": { ... }}

失败时统一返回:

{"ok": false, "error": {"code": "SITE_NOT_FOUND", "message": "站点不存在"}}

Agent 集成时建议始终携带 --json,并以退出码判断成败(0 成功,非 0 失败), error.message 可直接展示给人类用户。

认证

tt2 login

发起观猹 OAuth 设备码授权流程。终端打印授权码与确认链接,浏览器确认后 CLI 自动获得凭证。

tt2 login
tt2 login --json   # 输出 {"user_code":"ABCD-1234","verify_url":"..."}

tt2 logout

清除本机保存的登录凭证(不影响控制台里已创建的 CLI Token)。

tt2 logout

tt2 whoami

显示当前登录身份(昵称、观猹 ID、TokenPay 连接状态)。

tt2 whoami --json
# {"nickname":"阿猹","watcha_id":"w_123","tokendance_connected":true}

部署

tt2 push

把本地静态产物目录推送为线上站点。产物要求见推送标准

tt2 push <目录> --name <站点名> [--spa] [--json]

# 示例:部署 ./dist 到 https://myapp.lhub.tt2.li
tt2 push ./dist --name myapp

# SPA 模式:所有路径回退到 index.html
tt2 push ./dist --name myapp --spa
参数说明
<目录>静态产物目录,必须包含 index.html,总大小 ≤ 50MB
--name站点名,决定三级域名 <name>.lhub.tt2.li;小写字母 / 数字 / 中划线,3–32 字符
--spa启用单页应用回退(404 → index.html)

push 是异步任务:命令返回 task_id 后立即退出,实际部署由猹询码在服务端完成。

tt2 reply

查询某个任务的最新状态与猹询码的回复(审查结论、修补记录、错误原因)。

tt2 reply <task_id>
tt2 reply <task_id> --json
# {"task_id":"t_01J...","status":"succeeded","result":{"url":"https://myapp.lhub.tt2.li"}}

tt2 status

查看某个站点的当前状态(在线 / 部署中 / 失败)、绑定的域名与最近任务。

tt2 status --name myapp

tt2 tasks

列出最近的部署任务,含计费信息(消耗 TokenPay 额度或走了免费任务池)。

tt2 tasks
tt2 tasks --limit 20 --json

站点管理

tt2 sites

列出你名下的全部站点。

tt2 sites --json
# [{"name":"myapp","host":"myapp.lhub.tt2.li","url":"https://myapp.lhub.tt2.li","spa":false,"status":"online","created_at":"..."}]

tt2 delete

删除站点及其全部文件,三级域名随之释放。不可恢复,请谨慎操作。

tt2 delete --name myapp
tt2 delete --name myapp --yes   # 跳过确认提示(Agent 场景)

域名管理

自备域名的 DNS 配置细节见自备域名指南

tt2 domain add

为站点绑定自备域名。添加后按提示配置 DNS,证书将自动签发。

tt2 domain add --name myapp --domain app.example.com

tt2 domain list

列出某站点绑定的全部自备域名及验证状态。

tt2 domain list --name myapp --json

tt2 domain check

主动触发一次 DNS 解析检查。DNS 生效且验证通过后,Let's Encrypt 证书会自动签发。

tt2 domain check --name myapp --domain app.example.com

tt2 domain delete

解绑自备域名(不影响默认的 <name>.lhub.tt2.li 域名)。

tt2 domain delete --name myapp --domain app.example.com

计费

tt2 connect-tokenpay

打印 TokenPay(TokenDance)授权链接,在浏览器中完成连接后, 部署任务将消耗你自己的模型额度;未连接或额度耗尽时使用全平台共享免费任务池。 也可以在控制台中一键连接。

tt2 connect-tokenpay

获取帮助

tt2 --help          # 总览
tt2 <命令> --help  # 单命令帮助,如 tt2 push --help