<div align="center">

<img src="frontend/public/mingjian-icon.jpg" width="160" alt="明鉴 Icon">

# 明鉴 (MingJian)

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

**AI-संचालित मल्टी-एजेंट प्लेटफ़ॉर्म | प्रमाण-आधारित परिदृश्य सिमुलेशन और रणनीतिक निर्णय लेना**

---

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-green.svg)](https://fastapi.tiangolo.com/)
[![Next.js](https://img.shields.io/badge/Next.js-15-black.svg)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue.svg)](https://www.typescriptlang.org/)
[![GitHub stars](https://img.shields.io/github/stars/dashitongzhi/MingJian?style=social)](https://github.com/dashitongzhi/MingJian/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/dashitongzhi/MingJian?style=social)](https://github.com/dashitongzhi/MingJian/network/members)

**🌐 भाषा चयन / Language Selection**

[**🇬🇧 English**](README.md) | [**🇨🇳 中文**](README.zh-CN.md) | [**🇮🇳 हिन्दी**](README.hi.md) | [**🇯🇵 日本語**](README.ja.md)

---

![明鉴 Platform Overview](frontend/public/mingjian-hero.jpg)

</div>

---

## 🌟 明鉴 क्यों चुनें?

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

明鉴 केवल एक और AI उपकरण नहीं है — यह संगठनों द्वारा रणनीतिक निर्णय लेने के तरीके में एक **प्रतिमान बदलाव** है। 10+ रीयल-टाइम डेटा स्रोतों, प्रतिस्पर्धी मल्टी-एजेंट बहस, और निर्धारक निर्णय ट्रेस को मिलाकर, 明鉴 उस "ब्लैक बॉक्स" समस्या को समाप्त करता है जो पारंपरिक AI प्रणालियों को परेशान करती है।

---

## 🎯 आज की बुद्धिमान विश्लेषण प्रणालियों की समस्या

वर्तमान AI विश्लेषण प्रणालियाँ — ChatGPT से लेकर एंटरप्राइज़ कोपायलट तक — एक ही मूलभूत दोष साझा करती हैं:

- ❌ **भ्रम को तथ्य मानना** — LLM बिना वास्तविक डेटा के आधार के आत्मविश्वास से आँकड़े, स्रोत और निष्कर्ष गढ़ते हैं। आप सत्य को कल्पना से अलग नहीं कर सकते।
- ❌ **एकल-मॉडल अंधे धब्बे** — एक मॉडल, एक विश्वदृष्टि। कोई जिरह नहीं, कोई प्रतिस्पर्धी चुनौती नहीं, कोई दूसरी राय नहीं। पूर्वाग्रह अनदेखे रह जाते हैं।
- ❌ **ब्लैक बॉक्स तर्क** — आपको उत्तर मिलता है, लेकिन *कैसे*? कोई प्रमाण श्रृंखला नहीं, कोई स्रोत श्रेय नहीं, तर्क की ऑडिट या पुनरुत्पादन का कोई तरीका नहीं।
- ❌ **पुराना ज्ञान, कोई प्रमाण नहीं** — मॉडल समय में जमे प्रशिक्षण डेटा पर निर्भर करते हैं। वे समाचार, बाज़ार या सेंसर से लाइव इंटेलिजेंस प्राप्त नहीं कर सकते — वे *जानने* के बजाय *अनुमान लगाते* हैं।
- ❌ **कोई स्व-सुधार नहीं** — AI आउटपुट फायर-एंड-फॉरगेट हैं। त्रुटियाँ चुपचाप फैलती हैं। कोई समीक्षा लूप नहीं, कोई गुणवत्ता गेट नहीं, कोई पुनरावृत्ति परिशोधन नहीं।
- ❌ **खंडित कार्यप्रवाह** — डेटा संग्रह, विश्लेषण, बहस और रिपोर्टिंग अलग-अलग उपकरणों में रहते हैं। हर हैंडऑफ़ पर संदर्भ खो जाता है।
- ❌ **शून्य पुनरुत्पादनशीलता** — एक ही प्रश्न दो बार चलाएँ, अलग उत्तर मिलें। कोई निर्धारक ट्रेस नहीं, कोई निर्णय लॉग नहीं, कोई जवाबदेही नहीं।

## 💡 明鉴 इसे कैसे हल करता है

明鉴 अनुमान को **प्रमाण** से, राय को **बहस** से, और ब्लैक बॉक्स को **ट्रेस** से बदलता है:

- ✅ **प्रमाण-आधारित** — प्रत्येक विश्लेषण 10+ स्रोतों (Google News, Reddit, GitHub, GDELT, X/Twitter, और अधिक) से रीयल-टाइम डेटा पर आधारित है। कोई भ्रम नहीं, कोई मनगढ़ंत बात नहीं।
- ✅ **मल्टी-एजेंट प्रतिस्पर्धी बहस** — GPT, Gemini, Claude, और Grok केवल सहमत नहीं होते — वे एक-दूसरे को **चुनौती** देते हैं। अंधे धब्बे उजागर होते हैं, पूर्वाग्रहों को चुनौती मिलती है।
- ✅ **पूर्ण ऑडिट ट्रेल** — हर कदम दर्ज किया जाता है: परामर्श किए गए स्रोत, किए गए तर्क, लिए गए निर्णय। पूर्णतः पारदर्शी, पूर्णतः पुनरुत्पादनीय।
- ✅ **रीयल-टाइम इंटेलिजेंस** — लाइव डेटा इनजेशन, स्ट्रीमिंग विश्लेषण, और तत्काल अंतर्दृष्टि वितरण। कोई जमा हुआ प्रशिक्षण डेटा नहीं।
- ✅ **स्व-उपचार पाइपलाइन** — Jarvis इंजन अपने आउटपुट की समीक्षा, आलोचना और पुनरावृत्ति करता है जब तक गुणवत्ता थ्रेसहोल्ड पूरे नहीं हो जाते। त्रुटियाँ आप तक पहुँचने से पहले पकड़ी जाती हैं।

---

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

### 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
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
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)

 पैकेज | संस्करण | उद्देश्य |
---------|---------|---------|
 **Next.js** | 15+ | React फ्रेमवर्क |
 **React** | 19+ | UI लाइब्रेरी |
 **TypeScript** | 5.8+ | टाइप सुरक्षा |
 **Tailwind CSS** | 4.1+ | यूटिलिटी-फर्स्ट CSS |
 **SWR** | 2.3+ | डेटा फ़ेचिंग |
 **Recharts** | 2.15+ | चार्टिंग लाइब्रेरी |
 **Zustand** | 5.0+ | स्टेट प्रबंधन |

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

पैकेज | संस्करण | उद्देश्य
---------|---------|------
**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/src/app/
├── assistant/           # (1665 पंक्तियाँ) → 5 सब-कंपोनेंट में विभाजित
│   ├── page.tsx
│   ├── ChatPanel.tsx
│   ├── ProcessPanel.tsx
│   ├── SourcePanel.tsx
│   ├── DebatePanel.tsx
│   └── hooks.ts
├── debate/              # (1091 पंक्तियाँ) → 4 सब-कंपोनेंट में विभाजित
│   ├── page.tsx
│   ├── RoundTimeline.tsx
│   ├── AgentCard.tsx
│   └── utils.ts
└── __tests__/           # Vitest टेस्ट
    ├── components/
    ├── api/
    └── lib/
```

---

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

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

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

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

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

```bash
# फ्रंटएंड टेस्ट (16 कंपोनेंट टेस्ट, 0.55s)
cd frontend
npx vitest run
```

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

- ✅ **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
- [Next.js](https://nextjs.org/) - React फ्रेमवर्क
- [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>
