चैट और सहायक गेटवे (2) — Hermes (Slack, Telegram, cron), OpenClaw (स्व-होस्टेड सहायक)
एक ही नीतियां और एक ही सत्र इतिहास लागू होते हैं, चाहे एजेंट किसी भी हार्नेस में चले। एक एडेप्टर परत प्रत्येक हार्नेस के मूल ईवेंट नामों, टूल नामों और टूल-इनपुट फ़ील्ड को किसी भी नीति के चलने से पहले 29 कैनोनिकल ईवेंट में मैप करती है।एक एजेंट जो बारह में से किसी में भी नहीं चलता है, Python SDK के साथ सीधे इंस्ट्रुमेंट किया जाता है। यह एक अलग अनुबंध है, और स्पष्ट रूप से कहने लायक है: SDK ट्रेसिंग, सत्र, मूल्यांकन और ऑडिट प्रदान करता है — यह स्वयं नीतियां लागू नहीं करता। किसी असुरक्षित कार्रवाई को निष्पादन से पहले ब्लॉक करने के लिए आपके रनटाइम की टूल सीमा पर एक प्रवर्तन हुक की आवश्यकता है; हमसे संपर्क करें और हम इसे मैप करेंगे।
हार्नेस
समर्थित हुक स्कोप
Claude Code
User, project, local
Codex, GitHub Copilot CLI, Cursor, OpenCode, Pi
User, project
Factory Droid, Devin CLI, Antigravity CLI, Goose
User, project
Hermes, OpenClaw
User
प्रत्येक इंटीग्रेशन नीतियों के चलने से पहले अपने मूल हुक ईवेंट नामों, टूल नामों और टूल-इनपुट फ़ील्ड को सामान्य करता है। एक नीति केवल उन ईवेंट पर कार्य कर सकती है जो हार्नेस उजागर करता है; सटीक हार्नेस और संस्करण पर अंत-मोड़ और निर्देश व्यवहार का परीक्षण करें जो आप तैनात करते हैं।
“ब्लॉक” का अर्थ है कि वर्तमान एडेप्टर की वापसी की गई राय को नामित हार्नेस द्वारा सेवन किया जाता है। पोस्ट-टूल ब्लॉकिंग मॉडल को दिखाया गया परिणाम बदल सकती है लेकिन ऐसी टूल साइड इफेक्ट को पूर्ववत नहीं कर सकती जो पहले से हो चुकी है।
हार्नेस
सत्यापित ब्लॉकिंग ईवेंट
केवल देखना या गैर-ब्लॉकिंग सावधानियां
Claude Code
PreToolUse, UserPromptSubmit, PermissionRequest, Stop, SubagentStop, PreCompact, और कई कार्य/कॉन्फ़िग ईवेंट
PostToolUse, सत्र जीवनचक्र, सूचनाएं, और पोस्ट-विफलता ईवेंट अवलोकनीय हैं।
अनुमति हुक हर अनुमति मोड में नहीं चलते; पोस्ट-टूल और सत्र ईवेंट अवलोकनीय हैं।
Antigravity CLI
PreToolUse, Stop
उपयोगकर्ता-प्रॉम्प्ट और पोस्ट-टूल निर्णय अवलोकनीय हैं; प्रॉम्प्ट निर्देश अभी भी इंजेक्ट किए जा सकते हैं।
Goose
PreToolUse
उपयोगकर्ता-प्रॉम्प्ट, पोस्ट-टूल, और सत्र ईवेंट अवलोकनीय हैं। एक मूल ब्लॉकिंग स्टॉप हुक अपस्ट्रीम में मौजूद है लेकिन वर्तमान एडेप्टर द्वारा स्थापित नहीं है।
क्षमताएं संस्करण-संवेदनशील हैं। एजेंट CLI को अपग्रेड करने के बाद पुनः परीक्षण करें, विशेष रूप से जब कोई नीति प्रॉम्प्ट, स्टॉप, अनुमति, या पोस्ट-टूल व्यवहार पर निर्भर करती है, न कि सामान्य प्री-टूल गेट पर।
Administration → Keys खोलें और events:add और policies:pull के साथ एक कुंजी बनाएं, मशीन या वातावरण के लिए नामित।
लक्ष्य मशीन पर, स्थानीय CLI को प्रदर्शित कुंजी के साथ कनेक्ट करें और हार्नेस हुक स्थापित करें।
एक नया एजेंट सत्र शुरू करें, फिर Observe → Events के तहत इसके हुक और सत्र ईवेंट की पुष्टि करें।
समान समय विंडो के लिए Observe → policy खोलें और पुष्टि करें कि एक नीति निर्णय मशीन को जिम्मेदार है।
कनेक्शन एक मशीन कुंजी के साथ शुरू होता है। पुष्टि करें कि इसमें अपनी गुप्त को कॉपी करने से पहले इनजेशन और नीति-वितरण दोनों अनुमतियां शामिल हैं।हुक स्थापित करने के बाद, ईवेंट स्ट्रीम को आपके द्वारा कनेक्ट की गई मशीन और वातावरण से नई ईवेंट दिखाई देनी चाहिए।अंत में, सत्यापित करें कि नीति निर्णय एक ही मशीन को जिम्मेदार हैं। यह पुष्टि करता है कि हार्नेस ट्रेस ईवेंट के साथ-साथ नीति गतिविधि की भी रिपोर्टिंग कर रहा है।
या नामित हार्नेस और कॉन्फ़िगरेशन स्कोप को लक्ष्य करें:
failproofai policies --install \ --cli claude codex cursor \ --scope user
प्रोजेक्ट स्कोप हुक कॉन्फ़िगरेशन को एक रिपॉजिटरी के साथ रखता है। उपयोगकर्ता स्कोप रिपॉजिटरी में काम को कवर करता है। Claude Code स्थानीय स्कोप को भी समर्थन करता है; समर्थन हार्नेस के आधार पर भिन्न होता है और CLI असमर्थित संयोजनों को अस्वीकार करता है।मशीन और इसकी ईवेंट सत्यापित करें:
अतिरिक्त पथ मशीन पर पंजीकृत हैं, क्लाउड में नहीं। एक जोड़ने के बाद, Observe → Sessions खोलें, मशीन के वातावरण के लिए फ़िल्टर करें, और पुष्टि करें कि नए पथ से सत्र दिखाई दे रहे हैं। एक सत्र खोलें और ऑडिट में भरोसा करने से पहले एजेंट, हार्नेस, और ईवेंट टाइमस्टैम्प की जांच करें।
एक वैकल्पिक लेबल के साथ एक पथ जोड़ें, फिर कॉन्फ़िगर किए गए पथ की जांच करें:
failproofai harness add-path claude checkout=/srv/checkout/.claudefailproofai harness list claudefailproofai backfill --since 7d --dry-runfailproofai backfill --since 7d
failproofai harness remove-path claude checkout के साथ एक पथ हटाएं।
स्थापन के बाद एक नया सत्र चलाएं। रोलआउट का विस्तार करने से पहले लाइव ईवेंट स्ट्रीम और एक वास्तविक नीति निर्णय दोनों को सत्यापित करें।