<div align="center">

<br />

# 明鉴 MingJian

### *स्पष्ट देखें, बुद्धिमत्ता से निर्णय लें*

**प्रमाण-आधारित निर्णय, मल्टी-एजेंट बहस, परिदृश्य सिमुलेशन और ऑडिट योग्य सिफारिशों के लिए एक ओपन-सोर्स रणनीतिक इंटेलिजेंस कॉकपिट।**

---

[![Edition](https://img.shields.io/badge/Edition-Community%20OSS-1f6f5b.svg)](#edition-boundary)
[![License](https://img.shields.io/badge/License-Apache%202.0-2f6f9f.svg)](LICENSE)
[![Python](https://img.shields.io/badge/Python-3.12%2B-2b6cb0.svg)](https://www.python.org/downloads/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.110%2B-0f766e.svg)](https://fastapi.tiangolo.com/)
[![React](https://img.shields.io/badge/React-19-3b82f6.svg)](https://react.dev/)
[![Vite](https://img.shields.io/badge/Vite-frontend-7c3aed.svg)](https://vite.dev/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.8%2B-2563eb.svg)](https://www.typescriptlang.org/)

**Language / भाषा**

[English](README.md) · [中文](README.zh-CN.md) · [हिन्दी](README.hi.md) · [日本語](README.ja.md)

<br />

| Signal | MingJian क्या देता है |
| --- | --- |
| Evidence first | हर सिफारिश स्रोतों, निकाले गए दावों और replayable traces से जुड़ी रहती है। |
| Debate, not monologue | विशेष भूमिका वाले agents उत्तर लौटाने से पहले धारणाओं को चुनौती देते हैं। |
| Local sovereignty | Community स्थानीय रूप से चलती है, open-source code, local data control और 24-hour monitoring window के साथ। |
| Decision memory | Sessions, recommendation versions, refreshes, source health और user outcomes जुड़े रहते हैं। |

</div>

---

## Product Read

MingJian उन लोगों के लिए है जिन्हें अनिश्चितता में महत्वपूर्ण निर्णय लेने होते हैं: founders, analysts, operators, researchers, strategists और वे teams जिन्हें blind trust नहीं बल्कि inspectable evidence चाहिए।

यह product experience chat box से अधिक strategic intelligence cockpit जैसा है। User decision-support request देता है; MingJian evidence gather करता है, analysis और simulation चलाता है, debate council बुलाता है, first recommendation देता है, और बाद के source changes व recommendation versions को जोड़कर रखता है।

---

## Edition Boundary

| Edition | Distribution | Core Workflow | Commercial Layer |
| --- | --- | --- | --- |
| **Community** | Apache 2.0 self-hosted upstream | Full public decision workflow with 24-hour local monitoring | None |
| **Cloud** | Hosted SaaS subscription | Superset of Community public core | Subscription, metering, tenant operations |
| **Enterprise** | Private / on-prem deployment | Superset of Community public core | License, audit, governance, private connectors |

यह repository **Community** edition है। इसमें Cloud subscription surfaces, Enterprise-only governance code या proprietary mobile entry point नहीं जोड़े जाने चाहिए जब तक उन्हें explicitly public न किया जाए।

---

## Decision Workflow

```text
Question
  -> source discovery
  -> evidence extraction
  -> analysis and simulation
  -> role-based debate
  -> recommendation
  -> version timeline
  -> scheduled / source-change refresh
  -> decision record and outcome feedback
```

| Stage | Purpose | User-visible proof |
| --- | --- | --- |
| Gather | News, code, social और public data feeds से multi-source evidence collect करना। | Source list, cursor health, last checked time. |
| Reason | Evidence को arguments, risks, simulations और structured claims में बदलना। | Analysis artifacts, report sections, debate rounds. |
| Debate | Role-based agents से critique, revise और arbitrate करवाना। | Advocate, challenger और arbiter traces. |
| Remember | Sessions, recommendation versions, refresh triggers और outcomes persist करना। | Timeline, recommendation history, feedback records. |

---

## What Makes It Different

| Old AI Analysis | MingJian |
| --- | --- |
| One answer, little context. | Evidence chain, debate trail और recommendation versions. |
| Single-model blind spots. | Support, challenge और arbitration roles के साथ multi-agent critique. |
| Static responses. | Scheduled refresh और source-change updates. |
| Hard to audit. | Deterministic traces, source attribution और decision records. |
| Generic workflow. | Strategy, risk, market, policy, technical, social और security perspectives. |

---

## 🔬 मुख्य विशेषताएँ

### 1. प्रमाण-संचालित, अनुमान-संचालित नहीं

**समस्या:** पारंपरिक AI उपकरण आपको बिना काम दिखाए उत्तर देते हैं।

**हमारा समाधान:** 明鉴 हर निर्णय को 10+ डेटा स्रोतों से **वास्तविक-विश्व प्रमाण** में आधारित करता है। हर दावा ट्रेस करने योग्य, हर निर्णय ऑडिट करने योग्य।

### 2. मल्टी-एजेंट बहस प्रोटोकॉल

**समस्या:** एकल AI मॉडल में अंधे धब्बे और पूर्वाग्रह होते हैं।

**हमारा समाधान:** कई AI मॉडल (GPT, Gemini, Claude, Grok) आपके निर्णयों पर **बहस** करते हैं, धारणाओं को चुनौती देते हैं और प्रमाण-समर्थित निष्कर्षों तक पहुँचते हैं।

### 3. दोहरे-डोमेन विशेषज्ञता

**समस्या:** अधिकांश AI उपकरण सामान्य हैं और आपके विशिष्ट डोमेन को नहीं समझते।

**हमारा समाधान:** 明鉴 **कॉर्पोरेट** (बाज़ार विश्लेषण, प्रतिस्पर्धी इंटेलिजेंस) और **सैन्य** (संचालन योजना, रसद) दोनों को डोमेन-विशिष्ट नियमों और मॉडलों के साथ समर्थन करता है।

### 4. निर्णय ट्रेस के साथ पूर्ण ऑडिटेबिलिटी

**समस्या:** आप यह समझा नहीं सकते कि AI ने किसी निष्कर्ष तक कैसे पहुँचा।

**हमारा समाधान:** हर सिमुलेशन एक **निर्धारक निर्णय ट्रेस** उत्पन्न करता है — AI ने अपने निष्कर्ष तक कैसे पहुँचा इसका चरण-दर-चरण रिकॉर्ड। कोई ब्लैक बॉक्स नहीं।

### 5. Jarvis स्व-मरम्मत इंजन

**समस्या:** AI आउटपुट गलत हो सकते हैं, लेकिन आपको तब तक पता नहीं चलता जब तक बहुत देर हो चुकी होती है।

**हमारा समाधान:** 明鉴 अपने आउटपुट की समीक्षा करता है, कमज़ोरियों की पहचान करता है, और गुणवत्ता थ्रेसहोल्ड पूरे होने तक पुनरावृत्ति करता है — सब कुछ बिना मानवीय हस्तक्षेप के।

### 6. रीयल-टाइम स्ट्रीमिंग विश्लेषण

**समस्या:** आप AI के समाप्त होने का इंतज़ार करते हैं, फिर ब्लैक-बॉक्स परिणाम प्राप्त करते हैं।

**हमारा समाधान:** एक विश्लेषण अनुरोध सबमिट करें और AI को रीयल-टाइम में काम करते देखें — स्ट्रीमिंग प्रगति इवेंट, स्रोत श्रेय और मध्यवर्ती परिणाम।

### 7. 9-एजेंट निर्णय परिषद

**समस्या:** एकल AI मॉडल में अंधे धब्बे और पूर्वाग्रह होते हैं।

**हमारा समाधान:** 明鉴 **9 विशेषज्ञ AI एजेंट** तैनात करता है — प्रत्येक की एक अलग भूमिका, दृष्टिकोण और मॉडल — एक निर्णय परिषद बनाने के लिए:

| भूमिका | एजेंट | कार्य |
|--------|--------|-------|
| 🟢 **रणनीतिक समर्थक** | कोर | समर्थन में तर्क, सहायक प्रमाण खोजें |
| 🔴 **जोखिम चुनौतीकर्ता** | कोर | विरोध में तर्क, प्रति-प्रमाण खोजें |
| ⚖️ **मुख्य मध्यस्थ** | कोर | प्रमाण के आधार पर अंतिम निर्णय |
| 🔍 **खुफिया विश्लेषक** | दृष्टिकोण | प्रमाण गुणवत्ता मूल्यांकन |
| 🌍 **भू-राजनीतिक विशेषज्ञ** | दृष्टिकोण | भू-राजनीतिक विश्लेषण |
| 💰 **आर्थिक विश्लेषक** | दृष्टिकोण | आर्थिक/बाज़ार विश्लेषण |
| ⚔️ **सैन्य रणनीतिकार** | दृष्टिकोण | सैन्य/सुरक्षा विश्लेषण |
| 🔮 **प्रौद्योगिकी पूर्वानुमानकर्ता** | दृष्टिकोण | प्रौद्योगिकी प्रवृत्ति विश्लेषण |
| 👥 **सामाजिक प्रभाव मूल्यांकनकर्ता** | दृष्टिकोण | सामाजिक/जनमत विश्लेषण |

---

## 🆚 明鉴 बनाम प्रतिस्पर्धा

| विशेषता | 明鉴 | Manus | पारंपरिक AI | सिंगल-एजेंट | LangChain |
|---------|------|-------|----------------|--------------|-----------|
| **डेटा स्रोत** | ✅ 10+ रीयल-टाइम | ⚠️ सामान्य खोज | ❌ मैनुअल इनपुट | ⚠️ सीमित | ⚠️ सीमित |
| **प्रमाण श्रृंखला** | ✅ पूर्ण ट्रेसेबिलिटी | ❌ कोई ट्रैकिंग नहीं | ❌ कोई ट्रैकिंग नहीं | ❌ कोई ट्रैकिंग नहीं | ❌ कोई ट्रैकिंग नहीं |
| **मल्टी-एजेंट बहस** | ✅ 9-एजेंट प्रतिस्पर्धी | ⚠️ ऑर्केस्ट्रेटर + सब-एजेंट | ❌ एकल मॉडल | ❌ एकल मॉडल | ⚠️ बेसिक |
| **निर्णय ट्रेस** | ✅ निर्धारक | ❌ ब्लैक बॉक्स | ❌ ब्लैक बॉक्स | ❌ ब्लैक बॉक्स | ❌ ब्लैक बॉक्स |
| **स्व-मरम्मत** | ✅ Jarvis इंजन | ⚠️ गतिशील पुनर्योजन | ❌ कोई नहीं | ❌ कोई नहीं | ❌ कोई नहीं |
| **स्ट्रीमिंग विश्लेषण** | ✅ रीयल-टाइम | ✅ रीयल-टाइम | ❌ केवल बैच | ❌ केवल बैच | ⚠️ सीमित |
| **निरंतर निगरानी** | ✅ WatchRule+स्वतः अपडेट | ❌ एक-बार कार्य | ❌ कोई नहीं | ❌ कोई नहीं | ❌ कोई नहीं |
| **कॉर्पोरेट डोमेन** | ✅ पूर्ण समर्थन | ❌ सामान्य | ⚠️ सामान्य | ❌ सामान्य | ❌ सामान्य |
| **सैन्य डोमेन** | ✅ पूर्ण समर्थन | ❌ सामान्य | ⚠️ सामान्य | ❌ सामान्य | ❌ सामान्य |
| **परिदृश्य शाखांकन** | ✅ बीम-सर्च | ❌ कोई नहीं | ❌ मैनुअल | ❌ कोई नहीं | ❌ कोई नहीं |
| **ज्ञान ग्राफ़** | ✅ एम्बेडिंग-समर्थित | ❌ कोई नहीं | ❌ कोई नहीं | ❌ कोई नहीं | ❌ कोई नहीं |
| **कोड निष्पादन** | ⚠️ योजनाबद्ध | ✅ पूर्ण सैंडबॉक्स VM | ❌ कोई नहीं | ⚠️ सीमित | ❌ कोई नहीं |
| **डेटा संप्रभुता** | ✅ स्व-होस्टेड | ❌ केवल क्लाउड | ⚠️ भिन्न | ⚠️ भिन्न | ✅ स्व-होस्टेड |
| **ओपन सोर्स** | ✅ Apache 2.0 | ❌ बंद स्रोत | ⚠️ भिन्न | ⚠️ भिन्न | ✅ विभिन्न |

---

## 🧭 明鉴 की स्थिति: AI निर्णय सलाहकार

> **सामान्य उपकरण नहीं, बल्कि समर्पित सलाहकार टीम।**

AI Agent का युग आ चुका है। Orchestration Layer कई sub-agents और उपकरणों को समन्वित करता है, sandbox वातावरण में जटिल कार्यों को स्वायत्त रूप से पूरा करता है — यह एक प्रभावी प्रतिमान साबित हो चुका है।

明鉴 इस आधार पर और आगे बढ़ता है, **निर्णय बुद्धिमत्ता** पर केंद्रित:

### डिज़ाइन दर्शन

 डिज़ाइन सिद्धांत | 明鉴 का अभ्यास |
-----------------|----------------|
 Orchestration Layer > Base Model | 9-एजेंट रजिस्ट्री, भूमिका अनुसार मॉडल वितरण |
 रीयल-टाइम स्ट्रीमिंग विश्वास बनाती है | बहस राउंड-दर-राउंड रेंडर, उपयोगकर्ता हर चरण देखता है |
 बहु-उपकरण सहयोग | 12 डेटा स्रोत + बहस इंजन + सिमुलेशन इंजन |
 विफलता पर पुनर्योजन | बहस विफल होने पर स्वचालित रणनीति समायोजन |

### मुख्य विभेदीकरण

 आयाम | 明鉴 |
-------|------|
 **लक्ष्य** | बेहतर निर्णय लेना |
 **तर्क विधि** | 9 एजेंट स्वतंत्र तर्क, प्रतिपरीक्षण, मध्यस्थता |
 **साक्ष्य आधार** | 12 डेटा स्रोत संरचित संग्रह → साक्ष्य निष्कर्षण → ज्ञान ग्राफ़ |
 **निरंतरता** | WatchRule निरंतर निगरानी + नियमित अपडेट + आपातकालीन घटना पहचान |
 **डोमेन गहराई** | कॉर्पोरेट/सैन्य दोहरे डोमेन सिमुलेशन, KPI ट्रैकिंग |
 **पारदर्शिता** | तर्क प्रक्रिया प्रदर्शन + उपयोगकर्ता मतदान और प्रश्न |
 **डेटा संप्रभुता** | स्व-होस्टेड, डेटा पूरी तरह स्थानीय |
 **लागत** | स्व-मॉडल, सीमांत लागत शून्य के करीब |

### MoE आर्किटेक्चर विचार

明鉴 की 9-एजेंट प्रणाली **Mixture of Experts (MoE)** के मूल विचार से प्रेरित है:

```
उपयोगकर्ता प्रश्न → राउटर (बहस प्रवाह) → विशेषज्ञ संयोजन चयन → स्वतंत्र तर्क → भारित निर्णय
```

जैसे DeepSeek-V3 256 विशेषज्ञों में से कुछ ही सक्रिय करता है, 明鉴 9 एजेंटों में से प्रश्न प्रकार के अनुसार सबसे उपयुक्त संयोजन चुनता है। मुख्य 3 भूमिकाएँ (समर्थक/चुनौतीकर्ता/मध्यस्थ) हमेशा सक्रिय, परिप्रेक्ष्य 6 भूमिकाएँ आवश्यकतानुसार — यह सॉफ्टवेयर स्तर पर स्पार्स एक्टिवेशन है।

---

## 🎯 उपयोग के मामले

 उपयोग का मामला | विवरण | लाभ |
----------|-------------|---------|
 **📊 निवेश अनुसंधान** | बाज़ार रुझानों का विश्लेषण, निवेश थीसिस पर बहस | तेज़ अनुसंधान, बेहतर निर्णय |
 **🏭 कॉर्पोरेट रणनीति** | प्रतिस्पर्धी इंटेलिजेंस, परिदृश्य योजना | डेटा-संचालित निर्णय, कम जोखिम |
 **⚔️ सैन्य योजना** | संचालन विश्लेषण, रसद अनुकूलन | रणनीतिक लाभ, बेहतर परिणाम |
 **🛡️ जोखिम प्रबंधन** | बहु-दृष्टिकोण जोखिम मूल्यांकन | अनिश्चितता में कमी |
 **📈 बाज़ार विश्लेषण** | रीयल-टाइम बाज़ार इंटेलिजेंस | तेज़ अंतर्दृष्टि, बेहतर स्थिति |
 **🎯 नीति विश्लेषण** | बहु-हितधारक प्रभाव मूल्यांकन | सूचित नीति, बेहतर परिणाम |

---

## 🚀 त्वरित शुरुआत

### वन-क्लिक Docker सेटअप

明鉴 को स्थानीय रूप से चलाने का सबसे तेज़ तरीका Docker सेटअप स्क्रिप्ट है। यह Docker की जाँच करता है, `.env.example` से `.env` बनाता है, आपकी OpenAI API कुंजी पूछता है, और पूरा स्टैक शुरू करता है।

#### पूर्वापेक्षाएँ

पहले [Docker Desktop](https://www.docker.com/products/docker-desktop/) इंस्टॉल करें, फिर चलाएँ:

```bash
chmod +x setup.sh
./setup.sh
```

जब स्क्रिप्ट समाप्त हो, खोलें:

 सेवा | URL |
---------|-----|
 फ्रंटएंड | http://localhost:3001 |
 API | http://localhost:8000 |
 MinIO कंसोल | http://localhost:9001 |

MinIO लॉगिन: `.env` में `PLANAGENT_MINIO_ACCESS_KEY` / `PLANAGENT_MINIO_SECRET_KEY` का उपयोग करें।

Docker स्टैक रोकने के लिए:

```bash
docker compose -f docker-compose.yml down
```

### मैनुअल डेवलपमेंट सेटअप

यदि आप बैकएंड और फ्रंटएंड को सीधे अपनी मशीन पर डेवलपमेंट के लिए चलाना चाहते हैं तो इस मार्ग का उपयोग करें।

#### पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित स्थापित हैं:

 आवश्यकता | संस्करण | स्थापना |
-------------|---------|--------------|
 **Python** | 3.12+ | [python.org](https://www.python.org/downloads/) |
 **Node.js** | 18+ | [nodejs.org](https://nodejs.org/) |
 **npm** | 9+ | Node.js के साथ आता है |
 **Git** | 2.30+ | [git-scm.com](https://git-scm.com/) |
 **PostgreSQL** | 14+ (वैकल्पिक) | [postgresql.org](https://www.postgresql.org/download/) |
 **Redis** | 7+ (वैकल्पिक) | [redis.io](https://redis.io/download) |

#### सिस्टम आवश्यकताएँ

 घटक | न्यूनतम | अनुशंसित |
-----------|---------|-------------|
 **CPU** | 2 कोर | 4+ कोर |
 **RAM** | 4 GB | 8+ GB |
 **स्टोरेज** | 10 GB | 50+ GB |
 **OS** | macOS, Linux, Windows | macOS या Linux |

#### वातावरण चर

प्रोजेक्ट रूट में एक `.env` फ़ाइल बनाएँ जिसमें निम्नलिखित चर हों:

```bash
# ═══════════════════════════════════════════════════════════════
# AI Model Configuration
# ═══════════════════════════════════════════════════════════════
# You only need ONE API key to get started.
# The system automatically uses the same key for all 7 model slots
# (primary, extraction, x_search, report, debate_advocate,
#  debate_challenger, debate_arbitrator) unless you override them.

PLANAGENT_OPENAI_API_KEY=your_api_key_here

# Override individual targets (all fall back to shared if unset)
# PLANAGENT_OPENAI_PRIMARY_MODEL=gpt-4.1
# PLANAGENT_OPENAI_PRIMARY_API_KEY=sk-...
# PLANAGENT_OPENAI_EXTRACTION_MODEL=gpt-4.1-mini
# PLANAGENT_OPENAI_DEBATE_ADVOCATE_MODEL=claude-sonnet-4-20250514
# PLANAGENT_OPENAI_DEBATE_CHALLENGER_MODEL=gemini-2.5-flash
# PLANAGENT_OPENAI_DEBATE_ARBITRATOR_MODEL=grok-3

# ═══════════════════════════════════════════════════════════════
# Database (optional — defaults to SQLite for local dev)
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_DATABASE_URL=postgresql+psycopg://planagent:planagent@localhost:5432/planagent

# ═══════════════════════════════════════════════════════════════
# Redis (optional — for event bus in production)
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_REDIS_URL=redis://localhost:6379/0

# ═══════════════════════════════════════════════════════════════
# MinIO Object Storage (optional)
# ═══════════════════════════════════════════════════════════════
# PLANAGENT_MINIO_ENDPOINT=localhost:9000
# PLANAGENT_MINIO_ACCESS_KEY=minioadmin
# PLANAGENT_MINIO_SECRET_KEY=minioadmin

# ═══════════════════════════════════════════════════════════════
# X / Twitter (optional — for social intelligence)
# ═══════════════════════════════════════════════════════════════
# X_BEARER_TOKEN=your_x_bearer_token

# ═══════════════════════════════════════════════════════════════
# Frontend
# ═══════════════════════════════════════════════════════════════
NEXT_PUBLIC_API_URL=/api
```

> **💡 मुख्य बिंदु:** भले ही आपके पास केवल **एक** मॉडल प्रदाता (जैसे OpenAI, या कोई भी OpenAI-संगत API) तक पहुँच हो, आप इसे सभी 7 मॉडल स्लॉट के लिए उपयोग कर सकते हैं। बस `PLANAGENT_OPENAI_API_KEY` सेट करें — सिस्टम बाकी स्वचालित रूप से भर देता है। शुरू करने के लिए 4 अलग-अलग API कुंजियों की आवश्यकता नहीं है।

#### संगत प्रदाता

सभी स्लॉट OpenAI-संगत `/chat/completions` एंडपॉइंट का उपयोग करते हैं। आप प्रदाताओं को स्वतंत्र रूप से मिला-जुला सकते हैं:

 प्रदाता | बेस URL |
---|---|
 OpenAI | `https://api.openai.com/v1` |
 **Anthropic (Claude)** | **`https://api.anthropic.com/v1/openai`** |
 DeepSeek | `https://api.deepseek.com/v1` |
 Google Gemini | `https://generativelanguage.googleapis.com/v1beta/openai` |
 xAI Grok | `https://api.x.ai/v1` |
 Xiaomi MiMo | `https://token-plan-cn.xiaomimimo.com/v1` |
 Zhipu GLM | `https://open.bigmodel.cn/api/paas/v4` |
 MiniMax | `https://api.minimax.chat/v1` |
 कोई भी संगत प्रॉक्सी | आपका प्रॉक्सी URL |

#### स्थापना चरण

```bash
# 1. Clone the repository
git clone https://github.com/dashitongzhi/MingJian.git
cd planagent

# 2. Create and activate Python virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# 3. Install Python dependencies
pip install -e ".[dev]"

# 4. Install frontend dependencies
cd frontend-v2
npm install
cd ..

# 5. Configure environment
cp .env.example .env
# Edit .env file with your API keys and settings

# 6. Initialize database (if using PostgreSQL)
# Create database named 'planagent'
# Run migrations
alembic upgrade head

# 7. Start backend server
uvicorn planagent.main:app --reload --host 0.0.0.0 --port 8000

# 8. Start frontend (in a new terminal)
cd frontend-v2
npm run dev
# Open http://localhost:3000
```

---

## 📦 निर्भरताएँ

### बैकएंड निर्भरताएँ (Python)

 पैकेज | संस्करण | उद्देश्य |
---------|---------|---------|
 **FastAPI** | 0.110+ | उच्च-प्रदर्शन एसिंक API फ्रेमवर्क |
 **SQLAlchemy** | 2.0+ | डेटाबेस ORM |
 **Alembic** | 1.16+ | डेटाबेस माइग्रेशन |
 **Pydantic** | 2.11+ | डेटा सत्यापन |
 **OpenAI** | 2.28+ | OpenAI API क्लाइंट |
 **Anthropic** | 0.52+ | Anthropic API क्लाइंट |
 **Redis** | 6.2+ | इवेंट बस और कैशिंग |
 **pgvector** | 0.3+ | वेक्टर समानता खोज |
 **MinIO** | 7.2+ | ऑब्जेक्ट स्टोरेज |
 **HTTPX** | 0.28+ | एसिंक HTTP क्लाइंट |
 **Uvicorn** | 0.35+ | ASGI सर्वर |

### फ्रंटएंड निर्भरताएँ (Node.js)

 पैकेज | संस्करण | उद्देश्य |
---------|---------|---------|
 **Vite** | 8+ | फ्रंटएंड बिल्ड टूल |
 **React** | 19+ | UI लाइब्रेरी |
 **TypeScript** | 6.0+ | टाइप सुरक्षा |
 **Tailwind CSS** | 4.2+ | यूटिलिटी-फर्स्ट CSS |
 **React Router** | 7+ | क्लाइंट-साइड रूटिंग |
 **Recharts** | 3.8+ | चार्टिंग लाइब्रेरी |

### डेवलपमेंट निर्भरताएँ

पैकेज | संस्करण | उद्देश्य
---------|---------|------
**pytest** | 8.4+ | टेस्टिंग फ्रेमवर्क
**pytest-asyncio** | 1.1+ | एसिंक टेस्ट समर्थन
**Vitest** | 3.2+ | फ्रंटएंड टेस्टिंग फ्रेमवर्क
**Ruff** | 0.12+ | Python लिंटर
**ESLint** | 9+ | JavaScript लिंटर
**Prettier** | 3+ | कोड फ़ॉर्मेटर

---

## 🏗️ सिस्टम आर्किटेक्चर

```mermaid
graph TB
    subgraph "User Interface"
        Console[Strategic Console]
        API[FastAPI Control Plane]
    end
    
    subgraph "Core Services"
        Evidence[Evidence Ingestion]
        Simulation[Simulation Engine]
        Debate[Debate Engine]
        Jarvis[Jarvis Integration]
    end
    
    subgraph "Data Sources"
        RSS[RSS Feeds]
        News[Google News]
        Reddit[Reddit]
        GitHub[GitHub]
        X[X/Twitter]
        GDELT[GDELT]
    end
    
    subgraph "Storage"
        PostgreSQL[(PostgreSQL)]
        Redis[(Redis)]
        MinIO[(MinIO)]
    end
    
    Console --> API
    API --> Evidence
    API --> Simulation
    API --> Debate
    API --> Jarvis
    
    Evidence --> RSS
    Evidence --> News
    Evidence --> Reddit
    Evidence --> GitHub
    Evidence --> X
    Evidence --> GDELT
```

---

## 📁 प्रोजेक्ट संरचना

**बैकएंड — मॉड्यूलर पैकेज संरचना**

```
src/planagent/
├── config/              # config.py (527 पंक्तियाँ) → 4 फ़ाइलों में विभाजित
│   ├── __init__.py
│   ├── base.py
│   ├── openai.py
│   └── main.py
├── debate/              # debate.py (3273 पंक्तियाँ) → 7 मॉड्यूल में विभाजित
│   ├── prompts.py
│   ├── rounds.py
│   ├── llm.py
│   ├── adjudication.py
│   ├── revisions.py
│   └── triggers.py
├── simulation/          # simulation.py (2281 पंक्तियाँ) → 6 मॉड्यूल में विभाजित
│   ├── engine.py
│   ├── scenarios.py
│   ├── impact.py
│   ├── report.py
│   └── domain_packs.py
├── db.py                # केवल Alembic के लिए साफ़ किया गया
├── api/                 # FastAPI रूट
├── models/              # SQLAlchemy मॉडल
├── services/            # व्यापार तर्क
├── rules/               # YAML नियम
└── worker/              # पृष्ठभूमि कार्य
```

**फ्रंटएंड — सब-कंपोनेंट संरचना**

```
frontend-v2/src/
├── components/
│   ├── layout/          # ऐप शेल, साइडबार और नेविगेशन
│   └── ui/              # साझा कॉकपिट सतहें और स्थिति घटक
├── pages/               # डैशबोर्ड, असिस्टेंट, मॉनिटरिंग, रिपोर्ट, सेटिंग्स
├── api/                 # API एंडपॉइंट सहायक
├── hooks/               # थीम और ऐप-स्तरीय React hooks
└── main.tsx             # Vite एंट्री पॉइंट
```

---

## 🧪 टेस्ट चलाना

```bash
# बैकएंड टेस्ट (92 यूनिट टेस्ट, 0.26s)
pytest

# कवरेज के साथ चलाएँ
pytest --cov=planagent

# विशिष्ट टेस्ट चलाएँ
pytest tests/test_debate.py

# विस्तृत आउटपुट के साथ चलाएँ
pytest -v
```

```bash
# फ्रंटएंड बिल्ड
cd frontend-v2
npm run build
```

### स्ट्रेस टेस्ट परिणाम

- ✅ **112 पास, 0 फेल**
- 👥 20 एकसाथ उपयोगकर्ता
- ⚡ 844 RPS (रिक्वेस्ट प्रति सेकंड)
- ⏱️ P50 = 1ms

---

## 📊 गुणवत्ता और प्रदर्शन

 मापदंड | मान
---------|----
 बैकएंड टेस्ट | 92
 फ्रंटएंड टेस्ट | 16
 स्ट्रेस टेस्ट पास दर | 112/114 (98.2%)
 एकसाथ (20 उपयोगकर्ता) | 844 RPS, शून्य 500 त्रुटि
 P50 | 1ms
 P95 | 11ms
 अधिकतम बैकएंड फ़ाइल | ~900 पंक्तियाँ (पहले 3273)
 अधिकतम फ्रंटएंड पेज | ~550 पंक्तियाँ (पहले 1665)

---

## 📚 दस्तावेज़

- [📖 पूर्ण तकनीकी रिपोर्ट](docs/planagent_full_report.md)
- [🚀 एजेंट स्टार्टअप प्लेबुक](docs/agent_startup_playbook.md)
- [🔧 तकनीकी ऋण बैकलॉग](TECHNICAL_DEBT_BACKLOG.md)
- [🤝 योगदान गाइड](CONTRIBUTING.md)
- [📝 चेंजलॉग](CHANGELOG.md)

---

## 🤝 योगदान

हम योगदान का स्वागत करते हैं! हमारा [योगदान गाइड](CONTRIBUTING.md) देखें।

```bash
# 1. Fork the repository
# 2. Create a feature branch
git checkout -b feature/amazing-feature

# 3. Make your changes
# 4. Run tests
pytest

# 5. Commit your changes
git commit -m "feat: add amazing feature"

# 6. Push to the branch
git push origin feature/amazing-feature

# 7. Open a Pull Request
```

---

## 📄 लाइसेंस

यह प्रोजेक्ट Apache License 2.0 के तहत लाइसेंस प्राप्त है - विवरण के लिए [LICENSE](LICENSE) देखें।

---

## 🙏 आभार

- [FastAPI](https://fastapi.tiangolo.com/) - उच्च-प्रदर्शन एसिंक API
- [Vite](https://vite.dev/) - फ्रंटएंड बिल्ड टूल
- [PostgreSQL](https://www.postgresql.org/) + [pgvector](https://github.com/pgvector/pgvector) - डेटाबेस
- [Redis Streams](https://redis.io/docs/data-types/streams/) - इवेंट स्ट्रीमिंग
- [MinIO](https://min.io/) - ऑब्जेक्ट स्टोरेज
- [Linux.do](https://linux.do) - ओपन-सोर्स कम्युनिटी सपोर्ट और संवाद

---

## 📞 संपर्क करें

अगर आप इस प्रोजेक्ट में रुचि रखते हैं — चाहे सहयोग के लिए, सुझाव के लिए, या बस बातचीत के लिए — तो बेझिझक संपर्क करें! हमें आपसे सुनकर खुशी होगी।

- 📧 ईमेल: [cajd6876@gmail.com](mailto:cajd6876@gmail.com) | [2965866908@qq.com](mailto:2965866908@qq.com)
- 🐛 इश्यू: [GitHub Issues](https://github.com/dashitongzhi/MingJian/issues)
- 💬 चर्चाएँ: [GitHub Discussions](https://github.com/dashitongzhi/MingJian/discussions)

---


<div align="center">

## 🌟 Star History

[![Star History Chart](https://api.star-history.com/svg?repos=dashitongzhi/MingJian&type=Date)](https://star-history.com/#dashitongzhi/MingJian&Date)

---

**明鉴** — *स्पष्ट देखें, बुद्धिमत्ता से निर्णय लें*

**明鉴** — *See Clearly, Judge Wisely*

---

**Made with ❤️ by the 明鉴 Team**

</div>
