यह पृष्ठ चीनी मूल से अनूदित है। दोनों में अंतर होने पर मूल पाठ मान्य है।

Confer — सिस्टम आर्किटेक्चर

यह दस्तावेज़ लक्ष्य आर्किटेक्चर बताता है, मौजूदा कार्यान्वयन नहीं। अभी gateway एक प्रक्रिया, एक इंस्टेंस का है: WebSocket कनेक्शन तालिका, A2A रिप्ले-सुरक्षा के nonce और दर-सीमा के काउंटर — सब कुछ gateway प्रक्रिया की स्मृति में रहता है (ws/handler.ts, lib/nonce-cache.ts, middleware/rate-limit.ts)।

इसीलिए gateway की दूसरी प्रतिकृति नहीं चलाई जा सकती। प्रतिकृति जोड़ते ही A2A रिप्ले-सुरक्षा चुपचाप टूट जाती है — दोहराया गया अनुरोध दूसरी प्रतिकृति पर पहुँचता है जहाँ nonce तालिका खाली है, और सीधे पास हो जाता है। साथ ही WS सूचनाएँ उन उपयोगकर्ताओं तक नहीं पहुँचतीं जो दूसरी प्रतिकृति से जुड़े हैं, और दर-सीमा की सीमा प्रतिकृतियों की संख्या से गुणा हो जाती है।

नीचे जिन NATS / Redis का ज़िक्र है, वे क्षैतिज विस्तार के लिए सोची गई योजना हैं; आज वे न तैनात हैं, न किसी से जुड़े हैं (2026-08-07 को docker-compose*.yml और env.ts से हटा दिए गए; उससे पहले वे खाली घूमते कंटेनर और एक ऐसा एनवायरनमेंट वेरिएबल थे जिसे कभी पढ़ा ही नहीं गया)। सचमुच क्षैतिज विस्तार करना हो तो पहले इन तीनों प्रक्रिया-स्मृति अवस्थाओं को साझा भंडारण में ले जाना होगा — सबसे पहले nonce, क्योंकि वही सुरक्षा के लिहाज़ से नाज़ुक है।

उच्च-स्तरीय आर्किटेक्चर

┌────────────────────────────────────────────────────────────┐
│  Clients (Tauri 2.0)                                       │
│  iOS · Android · Windows · macOS · Linux                   │
└──────────────────────────┬─────────────────────────────────┘
                           │ WSS / HTTPS / SSE
                           ▼
┌────────────────────────────────────────────────────────────┐
│  Edge API Gateway  (Bun + Hono)                            │
│  Auth · Rate limit · Routing · WS fan-out                  │
└─────┬─────────────┬─────────────────┬────────────────┬─────┘
      │             │                 │                │
      ▼             ▼                 ▼                ▼
 ┌────────┐  ┌─────────────┐  ┌────────────┐  ┌──────────────┐
 │ Agent  │  │Conversation │  │ Identity & │  │ MCP / Tools  │
 │Runtime │  │     Hub     │  │A2A Gateway │  │  Connector   │
 └───┬────┘  └──────┬──────┘  └─────┬──────┘  └──────┬───────┘
     │              │               │                │
     ▼              ▼               ▼                ▼
┌──────────────────────────────────────────────────────────────┐
│  Data layer: PostgreSQL · Redis · NATS · Vector (Qdrant)·S3 │
└──────────────────────────────────────────────────────────────┘
       │                              │
       ▼                              ▼
 LLM providers              Other instances' Agents
 (Claude / GPT /            (federation via A2A
  DeepSeek / Qwen)           over HTTPS)

डिज़ाइन के सिद्धांत

सेवाओं की सीमाएँ

1. Edge API Gateway

देखें docs/05-api.md।

2. Agent Runtime

हर उपयोगकर्ता के लिए एक स्थायी Agent इंस्टेंस।

3. Conversation Hub

4. Identity & A2A Gateway

प्रोटोकॉल का विस्तृत डिज़ाइन docs/03-protocol.md में है।

5. MCP / Tools Connector

डेटा परत

घटक किसलिए स्थिति
PostgreSQL उपयोगकर्ता, Agent, संवाद, संदेश, अनुमतियाँ, peer संबंध (मुख्य भंडार) ✅ उपयोग में
Qdrant Agent की दीर्घकालिक स्मृति का RAG, उपयोगकर्ता के ज्ञान-कोश का सूचकांक ✅ उपयोग में
S3-संगत (MinIO) ज्ञान-कोश की फ़ाइलों का भंडारण ✅ उपयोग में
Redis सत्र, उपस्थिति, सीमा के काउंटर, गर्म डेटा का कैश ⬜ तैनात नहीं; क्षैतिज विस्तार पर ही चाहिए
NATS Streams संदेशों का प्रसार (user.{uid}.events) + Agent Runtime की कार्य-कतार ⬜ तैनात नहीं; क्षैतिज विस्तार पर ही चाहिए

क्लाइंट आर्किटेक्चर

बहु-मंच पहुँच

मंच किसके ज़रिए
iOS Tauri 2.0 का iOS समर्थन
Android Tauri 2.0 का Android समर्थन
Windows Tauri 2.0
macOS Tauri 2.0
Linux Tauri 2.0

एक ही कोडबेस, कोई नेटिव विकल्प नहीं।

Claude Code प्लगइन

देखें docs/06-claude-code-plugin.md।

तैनाती आर्किटेक्चर

एकल इंस्टेंस (व्यक्ति / छोटी टीम)

असली docker-compose.prod.yml (agent-runtime और identity gateway के भीतर की लाइब्रेरी हैं, अलग सेवाएँ नहीं):

  - gateway   (Bun सेवा, एकल प्रतिकृति — ऊपर की टिप्पणी देखें)
  - client    (nginx द्वारा परोसा गया फ़्रंटएंड)
  - migrate   (एक बार चलने वाला कार्य)
  - postgres
  - qdrant
  - minio

तैनाती: docker compose -f docker-compose.prod.yml up -d चलाइए और काम शुरू।

कंपनी का इंस्टेंस

क्लाउड (Confer का अपना क्लाउड)

पूर्व शर्त: gateway अभी एकल प्रतिकृति है (अवस्था प्रक्रिया के भीतर)। कई प्रतिकृतियाँ करने से पहले WS कनेक्शन तालिका, A2A nonce और सीमा-काउंटर साझा भंडारण में ले जाने होंगे, वरना रिप्ले-सुरक्षा चुपचाप बेकार हो जाएगी।

फ़ेडरेशन (इंस्टेंसों के बीच)

Confer का कोई भी इंस्टेंस — स्वयं-होस्ट किया हुआ या क्लाउड का — A2A प्रोटोकॉल से दूसरे इंस्टेंसों के साथ जुड़ सकता है।

[acme.com]              [vendor-x.com]            [confer.cloud]
 Agent A    <─── A2A ───> Agent B    <─── A2A ───> Agent C

पहचान और खोज:

अवलोकनीयता

सुरक्षा सीमाएँ

मुख्य तकनीकी निर्णय

निर्णय चुनाव विकल्प कारण
बैकएंड भाषा Bun + TypeScript Go MCP/A2A के SDK पहले TS के लिए बने हैं; पूरे ढेर में टाइप साझा
वेब फ़्रेमवर्क Hono Elysia, Fastify हल्का, तेज़, स्थिर पारिस्थितिकी
क्लाइंट Tauri 2.0 Flutter, Electron एक कोडबेस, पाँच मंच; Rust की सुरक्षा; छोटा आकार
मुख्य भंडार PostgreSQL 18 MySQL JSON का अच्छा समर्थन, ख़ूब विस्तार योग्य, pgvector विकल्प के रूप में
संदेश बस NATS Kafka, Redis Pub/Sub हल्की, स्थायित्व सहित, सटीक सदस्यता
वेक्टर भंडार Qdrant Pinecone, pgvector स्वयं-होस्टिंग में परिपक्व, Rust में लिखा, स्थिर प्रदर्शन
पहचान DID:web DID:key, केवल OAuth मौजूदा वेब बुनियाद के अनुकूल, NANDA की सिफ़ारिश
प्रोटोकॉल A2A + MCP + AgentFacts अपना प्रोटोकॉल हम खुले प्रोटोकॉल की पारिस्थितिकी पर दाँव लगाते हैं
← Confer पर वापस A2A · DID:web · RFC 9421 · NANDA