QRCode Scanner:沒有網路時的 Copy & Paste
維運現場的克難時間
遠端協作的維運場景,現場和遠端各有分工:現場人員把設備準備好、網路接通,遠端才能進來送指令、看 log、實際處理問題。整個流程大概長這樣:
物理環境檢查(電源、線路、硬體)
→ ... 很多步 ...
→ 切換 device admin(動態輪換密碼,臨時查)
→ 執行操作 / 修通網路
→ 修通:遠端協作接手,進行軟體設定
→ 沒修通:裝置回收
從物理環境到網路接通的這段,是現場人員的克難時間——資源不齊、靠手動把前置作業一步步做完。這段過程裡有痛點,網路接通、遠端接手之後也還有。
動態密碼,查了還要打對
第一關是切換 device admin。裝置平常跑在 service 一般帳號下,要做系統層級的操作得先切換,而 admin 密碼是自動輪換的,每次都要臨時查才知道。
這類密碼幾乎都夾著一堆特殊字元,大小寫混、@、!、# 全都有。SOP 小抄裡這一格只能寫佔位符,每次要用時才去查實際值、再打進去。打錯了就得仔細比對、重試,直到通過驗證為止。
網路通了,還有一串指令要輸入
網路修通、遠端接手之後,軟體設定的部分才開始。
以 pt-1 這個遠端 Windows 協作工具為例,每次建立連線都用臨時的隨機 UUID 當密鑰。pt1 quickstart 產出的安裝指令大概長這樣:
iwr "https://pt1-app.example.io/win_agent.ps1" -UseBasicParsing -Headers @{"X-API-Token"="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"} | iex
這串指令得完整打進現場的 Windows PowerShell 裡。如果維運過程需要重開機,連線斷掉、UUID 換一組,就得再打一次。跟動態密碼比起來,這是更長、更容易出錯的輸入。
QRCode Scanner 接上就是鍵盤
如果有辦法跨裝置共享剪貼簿,這兩個問題根本不存在。Mac 裝置之間有 Universal Clipboard 可以做到類似的事,但那需要登入同一個帳號,現場的 Windows 機器沒這個選項。
換個方向:QRCode Scanner 接上現場機器,對作業系統來說就是一個鍵盤。把要輸入的內容在遠端的 terminal 產成 QR code,現場人員拿 Scanner 對著螢幕掃一下,內容直接「打」進游標位置,不需要手動輸入。
在 Claude Code 裡加了一個 qrcode skill,直接在 terminal 產 QR code:
uv run --with qrcode scripts/gen_qrcode.py "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
也支援 pipe 語法,把前一個指令的輸出直接轉成 QR code:
pt1 quickstart my-dev-pc | qrcode
實際跑起來長這樣——Claude 把 pt-1 的連線指令組好、產成 QR code,下方是指令本身的示範:

重新檢視流程,持續改善
加這組 skill 的起點,是重新看了一遍維運 flow 裡哪些地方在摩耗人力:動態密碼要手打、長指令要手打、重開機後又要來一次。這些不是大問題,但每次都在消耗現場人員的耐心和注意力。
解法本身不複雜,qrcode 這個 Python library 幾行就能搞定。包成 skill 是為了讓 Claude 在對的時機自己判斷要不要產 QR code,不需要每次手動觸發。
目前是單向的:遠端產 QR code,現場 Scanner 讀進去。下一個可以想的方向是反過來——現場機器在沒有外連網路的情況下,把資料以 QR code 的形式顯示出來,遠端用 Scanner 接收。流程裡還有哪些摩耗點,就繼續找、繼續補。
「Scanner 接上就是鍵盤」這個想法,最初是從一則 CrowdStrike 事件的現場處置報導得到的靈感。
2024 年 CrowdStrike 更新造成大量 Windows 機器 BSOD,每台都需要手動輸入 48 位元的 BitLocker 復原金鑰才能進入系統。Grant Thornton Australia 的工程師意識到 barcode scanner 對 Windows 來說就是一個鍵盤輸入裝置,於是花 AU$55 買了一台,把復原金鑰印成條碼、掃進去取代手打。隨著需要處理的機器數量增加,又跑去辦公用品店多買了幾台,一路撐過那次大規模復原作業。
來源:The Register — CrowdStrike remediation with barcode scanner