Great Clips — Printing Press CLI
先決條件:安裝 CLI
此技能驅動 greatclips-pp-cli 二進位檔。在執行此技能的任何命令之前,您必須確認 CLI 已安裝。 如果缺少,請先安裝:
- 透過 Printing Press 安裝程式進行安裝。它在 macOS/Linux 上預設將二進位檔安裝到
$HOME/.local/bin,在 Windows 上安裝到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install greatclips --cli-only - 驗證:
greatclips-pp-cli --version - 確保回報的安裝目錄存在於將呼叫此技能的代理程式/執行環境的
$PATH環境變數中。
如果 npx 安裝失敗(無 Node.js、離線等),請改用直接 Go 安裝(需要 Go 1.26.6 或更新版本):
go install github.com/mvanhorn/printing-press-library/library/other/greatclips/cmd/greatclips-pp-cli@latest
如果安裝後 --version 回報「找不到命令」,表示執行環境無法在 $PATH 中找到二進位檔目錄。在驗證成功之前,請勿繼續執行此技能的命令。
何時使用此 CLI
使用此 CLI 可從命令列發送 Great Clips 線上報到 SPA 發送的確切 HTTP 請求,並支援 --dry-run 和 --json 輸出。v0.1 版本提供每個端點的請求格式,讓代理程式可以在其上建構流程;實際呼叫需要從已登入的 Chrome 工作階段手動擷取 Cookie。
HTTP 傳輸
此 CLI 針對瀏覽器端端點使用 Chrome 相容的 HTTP 傳輸。進行一般 API 呼叫時不需要常駐的瀏覽器程序。
探索訊號
此 CLI 是根據瀏覽器觀測到的流量上下文所產生。
- 捕獲範圍:22 個網路項目中的 9 個 API 項目
- 通訊協定:(0% 信心度),(0% 信心度),(0% 信心度)
- 產生的提示:雙主機單一驗證:產生一個 bearer token 客戶端,同時處理 webservices.greatclips.com 和 www.stylewaretouch.net。,`POST /api/store/waitTime
接收一個包含{storeNumber}物件的 JSON 陣列,而非單一物件。單一沙龍呼叫會發送長度為 1 的陣列。,驗證資訊透過登入 Chrome 工作階段的 Claude-in-Chrome MCP 即時捕獲;產生的 CLI 應提供一個auth login --chrome` 輔助命令以進行等效流程。
命令參考
cancel — 取消您的有效報到
greatclips-pp-cli cancel— 取消此帳號的有效報到
checkin — 為您自己及同行者(1-5 人)提交報到
greatclips-pp-cli checkin— 將您自己及可選的其他同行者加入沙龍等候清單
customer — 讀取您的 Great Clips 客戶資料(姓名、電話、常用設定、近期到訪記錄)
greatclips-pp-cli customer— 取得已驗證客戶的個人資料
geo — 將郵遞區號或城市名稱解析為經緯度
greatclips-pp-cli geo— 將郵遞區號解析為緯度/經度/城市/州
hours — 讀取沙龍營業時間(今日起算,含特殊營業時間的 14 天預測)
greatclips-pp-cli hours— 取得一個沙龍的 14 天營業時間預測
salons — 搜尋及查詢 Great Clips 沙龍
greatclips-pp-cli salons get— 依沙龍編號取得單一沙龍greatclips-pp-cli salons search— 依郵遞區號、城市或指定半徑內的座標搜尋沙龍
status — 檢查您目前在有效報到隊伍中的位置
greatclips-pp-cli status— 取得您的有效報到狀態(隊伍位置、預估等候時間)
wait — 從 ICS Net Check-In 服務讀取預估等候時間
greatclips-pp-cli wait— 取得一個沙龍的等候時間(請求主體為包含單一{storeNumber}物件的陣列)
尋找正確的命令
當您知道想做什麼,但不確定哪個命令能達成時,可以直接詢問 CLI:
greatclips-pp-cli which "<以您自己的話描述的功能>"
which 會將自然語言的功能查詢解析為此 CLI 精選功能索引中最匹配的命令。結束代碼 0 表示至少有一個匹配;結束代碼 2 表示沒有確定的匹配 — 請改用 --help 或使用更具體的字詞進行查詢。
實用範例
四人同行報到請求主體
greatclips-pp-cli checkin --first-name Matt --last-name VanHorn --phone-number '(206) 555-0100' --salon-number 8991 --guests 4 --dry-run --json
輸出 POST 到 www.stylewaretouch.net/api/customer/checkIn,用於 Island Square 四人同行的確切 JSON 請求主體。
沙龍等候時間請求
greatclips-pp-cli wait --store-number 8991 --dry-run --json
ICS Net Check-In 的 waitTime 端點請求格式。
依郵遞區號搜尋附近沙龍
greatclips-pp-cli salons search --term 98040 --radius 5 --dry-run --json
半徑 5 英里的 salon-search/term 端點請求格式。
14 天營業時間預測
greatclips-pp-cli hours --salon 8991 --dry-run
呼叫一個沙龍的 salon-hours/upcoming;回應包含特殊營業時間和節假日休息資訊。
地理編碼郵遞區號
greatclips-pp-cli geo --query 98040 --dry-run --json --select results.city,results.state,results.lat,results.lng
透過 geo-names 端點將郵遞區號解析為緯度/經度/城市/州。
驗證設定
Great Clips 使用來自 cid.greatclips.com 的 Auth0 租戶的 HttpOnly 工作階段 Cookie。瀏覽器嗅探確認所有呼叫皆透過瀏覽器附加的 Cookie 成功,而非透過 Authorization 標頭。此 CLI 的 v0.1 版本提供請求格式與主機路由;要進行實際呼叫,請將已登入 Chrome 工作階段的 Cookie 貼入 ~/.config/greatclips-pp-cli/config.toml。將 GREATCLIPS_TOKEN 設定為任何佔位值,以便通過 doctor 檢查(保留此環境變數是為了 v0.2 可能加入 bearer 支援)。
執行 greatclips-pp-cli doctor 以驗證設定。
代理模式
在任何命令後加上 --agent。展開為:--json --compact --no-input --no-color --yes。
-
可管線化 — JSON 輸出至標準輸出,錯誤輸出至標準錯誤
-
可過濾 —
--select保留欄位的子集合。點分隔路徑會深入巢狀結構;陣列會逐項展開。對於在資訊量大的 API 上保持上下文精簡至關重要:greatclips-pp-cli salons get --num example-value --agent --select id,name,status -
可預覽 —
--dry-run顯示請求而不實際發送 -
非互動式 — 永不提示,所有輸入皆為旗標
-
明確重試 — 僅在已存在的建立操作應視為成功時使用
--idempotent
代理反饋
當您(或代理程式)發現此 CLI 有任何異常時,請記錄下來:
greatclips-pp-cli feedback "--since 旗標是包含性的,但文件說是非包含性的"
greatclips-pp-cli feedback --stdin < notes.txt
greatclips-pp-cli feedback list --json --limit 10
記錄會儲存在本機的 ~/.greatclips-pp-cli/feedback.jsonl。除非設定了 GREATCLIPS_FEEDBACK_ENDPOINT 並且傳遞了 --send 或設定了 GREATCLIPS_FEEDBACK_AUTO_SEND=true,否則永遠不會被 POST。預設行為僅限本機。
請寫下讓您感到意外的事情,而非錯誤報告。簡短、具體、一行:這才是能夠累積產生價值的部分。
輸出傳遞
每個命令都接受 --deliver <sink>。輸出會傳送到指定的接收端,作為標準輸出的補充或替代,以便代理程式可以路由命令結果而無需手動管線化。支援三種接收端:
| 接收端 | 效果 |
|---|---|
stdout | 預設;僅輸出到標準輸出 |
file:<path> | 原子性地將輸出寫入 <path>(暫存檔 + 重新命名) |
webhook:<url> | 將輸出內容 POST 到該 URL(當使用 --compact 時,內容類型為 application/json 或 application/x-ndjson) |
不支援的配置會被拒絕,並回傳包含支援集合的結構化錯誤。Webhook 失敗會回傳非零結束代碼,並在標準錯誤輸出記錄 URL 和 HTTP 狀態。
命名設定檔
設定檔是一組已儲存的旗標值,可在多次調用中重複使用。當排程代理程式每次執行都使用相同配置呼叫相同命令時使用 — 例如 HeyGen 的「Beacon」模式。
greatclips-pp-cli profile save briefing --json
greatclips-pp-cli --profile briefing salons get --num example-value
greatclips-pp-cli profile list --json
greatclips-pp-cli profile show briefing
greatclips-pp-cli profile delete briefing --yes
明確的旗標值優先於設定檔的值;設定檔的值優先於預設值。agent-context 會列出 available_profiles 下的所有可用設定檔,以便內省代理程式在執行階段發現它們。
結束代碼
| 代碼 | 意義 |
|---|---|
| 0 | 成功 |
| 2 | 使用錯誤(參數錯誤) |
| 3 | 找不到資源 |
| 4 | 需要驗證 |
| 5 | API 錯誤(上游問題) |
| 7 | 達到速率限制(請等待後重試) |
| 10 | 配置錯誤 |
參數解析
解析 $ARGUMENTS:
- 空值、
help或--help→ 顯示greatclips-pp-cli --help輸出 - 以
install開頭 → 結尾為mcp→ MCP 安裝;否則 → 請參閱上方先決條件 - 其他任何情況 → 直接使用(以 CLI 命令形式執行,並加上
--agent)
MCP 伺服器安裝
從此 CLI 的已發布公共函式庫項目或預先建置的發行版本安裝 MCP 二進位檔,然後註冊:
claude mcp add greatclips-pp-mcp -- greatclips-pp-mcp
驗證:claude mcp list
直接使用
- 檢查是否已安裝:
which greatclips-pp-cli如果找不到,提議進行安裝(請參閱此技能頂部的先決條件)。 - 將使用者的查詢與上方獨特功能和命令參考中最匹配的命令進行配對。
- 使用
--agent旗標執行:greatclips-pp-cli <command> [subcommand] [args] --agent - 如果不明確,請深入查詢子命令的說明:
greatclips-pp-cli <command> --help。