npm 套件名
nextu-cli;安裝後的指令名是nextu。 (nextu這個套件名被 npm 的相似名稱保護擋下——與next/net/nuxt過近。)
用終端機或腳本驅動 Next U 廣告製作精靈:建案、從商品網址匯入、上傳本機圖片、取生成提示、回存生成結果。
這是 Next U 的「三門面」之一(另兩門:本機 stdio MCP server、遠端 MCP POST /api/mcp)。三門共用同一後端 /api/mcp/*,這支 CLI 是最薄的一層 shell,零執行期相依(只用 Node 18+ 內建 fetch/fs)。
CLI 相對於遠端 MCP 的獨特能力=**nextu attach:讀你本機硬碟**上的圖檔上傳(雲端遠端 MCP 碰不到你的硬碟,本機圖進場天生是 CLI 的活)。
npx nextu-cli --help
# 或全域安裝
npm i -g nextu-cli && nextu --help本機開發(clone 本 repo 後):
npm install
npm run dev -- --help # 用 tsx 直接跑 TS
# 或先 build 再跑
npm run build && node dist/index.js --helpCLI 打的是 /api/mcp/*,需 bearer token(你的個人 PAT,或 OAuth 取得的 access token)。
# 正式站:互動輸入(推薦)—— 會提示你貼上 token,輸入不回顯
nextu login
# 本機 dev(打 localhost 的 Next 開發伺服器)
nextu login --url http://localhost:3000
# CI / 腳本:從 stdin 讀,token 不進 argv
echo "$NEXTU_TOKEN" | nextu login --token-stdinnextu login --token <值> 仍可用(相容),但不建議:命令列參數會留在 shell history、
ps 的命令列、CI log 與 agent 逐字稿裡,刪掉設定檔也收不回來。用了會印警告。
⛔ MCP_API_TOKEN 不是本 CLI 的 token 來源。 那個環境變數屬於伺服器端的部署設定,
代表站台層級的服務身分(權限遠大於個人帳號),不是你的個人 token。本 CLI 一律忽略它,
只在偵測到時提醒你——避免「機器的 shell 曾匯出過伺服器設定」就靜默換了身分、還蓋掉你已登入
的個人 PAT。個人 token 請用 nextu login 或 NEXTU_API_TOKEN。
token 存到 ~/.nextu/config.json。也可用環境變數覆寫:NEXTU_API_TOKEN、NEXTU_BASE_URL。優先序:--flag > 環境變數 > 設定檔 > 預設。
POSIX:目錄 0700、檔案 0600(僅本人可讀寫)。
Windows:Node 的 mode 參數對 NTFS ACL 完全無效,所以 login 會另外執行
icacls <config> /inheritance:r /grant:r "<你>":F 斷掉繼承、只留本人。若這步失敗(或抓不到
%USERNAME%),login 會明講「檔案沿用家目錄權限,同機其他帳號可能讀得到」並給你手動指令——
不會假裝已經保護好。
nextu status 檢查目前站點/ token /健康/端點是否啟用。
存取 token 只會送往可信主機:nextu.studio(含子網域,須 https)與本機 localhost / 127.0.0.1(dev 可 http)。若 --url / NEXTU_BASE_URL 指向其他主機,帶 token 的請求會被擋下(token 不出機器),login 也拒絕存檔——避免被惡意 --url 把 token 送到攻擊者主機。自架正式網域:用 https 並設 NEXTU_ALLOWED_HOSTS=your.domain(逗號分隔可多個)。
nextu create --title "老虎印花棒球帽" --output copy # → 回傳專案 id
nextu extract <id> "https://…商品頁…" # 從網址匯入名稱/描述/圖/logo
nextu attach <id> ./photos/cap.jpg --role product # 或上傳本機圖(product|kol|logo)
nextu set-inputs <id> --category 6 --kol --kol-name "張啟山"
nextu prepare <id> s6_copy # 取「生成提示」→ 你用自己的模型生成
echo '<你生成的 JSON>' | nextu save <id> s6_copy --stdin # 回存(也可 --file <路徑> 或直接帶字串)prepare/save 是「文字生成反轉」:伺服器不呼叫付費 LLM、不扣點,算力由你自己的模型出。prepare 印出提示與回存合約;vision 步驟可加 --save-images <資料夾> 把商品/代言人參考圖存出來看。
| 指令 | 說明 |
|---|---|
login / logout / status |
認證與狀態 |
health |
網站健康檢查(公開,免 token) |
projects / project <id> |
列出 / 讀取專案 |
options |
合法選項(類別 / 模型 / 各類別行銷概念清單…) |
create |
建立專案 [--title] [--output copy|photo|video] |
set-inputs <id> |
S1–S5:--output --category --name --desc --kol|--no-kol --kol-name --kol-style --kol-notes |
set-settings <id> |
S55:--video-model --direction --unboxing-person --image-ar --video-ar --image-res --video-res --duration --mode |
extract <id> <url> |
從商品網址匯入 |
attach <id> <path> --role product|kol|logo |
★ 上傳本機圖片 |
prepare <id> <s6_copy|s8_product_prompt> |
取生成提示 [--language] [--concept] [--save-images] |
save <id> <step> <result|--file|--stdin> |
回存生成結果 |
全域:--url、--token、--json(原始 JSON 輸出,供腳本/agent 解析)、-h/--help、--version。
每個指令都支援 --json 輸出原始 API 回應,便於 Skill 解析。搭配 prepare(取提示)→ agent 用自己的模型生成 → save --stdin(回存),即可把 Next U 產線包成跨 agent 的技能。
首次發佈由人工執行(npm publish,需 2FA)。之後一律走 GitHub Actions 的 trusted publishing (OIDC)
——見 .github/workflows/npm-publish.yml:沒有任何長期 npm token 需要存放,且 npm 會
自動附上 provenance 證明(使用者可據以驗證「這個 tarball 真的由該 repo 的該 commit 建出來」)。