Gateway
1Password
OpenClaw तीन स्वतंत्र तरीकों से 1Password के साथ जुड़ता है:
- कॉन्फ़िगरेशन सीक्रेट:
openclaw.jsonमें कोई भी SecretRef फ़ील्ड रनटाइम परopCLI के माध्यम से समाधान कर सकता है, इसलिए API कुंजियाँ कभी भी कॉन्फ़िगरेशन फ़ाइल में नहीं रहतीं। - एजेंट कार्यप्रवाह: बंडल किया गया
1passwordकौशल एजेंटों को अपने कार्यों के लिएopसे साइन इन करना और सीक्रेट पढ़ना या इंजेक्ट करना सिखाता है। - ब्राउज़र साइन-इन:
claude-cliबैकएंड 1Password for Claude के साथ Claude Code के Chrome एकीकरण का उपयोग कर सकता है, जिससे एजेंट वेबसाइटों में साइन इन कर सकता है और पासवर्ड कभी भी मॉडल या OpenClaw तक नहीं पहुँचता।
आवश्यकताएँ
- Gateway होस्ट पर 1Password CLI (
op) इंस्टॉल हो (macOS परbrew install 1password-cli)। opके लिए प्रमाणीकरण मोड:- सर्विस अकाउंट (हेडलेस Gateway के लिए अनुशंसित): Gateway सेवा परिवेश में
OP_SERVICE_ACCOUNT_TOKENएक्सपोर्ट करें। किसी डेस्कटॉप ऐप या इंटरैक्टिव साइन-इन की आवश्यकता नहीं है। - डेस्कटॉप ऐप एकीकरण: 1Password ऐप उसी मशीन पर चलता हो और CLI एकीकरण सक्षम हो। शुरुआती कॉल Touch ID या सिस्टम प्रमाणीकरण शुरू कर सकती हैं।
- स्टैंडअलोन साइन-इन:
op signinप्रत्येक सत्र में संकेत देता है। यह कौशल के माध्यम से एजेंटों के लिए उपयोगी है, लेकिन हेडलेस Gateway पर कॉन्फ़िगरेशन सीक्रेट समाधान के लिए उपयुक्त नहीं है।
- सर्विस अकाउंट (हेडलेस Gateway के लिए अनुशंसित): Gateway सेवा परिवेश में
op से कॉन्फ़िगरेशन सीक्रेट का समाधान करें
एक exec सीक्रेट प्रदाता घोषित करें, जो op://vault/item/field संदर्भ के साथ op read चलाता हो, फिर किसी भी SecretRef-सक्षम फ़ील्ड को उसकी ओर इंगित करें:
{ secrets: { providers: { onepassword_openai: { source: "exec", command: "/opt/homebrew/bin/op", allowSymlinkCommand: true, // Homebrew के सिमलिंक किए गए बाइनरी के लिए आवश्यक trustedDirs: ["/opt/homebrew"], args: ["read", "op://Personal/OpenClaw QA API Key/password"], passEnv: ["HOME"], jsonOnly: false, }, }, }, models: { providers: { openai: { baseUrl: "https://api.openai.com/v1", models: [{ id: "gpt-5", name: "gpt-5" }], apiKey: { source: "exec", provider: "onepassword_openai", id: "value" }, }, }, },}इन भागों का परस्पर संबंध:
commandएक निरपेक्ष पथ होना चाहिए;trustedDirsउसकी डायरेक्टरी को विश्वसनीय चिह्नित करता है, औरallowSymlinkCommandआवश्यक है क्योंकि Homebrewopको सिमलिंक के रूप में इंस्टॉल करता है।argsमेंop://vault/item/fieldसंदर्भ ज्यों का त्यों होता है। OpenClaw स्वयंop://स्कीम को पार्स नहीं करता;opबाइनरी उसका समाधान करता है।passEnvसूचीबद्ध वेरिएबल को Gateway परिवेश से अग्रेषित करता है। डेस्कटॉप ऐप एकीकरण कोHOMEकी आवश्यकता होती है; सर्विस अकाउंट के लिए Gateway सेवा परिवेश मेंOP_SERVICE_ACCOUNT_TOKENका मौजूद होना भी आवश्यक है (इसेpassEnvमें जोड़ें, याenvके माध्यम से केवल तभी सेट करें जब कॉन्फ़िगरेशन फ़ाइल में टोकन का पढ़ा जा सकना आपको स्वीकार्य हो)।- एकल-मूल्य आउटपुट के लिए
id: "value"बनाए रखें।jsonOnly: trueऔर JSON पेलोड के साथ, इसके बजाय JSON पॉइंटर आईडी से फ़ील्ड को संबोधित करें। - प्रत्येक सीक्रेट के लिए एक प्रदाता प्रविष्टि होने से संदर्भों का ऑडिट किया जा सकता है; प्रदाताओं को उनके उपभोक्ता के नाम पर रखें (
onepassword_openai,onepassword_telegram)।
समाधान क्रम, कैशिंग और विफलता व्यवहार के लिए Gateway सीक्रेट, और SecretRefs स्वीकार करने वाले प्रत्येक फ़ील्ड के लिए SecretRef क्रेडेंशियल सतह देखें।
हेडलेस Gateway के लिए सर्विस अकाउंट सेटअप
- अपने 1Password अकाउंट में सर्विस अकाउंट बनाएँ और उसे केवल उन वॉल्ट आइटम का पठन एक्सेस दें जिनकी Gateway को आवश्यकता है।
- Gateway सेवा (launchd plist, systemd यूनिट या कंटेनर env) को
OP_SERVICE_ACCOUNT_TOKENप्रदान करें। - प्रदाता की
passEnvसूची में"OP_SERVICE_ACCOUNT_TOKEN"जोड़ें। - Gateway होस्ट परिवेश से सत्यापित करें:
op whoamiको संकेत दिए बिना सर्विस अकाउंट प्रिंट करना चाहिए।
सर्विस अकाउंट से पढ़ने के लिए op:// संदर्भ में वॉल्ट का नाम स्पष्ट रूप से देना आवश्यक है। अकाउंट का दायरा सीमित रखें; यह एक बेयरर क्रेडेंशियल है।
एजेंटों के लिए 1password कौशल
OpenClaw एक 1password कौशल बंडल करता है, जो एजेंटों को सक्षम op ऑपरेटर बनाता है: यह उपलब्ध प्रमाणीकरण मोड (सर्विस अकाउंट, डेस्कटॉप ऐप एकीकरण या स्टैंडअलोन साइन-इन) का पता लगाता है, कुछ भी पढ़ने से पहले op whoami से एक्सेस सत्यापित करता है और सीक्रेट मानों को डिस्क पर लिखने के बजाय op run / op inject को प्राथमिकता देता है। कौशल को op बाइनरी की आवश्यकता होती है और वह उपलब्ध न होने पर Homebrew इंस्टॉलेशन का विकल्प देता है।
एजेंट इसे अपने कार्यप्रवाहों के लिए उपयोग करते हैं, उदाहरण के लिए कार्य के बीच में डिप्लॉय टोकन पढ़ना या किसी कमांड में env वेरिएबल इंजेक्ट करना। यह कॉन्फ़िगरेशन सीक्रेट समाधान से स्वतंत्र है; Gateway किसी कौशल की भागीदारी के बिना SecretRefs का समाधान करता है।
1Password for Claude से ब्राउज़र साइन-इन
1Password for Claude Claude को लॉगिन का अनुरोध करने देता है, जबकि 1Password ब्राउज़र एक्सटेंशन एन्क्रिप्टेड चैनल से क्रेडेंशियल को सीधे पृष्ठ में भरता है। सीक्रेट कभी भी मॉडल संदर्भ, ट्रांसक्रिप्ट या OpenClaw में प्रवेश नहीं करता। जब OpenClaw Claude Code का Chrome एकीकरण सक्षम करके claude-cli बैकएंड चलाता है, तो एजेंट कार्य इस प्रवाह का उपयोग उन वेबसाइटों के लिए कर सकते हैं जिन्हें वास्तविक साइन-इन सत्र की आवश्यकता होती है।
बैकएंड के अतिरिक्त इसके लिए आवश्यक चीज़ें:
- Chrome वाला macOS Gateway होस्ट, कनेक्ट किया गया Claude in Chrome extension, 1Password डेस्कटॉप ऐप और 1Password ब्राउज़र एक्सटेंशन (दोनों 8.12.28 या उसके बाद के संस्करण)।
- Claude Code किसी प्रत्यक्ष Anthropic प्लान (Pro, Max, Team या Enterprise) में साइन इन हो। Chrome एकीकरण Amazon Bedrock, Google Cloud या अन्य तृतीय-पक्ष प्रदाताओं के माध्यम से उपलब्ध नहीं है।
- Anthropic की ओर एक बार किया जाने वाला 1Password कनेक्शन: 1Password for Claude को 1Password की मार्गदर्शिका में वर्णित Claude डेस्कटॉप ऐप या एक्सटेंशन प्रवाह के माध्यम से सेट अप किया जाता है, और यह वर्तमान में macOS बीटा है। 1Password Business में, किसी एडमिनिस्ट्रेटर को पहले Policies के अंतर्गत "Allow AI agents to autofill for users" सक्षम करना होगा; Anthropic Team/Enterprise प्लान में भी एकीकरण तब तक बंद रहता है जब तक कोई Owner उसे सक्षम नहीं करता।
- एक CLI बैकएंड Plugin, जो Claude लॉन्च आर्ग्युमेंट में
--chromeजोड़ता हो; बंडल किया गया बैकएंड Chrome को सक्षम नहीं करता। - Gateway होस्ट पर एक व्यक्ति: क्रेडेंशियल के प्रत्येक उपयोग पर वहाँ पुष्टि किया जाने वाला 1Password संकेत दिखाई देता है (उदाहरण के लिए Touch ID से)। प्रतिबंधात्मक exec नीति के अंतर्गत, ब्राउज़र टूल कॉल भी पहले OpenClaw अनुमोदन के रूप में आपके चैनल पर रिले की जाती हैं।
इसे OpenClaw से जोड़ने से पहले, Gateway होस्ट पर किसी इंटरैक्टिव सत्र में सभी भागों को सत्यापित करें: claude --chrome चलाएँ, पुष्टि करें कि एक्सटेंशन कनेक्ट होता है और जाँचें कि claude-in-chrome टूल में क्रेडेंशियल टूल शामिल हैं। यदि वे वहाँ दिखाई नहीं देते, तो वे OpenClaw के माध्यम से भी दिखाई नहीं देंगे।
वन-टाइम पासकोड उसी पृष्ठ पर 1Password द्वारा भरे जाते हैं; सत्यापन कोड या पासवर्ड कभी भी चैट के माध्यम से रिले न करें। हेडलेस या रिमोट Gateway वर्तमान में इस प्रवाह का उपयोग नहीं कर सकते, क्योंकि अनुमोदन और ब्राउज़र दोनों Gateway होस्ट पर रहते हैं।
सुरक्षा संबंधी टिप्पणियाँ
- exec प्रदाताओं के माध्यम से समाधान किए गए सीक्रेट मान Gateway मेमोरी में रहते हैं; कॉन्फ़िगरेशन स्नैपशॉट और
config.getप्रतिक्रियाएँ SecretRef फ़ील्ड को संपादित करके छिपाती हैं। - सीक्रेट मान कभी भी
openclaw.json, लॉग या चैट में न रखें। कॉन्फ़िगरेशन में आइटम के नाम और 1Password में मान रखें। - 1Password ऑडिट ट्रेल प्रत्येक सर्विस अकाउंट पठन दिखाता है, जिससे कुंजी रोटेशन और घटना समीक्षा व्यावहारिक हो जाती है।
समस्या निवारण
command not foundया स्पॉन त्रुटियाँ: निरपेक्षopपथ का उपयोग करें और उसकी डायरेक्टरी कोtrustedDirsमें शामिल करें।opका समाधान हो जाता है, लेकिन सिमलिंक त्रुटियों के कारण पठन विफल होता है: Homebrew इंस्टॉलेशन के लिएallowSymlinkCommand: trueसेट करें।account is not signed in: सर्विस अकाउंट के लिए पुष्टि करें किOP_SERVICE_ACCOUNT_TOKENGateway सेवा तक पहुँचता है औरpassEnvमें सूचीबद्ध है; डेस्कटॉप एकीकरण के लिए पुष्टि करें कि ऐप चल रहा है और अनलॉक है।- धीमे शुरुआती पठन: प्रदाता पर
timeoutMsबढ़ाएँ; व्यस्त होस्ट परopकोल्ड स्टार्ट सख्त टाइमआउट से अधिक समय ले सकते हैं।