OpenClaw 1Password CLI 技能指南
透過 1Password CLI(op)安全讀取金鑰。
最後更新: 2026-03-04
快速安裝
$ npx clawhub@latest install 1password核心功能
OpenClaw 1Password CLI 技能概述
1Password CLI 技能透過官方 1Password CLI (op) 將 OpenClaw 連接到你的 1Password 保管庫。安裝後,你的 OpenClaw 智慧體可以讀取金鑰、將憑證注入設定檔,以及使用金鑰作為環境變數執行程序——全部透過自然語言命令完成。無需再從 1Password 應用程式中複製貼上權杖。
金鑰管理是任何開發工作流程的關鍵環節。OpenClaw 1Password 技能消除了在明文設定檔中儲存 API 金鑰、資料庫密碼或服務權杖的需求。你只需讓 OpenClaw 取得所需內容,智慧體就會在執行時從保管庫中安全擷取。
典型工作流程:
- 讓 OpenClaw 將資料庫憑證注入
.env檔案。 - 智慧體執行
op inject,用實際值取代金鑰參照。 - 憑證對應用程式可用——從不以明文寫入磁碟。
該技能為所有 op 命令強制執行 tmux 工作流程,確保持久的身份驗證工作階段,防止自動化操作中的 TTY 故障。它支援桌面應用程式整合(生物辨識解鎖)和用於 CI/CD 管線的服務帳戶權杖。
1Password CLI 技能安裝前的準備
安裝 1Password CLI 技能之前,請確保你具備以下條件:
- OpenClaw 已安裝並執行(v1.0+)
- 1Password CLI (op) 已安裝——官方安裝指南
- 一個 1Password 帳戶(個人、家庭、團隊或企業版)
- tmux 已安裝,用於可靠的 CLI 工作階段
- clawhub CLI 已安裝用於技能管理——透過 clawhub 安裝
驗證你的環境:
# 檢查 OpenClaw 版本 openclaw --version # 檢查 1Password CLI 版本 op --version # 驗證 tmux 可用 tmux -V # 檢查 1Password 身份驗證狀態 op whoami
如何安裝 1Password CLI 技能
使用一條命令安裝 1Password CLI 技能:
npx clawhub@latest install 1password
驗證安裝:
clawhub list
你應該能在已安裝技能列表中看到 1password。該技能維護在官方 OpenClaw skills 儲存庫中,並發布在 ClawHub 上。
1Password CLI 技能設定指南
該技能需要與你的 1Password 帳戶進行身份驗證。根據你的環境,有三種方法。
方法 1:桌面應用程式整合(建議用於開發環境)
啟用生物辨識解鎖,讓 CLI 透過 1Password 桌面應用程式進行身份驗證:
# 啟用桌面應用程式整合 op signin
出現提示時,在 1Password 桌面應用程式中批准登入請求。此方法使用生物辨識驗證(Touch ID、Windows Hello),不需要長期有效的權杖。
方法 2:服務帳戶權杖(建議用於 CI/CD)
# 設定服務帳戶權杖 export OP_SERVICE_ACCOUNT_TOKEN=ops_your-service-account-token
服務帳戶提供對特定保管庫的有範圍、非互動式存取。在 my.1password.com 的 Developer → Service Accounts 下建立。
方法 3:Connect 伺服器(用於自託管基礎設施)
# 設定 Connect 伺服器憑證 export OP_CONNECT_HOST=https://your-connect-server:8080 export OP_CONNECT_TOKEN=your-connect-token
關鍵環境變數
| 變數 | 用途 |
|------|------|
| OP_SERVICE_ACCOUNT_TOKEN | 使用服務帳戶進行身份驗證 |
| OP_CONNECT_HOST | Connect 伺服器 URL |
| OP_CONNECT_TOKEN | Connect 伺服器存取權杖 |
| OP_ACCOUNT | 多帳戶設定的預設帳戶 |
| OP_BIOMETRIC_UNLOCK_ENABLED | 切換桌面應用程式整合 |
重要提示: 切勿將權杖硬編碼到設定檔中。使用環境變數或透過 CI/CD 平台的金鑰存儲注入。查看安全檢查清單了解更多安全指導。
1Password CLI 技能使用範例
1. 執行時讀取金鑰
你: "從 Production 保管庫取得 Stripe API 金鑰。"
智慧體執行 op read "op://Production/Stripe API/credential" 並回傳金鑰值。金鑰可立即使用,不會儲存在任何檔案中。
2. 將金鑰注入設定檔
你: "將所有金鑰注入我的
.env.template檔案並儲存為.env。"
智慧體使用 op inject -i .env.template -o .env 將 op://Vault/Item/field 等金鑰參照取代為實際值。範本檔案可安全提交到版本控制;輸出檔案包含真實憑證。
3. 使用注入的金鑰執行程序
你: "使用 1Password 中的正式環境資料庫 URL 執行資料庫遷移腳本。"
智慧體執行 op run --env-file .env -- npm run migrate,在程序持續期間將金鑰作為環境變數注入。程序結束後,金鑰不再駐留在記憶體中。
4. 列出和搜尋保管庫項目
你: "顯示 Development 保管庫中的所有 API 金鑰。"
智慧體執行 op item list --vault Development --tags api-key 並回傳格式化的符合項目列表,包含名稱、類別和最後修改日期。
安全與最佳實踐
1Password 技能可存取你最敏感的憑證。請遵循以下指南確保安全:
- 最小權限原則。 授予保管庫層級的存取權限而非完整帳戶存取。服務帳戶應僅能查看其所需的保管庫。
- 優先使用
op run和op inject而非op read。 這些命令使金鑰保持短暫性——它們永遠不會被寫入磁碟或儲存在 shell 歷史記錄中。 - 切勿將金鑰貼上到日誌、聊天或程式碼中。 該技能旨在將金鑰直接注入程序,繞過剪貼簿和終端輸出。
- 自動化使用服務帳戶。 避免在 CI/CD 管線中使用個人帳戶。服務帳戶提供有範圍、可稽核的存取。
- 定期輪換服務帳戶權杖。 建立權杖時設定到期日期,至少每 90 天輪換一次。
- 在 tmux 中執行
op命令。 該技能強制執行基於 tmux 的工作流程,以防止長時間操作中的 TTY 故障和工作階段中斷。
1Password CLI 技能常見錯誤與故障排除
"account is not signed in"
你的 1Password 工作階段已過期或從未建立。
# 透過桌面應用程式重新驗證 op signin # 驗證工作階段 op whoami
如果使用服務帳戶,請驗證 OP_SERVICE_ACCOUNT_TOKEN 是否正確設定且未過期。
"could not find item"
請求的項目在指定的保管庫中不存在,或你的帳戶缺少存取權限。
- 使用
op item list --vault "保管庫名稱"檢查項目名稱和保管庫。 - 驗證你的帳戶是否有保管庫的讀取權限。
- 對於服務帳戶,確認保管庫已包含在帳戶的存取原則中。
"tmux not found" 或 TTY 錯誤
1Password CLI 互動式登入需要 TTY。該技能使用 tmux 來維持持久工作階段。
# 安裝 tmux # macOS brew install tmux # Ubuntu / Debian sudo apt install tmux
安裝 tmux 後,在執行 op signin 之前使用 tmux new -s op-session 啟動新工作階段。
常見問題
是的,正確設定範圍後是安全的。建議的做法是使用**服務帳戶**,僅對特定保管庫授予唯讀存取權限,而非授予完整帳戶存取。OpenClaw 遵循確認模型——保管庫操作在執行前需要你的批准。結合 1Password 的稽核日誌,每次金鑰存取都是可追蹤和可撤銷的。
可以。1Password CLI 支援多帳戶工作流程。設定 `OP_ACCOUNT` 環境變數指定預設帳戶,或對每個命令使用 `--account` 旗標。當你參照不同帳戶中不同保管庫的項目時,技能會自動處理帳戶切換。
兩者都提供金鑰管理,但連接到不同的平台。[1Password 技能](/skills/1password)使用 `op` CLI,支援桌面應用程式整合、生物辨識解鎖和服務帳戶。[Bitwarden](/skills/bitwarden) 技能則非常適合使用 Vaultwarden 的自託管團隊。選擇與你團隊現有密碼管理器匹配的技能。兩者都支援執行時金鑰注入,遵循相同的零明文理念。
相關技能
透過 Bitwarden/Vaultwarden CLI 和 API 安全讀取金鑰。
掃描倉庫中的硬編碼金鑰(涵蓋 500+ 種金鑰類型)。
為工具呼叫與高風險操作加安全護欄。