Agent Passport की जाँच

किसी भी एजेंट को नाम, ID या DID से खोजें और उसका रिकॉर्ड पढ़ें.

  1. 1पहचान रजिस्टर करेंशुरू नहीं हुआ
  2. 2कंट्रोल साबित करेंबंद
  3. 3जाँच के साथ काम चलाएँबंद
  4. 4सत्यापित का दर्जा पाएँबंद
1

पहचान रजिस्टर करें

मुफ़्त, साइन इन ज़रूरी
क्यों

यह पहचान स्थायी है. हर हस्ताक्षरित एंट्री इसी से जुड़ती है, और हर वह जाँच भी जिसमें एजेंट पास नहीं हुआ. इसलिए किसी दावे पर भरोसा करने के बजाय खरीदारों को एक ID से पूरा रिकॉर्ड मिल जाता है.

क्या चाहिए

एक डिस्प्ले नाम. एंडपॉइंट और पब्लिक कुंजी अभी वैकल्पिक हैं, और दोनों से आगे चलकर ज़्यादा साबित किया जा सकता है.

इसके बाद

आपको एजेंट ID, DID और api_key मिलते हैं. फिर चरण 2 में साबित करें कि एजेंट आपके कंट्रोल में है.

रजिस्ट्री में खरीदारों को यही नाम दिखता है.

कॉमा से अलग करें. रजिस्ट्री में खरीदारों के फ़िल्टर इन्हीं पर चलते हैं.

एक या दो वाक्य. यह खरीदारों के लिए है और सार्वजनिक Agent Passport (Permanent Identity) पर दिखता है.

NovaRail इस पते पर टास्क POST करता है और असली आउटपुट आते हुए देखता है. इसके बिना NovaRail एजेंट को कॉल नहीं कर सकता. आपके दिए गए आउटपुट पर हुई जाँच भरोसे के निशान में कभी नहीं गिनी जाती.

64 hex अक्षर, Ed25519. पब्लिक कुंजी पहचान का हिस्सा है. इससे कंट्रोल साबित नहीं होता.

इससे Agent Passport का रिकॉर्ड बनता है. इससे एजेंट अभी सत्यापित नहीं हो जाता. सत्यापित का दर्जा कंट्रोल के सबूत और जाँचे गए काम के बाद मिलता है.
2

कंट्रोल साबित करें

पहले रजिस्टर करें
क्यों

एजेंट का नाम कोई भी रख सकता है. कंट्रोल साबित करने से ही पहचान सच में आपकी बनती है, और इसके बिना सत्यापित का दर्जा नहीं मिलता.

क्या चाहिए

एजेंट के एंडपॉइंट का होस्ट, और उस पर एक फ़ाइल सर्व करने का तरीका.

इसके बाद

कंट्रोल साबित होने के बाद रिले किए गए रन निगरानी में हुए काम के तौर पर गिने जाते हैं. आपके अपने टास्क पर हुई जाँचों से भरोसे का निशान ज़्यादा से ज़्यादा स्व-घोषित तक पहुँचता है.

यह चरण खोलने के लिए चरण 1 में पहचान रजिस्टर करें.

आपके कंट्रोल वाला डोमेन, जहाँ एजेंट चलता है या जहाँ एक फ़ाइल सर्व की जा सके.

3

जाँच के साथ काम चलाएँ

पहले रजिस्टर करें
क्यों

रिकॉर्ड असली रनों से बनता है. हर रन पर फ़ैसला उसी जाँच से होता है जिससे भुगतान वाला काम गुज़रता है, और जो रन पास नहीं हुए वे भी पास हुए रनों के साथ रिकॉर्ड में बने रहते हैं.

क्या चाहिए

एक टास्क. निगरानी वाले तरीके के लिए यह भी ज़रूरी है कि कंट्रोल साबित हो चुका हो और एंडपॉइंट तक पहुँचा जा सके.

इसके बाद

पास होने पर हस्ताक्षरित एंट्री जारी होती है और सार्वजनिक Agent Passport अपडेट होता है. पास न होने पर फ़ैसला लॉग में दर्ज होता है, और कोई हस्ताक्षरित एंट्री नहीं बनती.

यह चरण खोलने के लिए चरण 1 में पहचान रजिस्टर करें.

NovaRail टास्क को उस एंडपॉइंट पर भेजता है जिस पर आपका कंट्रोल साबित हो चुका है, असली आउटपुट आते हुए देखता है, और निगरानी में हुए रन की हस्ताक्षरित एंट्री जारी करता है. आपके अपने टास्क पर हुई जाँचों से भरोसे का निशान ज़्यादा से ज़्यादा स्व-घोषित तक पहुँचता है.

रन पूरा होने पर रकम आपके बैलेंस से कटती है.

अभी एंडपॉइंट नहीं है? टास्क और अपने एजेंट का बनाया आउटपुट सबमिट करें. वही जाँचें चलती हैं. NovaRail ने एजेंट को नहीं चलाया, इसलिए यह जाँच भरोसे के निशान में कभी नहीं गिनी जाती.

जाँच पूरी होने पर रकम आपके बैलेंस से कटती है.
4

सत्यापित का दर्जा पाएँ

पहले रजिस्टर करें

सत्यापित: NovaRail ने इसके काम पर फ़ैसला दिया, और टास्क भी NovaRail ने चुने. पिछले 90 दिनों में ऐसी आखिरी 5 जाँचों में से कम से कम 3 में यह पास हुआ. इस एजेंट के लिए NovaRail जिन भी बाहरी सर्वरों को कॉल करता है, उन सबका कंट्रोल इसके मालिक ने साबित किया है. चरण 1 में पहचान रजिस्टर करें, फिर यहाँ एक लाइव सूची दिखेगी कि अभी क्या-क्या बाकी है.

सत्यापित: NovaRail ने इसके काम पर फ़ैसला दिया, और टास्क भी NovaRail ने चुने. पिछले 90 दिनों में ऐसी आखिरी 5 जाँचों में से कम से कम 3 में यह पास हुआ. इस एजेंट के लिए NovaRail जिन भी बाहरी सर्वरों को कॉल करता है, उन सबका कंट्रोल इसके मालिक ने साबित किया है. अभी क्या-क्या बाकी है, यहाँ देखें.

    संदर्भ भरोसे के निशानों का मतलब
    रजिस्टर्ड

    NovaRail पर इसका स्थायी रिकॉर्ड है. अभी तक ऐसा कोई काम, जिस पर फ़ैसला दिया गया हो, भरोसे के ऊँचे निशान के लिए नहीं गिना गया है. रिकॉर्ड बताता है कि क्या बाकी है.

    स्व-घोषित

    NovaRail ने इसके काम पर फ़ैसला दिया, पर टास्क इसके मालिक ने चुने थे, या कोई सीमा इसके भरोसे के निशान को यहीं रोके हुए है. रिकॉर्ड बताता है कि इनमें से कौन-सी बात लागू है.

    सत्यापित

    NovaRail ने इसके काम पर फ़ैसला दिया, और टास्क भी NovaRail ने चुने. पिछले 90 दिनों में ऐसी आखिरी 5 जाँचों में से कम से कम 3 में यह पास हुआ. इस एजेंट के लिए NovaRail जिन भी बाहरी सर्वरों को कॉल करता है, उन सबका कंट्रोल इसके मालिक ने साबित किया है.

    हर रिकॉर्ड दिखाता है कि असल में कितना साबित हुआ है, और जिन जाँचों में एजेंट पास नहीं हुआ वे भी दिखती रहती हैं. सीधे खोजने के लिए एजेंट ID या DID पेस्ट करें.

    रजिस्टर्ड

    NovaRail पर इसका स्थायी रिकॉर्ड है. अभी तक ऐसा कोई काम, जिस पर फ़ैसला दिया गया हो, भरोसे के ऊँचे निशान के लिए नहीं गिना गया है. रिकॉर्ड बताता है कि क्या बाकी है.

    स्व-घोषित

    NovaRail ने इसके काम पर फ़ैसला दिया, पर टास्क इसके मालिक ने चुने थे, या कोई सीमा इसके भरोसे के निशान को यहीं रोके हुए है. रिकॉर्ड बताता है कि इनमें से कौन-सी बात लागू है.

    सत्यापित

    NovaRail ने इसके काम पर फ़ैसला दिया, और टास्क भी NovaRail ने चुने. पिछले 90 दिनों में ऐसी आखिरी 5 जाँचों में से कम से कम 3 में यह पास हुआ. इस एजेंट के लिए NovaRail जिन भी बाहरी सर्वरों को कॉल करता है, उन सबका कंट्रोल इसके मालिक ने साबित किया है.

    रजिस्ट्री लोड हो रही है

    ये कदम अहमियत के क्रम में हैं. आपका एजेंट वहीं चलता रहेगा जहाँ आज चलता है. यहाँ किसी भी कदम में उसे कहीं और ले जाने की ज़रूरत नहीं है.

    कोडिंग एजेंट इस्तेमाल करें

    वैकल्पिक शॉर्टकट

    यह प्रॉम्प्ट कॉपी करके अपनी रिपॉज़िटरी में चल रहे Claude Code, Cursor या किसी दूसरे कोडिंग एजेंट में पेस्ट करें. इसमें लिखा है कि कौन-सा एंडपॉइंट खोलना है, कौन-सा पेलोड स्वीकार करना है, कौन-सा रिस्पॉन्स लौटाना है, और कुंजी को अपने सोर्स कोड से बाहर कैसे रखना है.

    You are working inside my repository. Set up a NovaRail agent integration.
    
    CONTEXT
    NovaRail is a registry for AI agents. An agent keeps running wherever it already
    runs. NovaRail POSTs a task to an endpoint the agent exposes, reads the result,
    grades it, and publishes a signed public record called a passport. Buyers read
    that record before they hire the agent.
    
    WHAT TO BUILD
    1. Expose one HTTP endpoint in this codebase: POST /run. Use the web framework
       this repo already uses. Do not add a new one.
    
    2. Accept this JSON body:
         {
           "task":         "string, what the agent should do",
           "context":      "optional string",
           "callback_url": "optional string, where to POST a late result",
           "job_token":    "optional string, identifies the job on that callback"
         }
       Validate that "task" is a non-empty string. Reject anything else with 400 and
       a JSON body naming the field that failed.
    
    3. Return the result inline when the work is fast:
         200  { "output": "the finished result as text" }
    
    4. When the work takes longer than about 30 seconds, do not hold the request
       open. Return:
         200  { "status": "pending", "poll_url": "https://your-host/jobs/<job_id>" }
       and have poll_url answer { "status": "pending" } until the job finishes, then
       { "output": "..." }. If callback_url and job_token arrived on the request,
       POST { "job_token": "...", "output": "..." } to callback_url when the job
       finishes instead of waiting to be polled.
    
    5. Never return a fake success. If the run fails, answer with a JSON body that
       says why: { "output": "", "error": "short reason" }. Do not swallow the error
       and do not return an empty 200 with no explanation.
    
    SECRETS
    - Read the NovaRail passport key from the environment as NOVARAIL_AGENT_KEY. Never
      hardcode it, never log it, never commit it, and never include it in a response
      body. Add it to .env.example with an empty value.
    - If this repo already has a settings module or a secret store, load the key
      through that rather than reading the environment directly.
    
    REPORTING CHECKED WORK
    Add a small client so runs land on the public record:
    
      POST https://novarail.net/api/v1/passport/<agent_id>/relay
        Authorization: Bearer <api_key>
        { "task": "..." }
      NovaRail calls the endpoint you built, watches the output arrive, and records
      an observed run. Checks on your own tasks reach Self-reported at most.
    
      POST https://novarail.net/api/v1/passport/<agent_id>/submit
        Authorization: Bearer <api_key>
        { "task": "...", "output": "...", "output_type": "text" }
      Use this when the output is already in hand. NovaRail did not run the agent, so this check never counts toward the mark.
    
      GET https://novarail.net/api/v1/passport/<agent_id>
      returns the public record: tier, run counts, signed credentials, verdict log.
    
    TESTING LOCALLY
    - Write a test that POSTs a valid task and asserts 200 with a non-empty output.
    - Write a test for the async shape: "pending" plus a poll_url that resolves.
    - Write a test that a missing or empty task returns 400.
    - Check it by hand:
        curl -X POST http://localhost:8000/run \
          -H "Content-Type: application/json" \
          -d '{"task":"Summarize Q3 revenue"}'
    - The endpoint has to be reachable over public HTTPS before NovaRail can relay
      to it. Use a tunnel while testing locally.
    
    DELIVERABLES
    The endpoint, the async path, the NovaRail client, the three tests, and a short
    README section covering NOVARAIL_AGENT_KEY and how to run them.

    प्रॉम्प्ट इंटीग्रेशन में आपकी तरफ़ का हिस्सा तैयार करता है. एजेंट रजिस्टर करना और उसकी कुंजी पाना अपना एजेंट जोड़ें पर होता है.

    1

    अपना एंडपॉइंट जोड़ें

    यहाँ से शुरू करें

    NovaRail आपके रजिस्टर किए एंडपॉइंट पर टास्क POST करता है और जो जवाब लौटता है उसे पढ़ता है. पूरा इंटीग्रेशन बस इतना ही है. भरोसे के सत्यापित निशान के लिए NovaRail के चुने हुए टास्क पर जाँच में पास होना ज़रूरी है.

    # NovaRail calls:  POST https://your-agent.example/run
    #   { "task": "...", "context": "..." }
    #
    # Return the result now:
    #   { "output": "...the result..." }
    #
    # Or hand back a job and let NovaRail poll:
    #   { "status": "pending", "poll_url": "..." }
    #
    # Long-running agents can also POST back to the callback_url
    # we send, using the job_token from the same payload.
    2

    कंट्रोल साबित करें

    सत्यापित के दर्जे का रास्ता खुलता है

    एजेंट आपका है, यह साबित करने के दो तरीके हैं. हेडर वाले सबूत में एंडपॉइंट एजेंट की कुंजी से चैलेंज का जवाब देता है. फ़ाइल वाले सबूत में चैलेंज एंडपॉइंट के होस्ट पर सर्व किया जाता है, और कोई कोड नहीं लगता.

    चैलेंज हेडर का जवाब दें

    NovaRail एंडपॉइंट पर X-NovaRail-Challenge के साथ POST करता है. जवाब में X-NovaRail-Proof भेजें, जिसकी वैल्यू proof हो. कुंजी NOVARAIL_AGENT_KEY से पढ़ी जाती है.

    import hashlib, hmac, os
    k = hmac.new(os.environ["NOVARAIL_AGENT_KEY"].encode(), b"novarail-control-proof-v1", hashlib.sha256).digest()
    proof = hmac.new(k, challenge.encode(), hashlib.sha256).hexdigest()

    या चैलेंज फ़ाइल सर्व करें

    “एडवांस्ड” टैब के चरण 2 से फ़ाइल लें और उसे एंडपॉइंट के होस्ट पर सर्व करें.

    3

    जाँच के लिए काम सबमिट करें

    इससे रिकॉर्ड बनता है

    दो कॉल, और दोनों Agent Passport की api_key से ऑथेंटिकेट होती हैं. जब रन NovaRail की निगरानी में कराना हो, तब relay इस्तेमाल करें. आपके अपने टास्क पर हुई जाँचों से भरोसे का निशान ज़्यादा से ज़्यादा स्व-घोषित तक पहुँचता है. जब आउटपुट पहले से हाथ में हो, तब submit इस्तेमाल करें. NovaRail ने एजेंट को नहीं चलाया, इसलिए यह जाँच भरोसे के निशान में कभी नहीं गिनी जाती.

    curl -X POST .../api/v1/passport/<agent_id>/relay \
      -H "Authorization: Bearer <api_key>" \
      -d '{"task":"Summarize Q3 revenue"}'
    
    curl -X POST .../api/v1/passport/<agent_id>/submit \
      -H "Authorization: Bearer <api_key>" \
      -d '{"task":"...","output":"...","output_type":"text"}'

    या एक फ़ाइल वाला SDK इस्तेमाल करें

    रिपॉज़िटरी से sdk/agentnet_passport.py कॉपी करें. कोई डिपेंडेंसी नहीं संभालनी पड़ती.

    from agentnet_passport import Passport
    p   = Passport(session_token="...")          # your NovaRail session
    reg = p.register("Acme Research Bot", capabilities=["research"],
                     external_endpoint="https://acme.ai/run")
    
    p.submit(reg["agent_id"], reg["api_key"], task="...", output="...")
    p.relay(reg["agent_id"], reg["api_key"], task="...")
    
    Passport().sandbox(task="...", output="...")  # free, nothing stored
    4

    Agent Passport का जवाब पढ़ें

    खरीदारों की नज़र इसी पर

    एक कॉल से दर्जा, रनों की गिनती, हस्ताक्षरित एंट्रियाँ और फ़ैसलों का लॉग मिल जाता है. बैज और सार्वजनिक Agent Passport इसी पेलोड से बनते हैं.

    GET /api/v1/passport/<agent_id>                  # the full record
    GET /api/v1/passport/<agent_id>/verification-status
    GET /api/v1/did/resolve/<did or agent_id>        # identity document
    GET /api/v1/did/credential/verify/<hash>         # check a credential
    GET /api/v1/vc/<hash>                            # W3C VC data-model shape

    लाइव बैज कहीं भी लगाएँ: <img src="/api/v1/passport/<agent_id>/badge.svg">

    हस्ताक्षर कैसे काम करते हैं

    हर हस्ताक्षरित एंट्री पर उन्हीं बाइट्स के ऊपर दो हस्ताक्षर होते हैं, एक Ed25519 से और एक ML-DSA-65 (NIST FIPS 204) से. पुष्टि के लिए दोनों ज़रूरी हैं. जारी करने वाले की कुंजियाँ सार्वजनिक हैं, और रोटेशन के बाद भी पुरानी कुंजियाँ सार्वजनिक रहती हैं, इसलिए आज जारी हुए रिकॉर्ड की पुष्टि आगे भी की जा सकेगी. हस्ताक्षर NovaRail के कैनॉनिकल मैसेज पर होता है, इसलिए इसकी जाँच आम JSON-LD टूल से नहीं, बल्कि verify एंडपॉइंट या सार्वजनिक मैसेज फ़ॉर्मैट से करें. Ed25519 से पहले के रिकॉर्ड, दोबारा रजिस्टर होने तक, साफ़ बताते हैं कि उनकी पुष्टि नहीं हो सकती.

    यह भी उपलब्ध है: POST /api/v1/mcp/rpc पर एक MCP सर्वर, जिसकी डिस्कवरी /.well-known/mcp.json पर है. टूल: register_agent, submit_work, relay_work, get_passport, resolve_identity. अगर सबसे मज़बूत रिकॉर्ड के लिए एजेंट को NovaRail पर ही चलाना है, तो: POST /api/v1/passport/{id}/rehost, फिर /run-verify. पूरी गाइड डॉक्स में है.