
ऑटोमेटेड OSINT फ्रेमवर्क जो रिकोनिसेंस, डेटा हार्वेस्टिंग, और खतरा खुफिया जानकारी संग्रह के लिए मॉड्यूलर क्रॉलर, स्कैनर और निष्कर्षण पाइपलाइनों के साथ काम करता है।
एक वाइब निवेश एजेंट हार्नेस
LangAlpha को वित्तीय बाजारों की व्याख्या करने और निवेश निर्णयों का समर्थन करने के लिए बनाया गया है।
शुरुआत करें • API दस्तावेज़ • एजेंट कोर • बैकएंड • वेब • TUI • स्किल्स • MCP
डैशबोर्ड से एक क्यूरेटेड समाचार ब्रीफ पिन करें, आइडिया जनरेशन शुरू करें, और बाजार की स्क्रीनिंग के लिए समानांतर उप-एजेंट भेजें — फिर अपनी बुक के अनुसार कैलिब्रेटेड इनलाइन इंटरैक्टिव डैशबोर्ड में पांच लॉन्ग/शॉर्ट पेयर-ट्रेड आइडियाज प्राप्त करें।
आज हर AI फाइनेंस टूल निवेश को एक-शॉट मानता है: एक प्रश्न पूछें, एक उत्तर पाएं, आगे बढ़ें। लेकिन वास्तविक निवेश बायेसियन है — आप एक थीसिस से शुरू करते हैं, हर दिन नया डेटा आता है, और आप तदनुसार अपनी प्रतिबद्धता को अपडेट करते हैं। यह एक पुनरावृत्त प्रक्रिया है जो हफ्तों और महीनों में सामने आती है: थीसिस को परिष्कृत करना, पोजीशन पर पुनर्विचार करना, पुराने के ऊपर नया विश्लेषण जोड़ना। कोई एक प्रॉम्प्ट इसे कैप्चर नहीं कर सकता।
सॉफ्टवेयर इंजीनियरिंग से प्रेरित: एक कोडबेस बना रहता है, और हर कमिट पिछले पर निर्माण करता है। कोड एजेंट हार्नेस जैसे Claude Code और OpenCode ने उन एजेंटों को बनाकर सफलता पाई जो इस पैटर्न को अपनाते हैं, मौजूदा संदर्भ का पता लगाते हैं और पिछले काम पर निर्माण करते हैं। LangAlpha उसी अंतर्दृष्टि को लाता है: एजेंट को एक स्थायी कार्यक्षेत्र दें, और अनुसंधान स्वाभाविक रूप से संचित होता है।
व्यवहार में, आप प्रति अनुसंधान लक्ष्य ("Q2 पुनर्संतुलन", "डेटा सेंटर डिमांड डीप डाइव", "एनर्जी सेक्टर रोटेशन") एक कार्यक्षेत्र बनाते हैं। एजेंट आपसे आपके लक्ष्यों और शैली के बारे में साक्षात्कार करता है, अपनी पहली डिलीवरेबल तैयार करता है, और सब कुछ कार्यक्षेत्र फाइलसिस्टम में सेव करता है। अगले दिन वापस आएं और आपकी फाइलें, थ्रेड्स और संचित अनुसंधान अभी भी मौजूद हैं।
agent.md) होती है जो सत्रों और थ्रेड्स में अनुसंधान को संचित करती है। एक अलग दीर्घकालिक मेमोरी स्टोर (.agents/user/memory/, .agents/workspace/memory/) स्थायी उपयोगकर्ता प्राथमिकताओं और क्रॉस-सैंडबॉक्स ज्ञान को बनाए रखता है, और एक उपयोगकर्ता-प्रबंधित मेमो स्टोर (.agents/user/memo/) आपको PDF और मार्कडाउन अनुसंधान नोट्स अपलोड करने देता है जिन्हें एजेंट मांग पर पढ़ सकता है।सिस्टम आर्किटेक्चर```mermaid %%{init: {'theme': 'neutral'}}%%
flowchart TB
Web["Web UI
React 19 · Vite · Tailwind"] -- "REST · SSE" --> API
Web -- "WebSocket" --> WSP
CLI["CLI / TUI"] -- "REST · SSE" --> API
subgraph Server ["FastAPI Backend"]
API["API Routers<br/>Threads · Workspaces · Market Data<br/>OAuth · Automations · Skills"]
WSP["WebSocket Proxy"]
API --> ChatHandler["Chat Handler<br/>LLM Resolution · Workflow Dispatch"]
ChatHandler --> BTM["Background Task Manager<br/>Decoupled Execution · Workflow Lifecycle"]
end
subgraph PostgreSQL ["PostgreSQL — Dual Pool"]
AppPool[("App Data<br/>Users · Workspaces · Threads<br/>Turns · BYOK Keys · Automations")]
CheckPool[("LangGraph Checkpointer<br/>Agent State · Checkpoints")]
end
subgraph Redis ["Redis"]
EventBuf[("SSE Event Buffer<br/>150K events · Reconnect Replay")]
DataCache[("API Cache<br/>Market Data · SWR")]
Steering[("Steering Queue<br/>User Messages Mid-workflow")]
end
BTM --> AppPool
BTM --> CheckPool
BTM --> EventBuf
BTM --> Steering
API --> DataCache
BTM -. "Sandbox API" .-> Daytona["Daytona<br/>Cloud Sandboxes"]
API -. "REST" .-> FinAPIs["Financial APIs<br/>FMP · SEC EDGAR"]
WSP -. "WebSocket" .-> GData["ginlix-data<br/>Polygon.io · Massive"]
### बहु-प्रदाता मॉडल परत
LangAlpha एक प्रदाता-अज्ञेय मॉडल परत पर चलता है जो कई LLM बैकएंड्स को अमूर्त करता है। एक ही मिडलवेयर स्टैक, उपकरण और कार्यप्रवाह काम करते हैं, चाहे कोई भी मॉडल उन्हें संचालित कर रहा हो। यह दो मोड के साथ आता है:
- **PTC मोड** गहन, बहु-चरणीय निवेश अनुसंधान के लिए। मजबूत तर्कशक्ति बहु-चरणीय विश्लेषण को संचालित करती है जहां एजेंट अपने दृष्टिकोण की योजना बनाता है, वित्तीय डेटा पर विचार करता है, और जटिल विश्लेषण के लिए कोड लिखता है। लंबा संदर्भ इसे एक ही पास में SEC फाइलिंग और शोध रिपोर्ट को क्रॉस-रेफरेंस करने देता है।
- **फ्लैश मोड** तेज संवादात्मक प्रतिक्रियाओं और कार्यक्षेत्र ऑर्केस्ट्रेशन के लिए: त्वरित बाजार खोज, MarketView में चार्ट-एंड-चैट, हल्का Q&A, और एक सचिव जो कार्यक्षेत्रों का प्रबंधन करता है, पृष्ठभूमि में गहन PTC विश्लेषण भेजता है, और प्राकृतिक वार्तालाप के माध्यम से परिणाम वापस भेजता है।
**अपना मॉडल लाएँ** — अपनी मौजूदा AI सदस्यताओं और API कुंजियों का सीधे उपयोग करें। ChatGPT या Claude सदस्यताओं को OAuth (OpenAI Codex OAuth, Claude Code OAuth) के माध्यम से कनेक्ट करें, Kimi (Moonshot), GLM (Zhipu), MiniMax, या Doubao (Volcengine) से कोडिंग योजनाओं का उपयोग करें, या BYOK के माध्यम से किसी भी समर्थित प्रदाता के लिए अपनी स्वयं की API कुंजियाँ प्रदान करें। सभी कुंजियाँ PostgreSQL pgcrypto के माध्यम से आराम से एन्क्रिप्ट की जाती हैं (देखें [सुरक्षा](#security))।
**मॉडल लचीलापन** — क्षणिक त्रुटियों पर स्वचालित पुनर्प्रयास, फिर एक कॉन्फ़िगर किए गए फ़ॉलबैक मॉडल पर फेलओवर। तर्कशक्ति प्रयास (`low`/`medium`/`high`) प्रदाताओं में स्वचालित रूप से सामान्यीकृत होता है।
### प्रोग्रामेटिक टूल कॉलिंग (PTC) और कार्यक्षेत्र संरचना
अधिकांश AI एजेंट एक बार के JSON टूल कॉल के माध्यम से डेटा के साथ बातचीत करते हैं जो परिणाम को सीधे संदर्भ विंडो में डंप करते हैं। प्रोग्रामेटिक टूल कॉलिंग इसे उलट देता है: कच्चे डेटा को LLM के माध्यम से पास करने के बजाय, एजेंट [Daytona](https://www.daytona.io/) क्लाउड सैंडबॉक्स के अंदर कोड लिखता और निष्पादित करता है जो डेटा को स्थानीय रूप से संसाधित करता है और केवल अंतिम परिणाम लौटाता है। यह टोकन अपव्यय को नाटकीय रूप से कम करता है, साथ ही उस विश्लेषण को सक्षम करता है जो अन्यथा संदर्भ सीमाओं को पार कर जाएगा।
**PTC निष्पादन प्रवाह**```mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart LR
LLM["LLM"] -- "1 — Writes Python" --> EC["ExecuteCode Tool"]
EC -- "2 — Sends to sandbox" --> Run["Code Runner"]
subgraph Sandbox ["Daytona Cloud Sandbox"]
Run -- "3 — import tools.*" --> Wrappers["Generated Wrappers<br/>One module per MCP server"]
Wrappers -- "4 — JSON-RPC stdio" --> MCP["MCP Servers<br/>Subprocesses in sandbox"]
end
MCP -- "5 — REST / WS" --> APIs["Financial APIs<br/>FMP · Yahoo · Polygon"]
APIs -- "6 — Data" --> MCP
Run -- "7 — stdout · charts · files" --> EC
EC -- "8 — Result" --> LLM
इसके अलावा, वर्कस्पेस वातावरण एकल सत्र से परे स्थिरता (persistence) सक्षम करता है। प्रत्येक सैंडबॉक्स में एक संरचित निर्देशिका लेआउट होता है — work/<task>/ प्रति-कार्य कार्य क्षेत्रों (डेटा, चार्ट, कोड) के लिए, results/ अंतिम रिपोर्ट के लिए, और data/ साझा डेटासेट के लिए — ताकि मध्यवर्ती परिणाम सत्रों में बने रहें। मूल में agent.md है, एक वर्कस्पेस नोट्स फ़ाइल जिसे एजेंट थ्रेड्स के पार बनाए रखता है: वर्कस्पेस लक्ष्य, प्रमुख निष्कर्ष, एक थ्रेड इंडेक्स, और महत्वपूर्ण आर्टिफैक्ट्स का एक फ़ाइल इंडेक्स। एक मिडलवेयर परत हर मॉडल कॉल में agent.md को इंजेक्ट करती है, ताकि एजेंट को फ़ाइलों को फिर से पढ़े बिना पिछले काम का पूरा संदर्भ हमेशा मिलता रहे। इसके समानांतर, एक स्टोर-समर्थित दीर्घकालिक मेमोरी सिस्टम (.agents/user/memory/, .agents/workspace/memory/) स्थायी उपयोगकर्ता प्राथमिकताओं और क्रॉस-सैंडबॉक्स ज्ञान को कैप्चर करता है जो वर्कस्पेस रीसेट से बचता है, और एक उपयोगकर्ता-प्रबंधित मेमो स्टोर (.agents/user/memo/) आपके द्वारा अपलोड किए गए दस्तावेज़ रखता है — PDF को सर्वर-साइड टेक्स्ट-एक्सट्रैक्ट किया जाता है और मेटाडेटा एक LLM द्वारा एसिंक्रोनस रूप से उत्पन्न किया जाता है ताकि एजेंट उन्हें विषय के अनुसार ढूंढ और उद्धृत कर सके। प्रत्येक वर्कस्पेस एक ही शोध लक्ष्य से जुड़े कई वार्तालाप थ्रेड्स का समर्थन करता है।
प्रत्येक वर्कस्पेस एक स्थायी सैंडबॉक्स का मानचित्रण करता है — अनुसंधान को थीम, पोर्टफोलियो या थीसिस के अनुसार व्यवस्थित करें।
एजेंट इंटरैक्टिव डैशबोर्ड बनाने के लिए कोड लिखता है — यहाँ, Mag 7 + Semiconductors उत्प्रेरक कैलेंडर।
जबकि PTC जटिल कार्यों जैसे मल्टी-स्टेप डेटा प्रोसेसिंग, वित्तीय मॉडलिंग और चार्ट निर्माण में उत्कृष्ट है, हर डेटा लुकअप के लिए कोड निष्पादन शुरू करना अति-हत्या है। इसलिए हमने एक मूल वित्तीय डेटा टूलसेट भी बनाया जो बार-बार उपयोग किए जाने वाले डेटा को LLM-पाचन योग्य प्रारूप में बदलता है। ये उपकरण ऐसे आर्टिफैक्ट के साथ आते हैं जो सीधे फ्रंटएंड में रेंडर होते हैं, जो एजेंट के विश्लेषण के साथ मानव परत को तत्काल दृश्य संदर्भ देते हैं।
मूल उपकरण प्रत्यक्ष उपकरण कॉल के माध्यम से त्वरित संदर्भ के लिए:
MCP सर्वर PTC कोड निष्पादन के माध्यम से खपत किए जाने वाले कच्चे डेटा के लिए:
एजेंट स्वचालित रूप से सही परत चुनता है: संदर्भ में फिट होने वाले त्वरित लुकअप के लिए मूल उपकरण, जब कार्य में सैंडबॉक्स में बल्क डेटा प्रोसेसिंग, चार्टिंग या बहु-वर्षीय रुझान विश्लेषण की आवश्यकता होती है तो MCP उपकरण।
MCP सर्वर प्रति वर्कस्पेस कॉन्फ़िगरेबल हैं। अंतर्निहित सर्वर को व्यक्तिगत रूप से अक्षम किया जा सकता है, और कस्टम HTTP या stdio सर्वर — जिसमें वर्कस्पेस वॉल्ट से क्रेडेंशियल पढ़ने वाले शामिल हैं — को API या UI के माध्यम से जोड़ा जा सकता है, बिना पुनरारंभ के सेकंडों में प्रभावी होता है।
LangAlpha तीन-स्तरीय डेटा प्रदाता पदानुक्रम का समर्थन करता है। प्रत्येक स्तर वैकल्पिक है — जब उच्च स्तर अनुपलब्ध होते हैं तो सिस्टम शानदार ढंग से डाउनग्रेड होता है:
सभी स्तर डिफ़ॉल्ट रूप से सक्षम हैं। केवल मुफ्त डेटा (Yahoo Finance) के साथ चलाने के लिए, संकेतित चयन के साथ make config चलाएं। आप agent_config.yaml को मैन्युअल रूप से भी संपादित कर सकते हैं।
[!NOTE] Yahoo Finance डेटा समुदाय-स्रोत है और इसमें सीमाएँ हैं: 1-घंटे के अंतराल से नीचे कोई इंट्राडे डेटा नहीं, विलंबित कोट्स, सीमित मैक्रो कवरेज, और सामयिक दर सीमा।
FMP_API_KEYदृढ़ता से अनुशंसित है (मुफ्त स्तर उपलब्ध).
एजेंट 23 पूर्व-निर्मित वित्तीय अनुसंधान कौशल के साथ आता है, प्रत्येक स्लैश कमांड या स्वचालित पहचान द्वारा सक्रिय किया जा सकता है। कौशल एजेंट स्किल्स स्पेक का पालन करते हैं और वर्कस्पेस में SKILL.md फ़ाइल डालकर बढ़ाए जा सकते हैं।
स्वीकारोक्ति: कुछ कौशल anthropics/financial-services-plugins से अनुकूलित हैं।
कॉम्प्स एनालिसिस कौशल एक एक्सेल मॉडल और एक पीडीएफ रिपोर्ट भेजता है — सहकर्मी-समूह गुणकों से निहित मूल्य सीमाओं के साथ।
एजेंट मूल रूप से इमेज (PNG, JPG, GIF, WebP) और PDF पढ़ता है — मल्टीमॉडल मिडलवेयर फ़ाइल रीड को इंटरसेप्ट करता है, सैंडबॉक्स या URL से सामग्री डाउनलोड करता है, और प्रत्यक्ष दृश्य व्याख्या के लिए इसे base64 के रूप में वार्तालाप में इंजेक्ट करता है। MarketView में, उपयोगकर्ता के लाइव कैंडलस्टिक चार्ट को कैप्चर किया जा सकता है और एजेंट को मल्टीमॉडल संदर्भ के रूप में भेजा जा सकता है — कैप्चर में चार्ट इमेज और संरचित मेटाडेटा (प्रतीक, अंतराल, OHLCV, मूविंग एवरेज, RSI, 52-सप्ताह की सीमा) दोनों शामिल हैं ताकि एजेंट दृश्य पैटर्न और अंतर्निहित डेटा दोनों के बारे में तर्क कर सके।
MarketView लाइव चार्ट को वास्तविक समय तकनीकी विश्लेषण के लिए एजेंट को भेजता है।
एजेंट को MarketView चार्ट पर मार्कअप करने के लिए कहें और यह सीधे कैनवास पर ड्रा करता है — मूल्य स्तर, ट्रेंडलाइन, फिबोनाची रिट्रेसमेंट, इवेंट बैज, आयत और टेक्स्ट मार्कर। एनोटेशन SSE पर लाइव स्ट्रीम होते हैं, प्रति वर्कस्पेस और प्रति symbol:timeframe जोड़ी बने रहते हैं (NVDA:1day पर एक ड्राइंग NVDA:1hour से अलग रहती है), और पुन: कनेक्ट होने पर रीप्ले होते हैं। जब बातचीत MarketView के बाहर होती है, तो चैट ट्रांसक्रिप्ट एनोटेशन लीजेंड और लाइव चार्ट के लिए एक-क्लिक लिंक के साथ एक मिनी-पूर्वावलोकन कार्ड दिखाता है। चार्ट-एनोटेशन कौशल स्वचालित रूप से लोड होता है जब भी MarketView से कोई संदेश भेजा जाता है, ताकि एजेंट को हमेशा पता हो कि "चार्ट" किस टिकर और टाइमफ्रेम को संदर्भित करता है।
एजेंट बातचीत के भीतर से अपने स्वयं के कार्यों को शेड्यूल कर सकता है — कोई अलग UI की आवश्यकता नहीं है। उपयोगकर्ता समर्पित ऑटोमेशन पृष्ठ से पूर्ण CRUD, निष्पादन इतिहास और मैनुअल ट्रिगर के साथ ऑटोमेशन प्रबंधित कर सकते हैं। सभी ऑटोमेशन प्रकार एक ही AutomationExecutor, कॉन्फ़िगरेबल एजेंट मोड (PTC या Flash), और लगातार विफलताओं के बाद स्वचालित अक्षमीकरण साझा करते हैं।
समय-आधारित — आवर्ती शेड्यूल के लिए मानक क्रॉन एक्सप्रेशन ("यह विश्लेषण हर सोमवार सुबह 9 बजे चलाएं") और एकल भविष्य निष्पादन के लिए वन-शॉट डेटटाइम शेड्यूलिंग।
मूल्य-ट्रिगर — किसी भी स्टॉक या प्रमुख सूचकांक पर मूल्य लक्ष्य या प्रतिशत गति सेट करें, और शर्त पूरी होते ही एजेंट आपके निर्देशों को निष्पादित करता है। एक PriceMonitorService रीयल-टाइम टिक्स के लिए ginlix-data में एक साझा अपस्ट्रीम WebSocket कनेक्शन की सदस्यता लेता है (रीयलटाइम टियर पर स्टॉक, विलंबित टियर पर सूचकांक)। Redis-आधारित डिडुप्लीकेशन सर्वर इंस्टेंस में डुप्लिकेट ट्रिगर को रोकता है।
| शर्त | उदाहरण |
|---|---|
| मूल्य ऊपर/नीचे | AAPL के $200 पार करने पर ट्रिगर करें |
| प्रतिशत परिवर्तन ऊपर/नीचे | SPX के पिछले बंद से +2% चलने पर ट्रिगर करें |
शर्तों को जोड़ा जा सकता है (AND तर्क), और प्रत्येक मूल्य ऑटोमेशन वन-शॉट (एक बार फायर करें) या आवर्ती मोड को कॉन्फ़िगरेबल कूलडाउन (न्यूनतम 4 घंटे, या डिफ़ॉल्ट रूप से प्रति ट्रेडिंग दिन एक बार) के साथ समर्थन करता है।
[!NOTE] मूल्य-ट्रिगर ऑटोमेशन के लिए ginlix-data से रीयल-टाइम WebSocket फ़ीड की आवश्यकता होती है। बीटा के दौरान, यह सुविधा विशेष रूप से होस्टेड प्लेटफ़ॉर्म पर उपलब्ध है। भविष्य के रिलीज़ में व्यापक WebSocket डेटा स्रोत समर्थन की योजना है।
आवर्ती शोध शेड्यूल करें — यहाँ, प्रत्येक रिपोर्ट से पहले Mag 7 प्री-अर्निंग विश्लेषण स्वचालित रूप से चलते हैं।
एजेंट आर्किटेक्चर```mermaid %%{init: {'theme': 'neutral'}}%%
flowchart TB subgraph Orchestrator ["BackgroundSubagentOrchestrator"] direction TB Agent["Main Agent · LangGraph ReAct"] end
Agent -- "Task(init · update · resume)" --> SubPool
SubPool -- "results" --> Orchestrator
subgraph SubPool ["Subagent Pool — Parallel Async"]
direction LR
S1["general-purpose"]
S2["research"]
S3["user-defined"]
end
subgraph Middleware ["Middleware Stack"]
direction LR
MW1["Tool Safety<br/>Leak Detection<br/>Protected Paths<br/>Error Handling"]
MW2["Context & Skills<br/>agent.md Injection<br/>Skill Loading<br/>Multimodal"]
MW3["Coordination<br/>HITL · Plan Mode<br/>Steering<br/>Subagent Dispatch"]
MW4["Resilience<br/>Compaction<br/>Retry + Fallback<br/>Prompt Caching"]
end
Agent -- "wraps model + tool calls" --> Middleware
Middleware --> LLM["Multi-Provider LLM<br/>OpenAI · Anthropic · Gemini · DeepSeek<br/>Qwen · Kimi · Doubao · GLM · MiniMax · ..."]
Agent <--> Tools
subgraph Tools ["Tool Layer"]
direction LR
T1["execute_code<br/>bash"]
T2["Filesystem<br/>read · write · edit<br/>glob · grep"]
T3["Finance<br/>Market Data · SEC<br/>Options · Screener"]
T4["Web<br/>Search · Fetch"]
T5["ShowWidget<br/>Inline HTML"]
end
T1 <--> Workspace
T2 <--> Workspace
subgraph Workspace ["Workspace — Daytona Sandbox"]
direction LR
W1["agent.md<br/>Workspace Notes"]
W2["work/‹task›/<br/>data · charts"]
W3["results/<br/>Reports"]
W4["tools/<br/>MCP Wrappers"]
end
### एजेंट स्वार्म
कोर एजेंट [LangGraph](https://github.com/langchain-ai/langgraph) पर चलता है और `Task()` टूल के माध्यम से समानांतर एसिंक्रोनस सबएजेंट उत्पन्न करता है। सबएजेंट पृथक संदर्भ विंडो (isolated context windows) के साथ समवर्ती रूप से निष्पादित होते हैं, जो लंबी तर्क शृंखलाओं में विचलन (drift) को रोकते हैं। प्रत्येक सबएजेंट मुख्य एजेंट को संश्लेषित परिणाम वापस भेजता है, जिससे ऑर्केस्ट्रेटर हल्का रहता है। मुख्य एजेंट किसी सबएजेंट के परिणाम की प्रतीक्षा करना या अन्य लंबित कार्य जारी रखना चुन सकता है। आप UI में **Subagents** दृश्य पर स्विच करके उनकी प्रगति रीयल टाइम में देख सकते हैं (केवल वेब फ्रंटएंड)।
सरल डिस्पैच से परे, मुख्य एजेंट अभी भी चल रहे सबएजेंट को अतिरिक्त निर्देश भेज सकता है, या किसी पूर्ण किए गए सबएजेंट को पूरे संदर्भ के साथ पुनः शुरू कर सकता है ताकि पुनरावृत्तीय सुधार (iterative refinement) हो सके। यदि सर्वर पुनः प्रारंभ होता है, तो सबएजेंट की स्थिति स्वचालित रूप से उसके अंतिम चेकपॉइंट से पुनर्निर्मित होती है।
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/dd8d54f3a8879372cf72c8a05d6ecce70c53ed0d86c8aed6a49c49276d4f97e4.png" alt="डेटा सेंटर कंप्यूट चेन पर शोध कर रहे समानांतर सबएजेंट जिनमें इंटरएक्टिव AI कंप्यूट टाइमलाइन है" width="800" />
</p>
<p align="center"><em>शोध सबएजेंट कंप्यूट चेन के पार समानांतर चलते हैं — परिणाम एक इंटरएक्टिव AI कंप्यूट टाइमलाइन में विलीन हो जाते हैं जो NVIDIA, Google, AMD, AWS और बाकी उद्योग को कवर करती है।</em></p>
### मिडलवेयर स्टैक
एजेंट एक मिडलवेयर स्टैक के साथ आता है, जिसमें शामिल हैं:
- **लाइव स्टीयरिंग** — एजेंट गलत रास्ता ले सकते हैं, अप्रासंगिक डेटा का पीछा कर सकते हैं, या विश्लेषण के दौरान आपके इरादे को गलत समझ सकते हैं। स्टीयरिंग आपको बिना प्रतीक्षा किए पाठ्यक्रम सुधारने (course-correct) देता है। जब एजेंट काम कर रहा हो, किसी भी समय एक फॉलो-अप संदेश भेजें — अपडेटेड निर्देश, स्पष्टीकरण, या पूरी तरह से नए प्रश्न — और एजेंट इसे अपने अगले चरण से पहले उठा लेता है, जैसे आपने वास्तविक समय में कहा हो। स्टीयरिंग हर स्तर पर काम करता है: मुख्य एजेंट को पुनर्निर्देशित करें, व्यक्तिगत पृष्ठभूमि सबएजेंट को फॉलो-अप भेजें, या सिस्टम को अनुपयुक्त संदेशों को आपके इनपुट बॉक्स में वापस लाने दें यदि कार्यप्रवाह पहले समाप्त हो जाए। कोई कार्य खोता नहीं, कोई पुनर्प्रारंभ आवश्यक नहीं।
- **गतिशील कौशल लोडिंग** `LoadSkill` टूल के माध्यम से जो एजेंट को मांग पर कौशल टूलसेट खोजने और सक्रिय करने देता है, डिफ़ॉल्ट टूल सतह को हल्का रखते हुए जरूरत पड़ने पर विशेष क्षमताएं उपलब्ध कराता है
- **मल्टीमॉडल** फ़ाइल रीड्स को इमेज और PDF के लिए इंटरसेप्ट करता है, सैंडबॉक्स या URL से सामग्री डाउनलोड करता है, और इसे base64 के रूप में बातचीत में इंजेक्ट करता है ताकि मल्टीमॉडल मॉडल उन्हें मूल रूप से व्याख्या कर सकें
- **प्लान मोड** ह्यूमन-इन-द-लूप इंटरप्ट के साथ आपको निष्पादन से पहले एजेंट की रणनीति की समीक्षा और अनुमोदन करने देता है
- **ऑटो-कॉम्पैक्शन** टोकन सीमा के पास पहुंचने पर बातचीत के इतिहास को संपीड़ित करता है, स्थान खाली करते हुए मुख्य संदर्भ को संरक्षित करता है
- **संदर्भ प्रबंधन** बड़े टूल परिणामों को स्वचालित रूप से वर्कस्पेस फाइलसिस्टम में ऑफलोड करता है, संदर्भ में एक छोटा पूर्वावलोकन रखता है, और बढ़ती हुई लंबी बातचीत को संक्षिप्त करता है — पुराने दौरों को सारांशित करते हुए पूर्ण प्रतिलेख को वर्कस्पेस में पुनर्प्राप्त करने योग्य रखता है। शोध सत्र बिना संदर्भ सीमा से टकराए अनिश्चितकाल तक चल सकते हैं।
पूरे सेट के लिए देखें [`src/ptc_agent/agent/middleware/`](https://github.com/ginlix-ai/langalpha/blob/HEAD/src/ptc_agent/agent/middleware/)।
स्वीकृति: कुछ मिडलवेयर घटक [LangChain DeepAgents](https://github.com/langchain-ai/deepagents) कार्यान्वयन से अनुकूलित या प्रेरित हैं।
### स्ट्रीमिंग और इंफ्रास्ट्रक्चर
सर्वर सभी एजेंट गतिविधि को SSE पर स्ट्रीम करता है: टेक्स्ट चंक, तर्क और परिणामों सहित टूल कॉल, सबएजेंट स्थिति अपडेट, फ़ाइल ऑपरेशन आर्टिफैक्ट, और ह्यूमन-इन-द-लूप इंटरप्ट। प्रत्येक एजेंट निर्णय UI में पूरी तरह से ट्रेस करने योग्य होता है।
कार्यप्रवाह स्वतंत्र पृष्ठभूमि कार्यों के रूप में चलते हैं, HTTP/SSE कनेक्शन से पूरी तरह से अलग। यदि ब्राउज़र टैब बंद हो जाता है या नेटवर्क ड्रॉप हो जाता है, तो एजेंट काम करता रहता है। पुन: कनेक्ट करने पर, 150,000 बफ़र किए गए ईवेंट तक रीप्ले होते हैं ताकि क्लाइंट ठीक वहीं से उठाए जहाँ उसने छोड़ा था।
PostgreSQL LangGraph चेकपॉइंटिंग, बातचीत इतिहास और उपयोगकर्ता डेटा (वॉचलिस्ट, पोर्टफोलियो, प्राथमिकताएं) का बैकअप लेता है, ताकि एजेंट स्थिति और उपयोगकर्ता संदर्भ सत्रों के पार बने रहें। Redis SSE ईवेंट को बफ़र करता है ताकि ब्राउज़र रिफ्रेश और नेटवर्क ड्रॉप से उड़ान में संदेश न खोएं: क्लाइंट स्वचालित रूप से पुन: कनेक्ट और रीप्ले होता है। उपयोगकर्ता डेटा एजेंट के लिए वर्चुअल JSON फ़ाइलों के रूप में उपलब्ध होता है जो सीधे डेटाबेस द्वारा समर्थित होती हैं — रीड्स मांग पर लाइव पंक्तियों को क्रमबद्ध करता है और राइट्स एकल मान्य लेनदेन में लागू होते हैं, बिना सैंडबॉक्स सिंक राउंड-ट्रिप के — जबकि कौशल सत्र आरंभ पर मैनिफेस्ट-आधारित कैश के माध्यम से सैंडबॉक्स में सिंक किए जाते हैं, केवल तब पुनः अपलोड होते हैं जब वे बदलते हैं। विवरण के लिए पूर्ण [API संदर्भ](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md) देखें।
### स्रोत प्रोवेनेंस
एजेंट द्वारा छुआ गया प्रत्येक बाहरी डेटा स्रोत ट्रेस और उजागर किया जाता है। एक प्रोवेनेंस मिडलवेयर प्रत्येक वेब खोज, पेज फ़ेच, SEC फाइलिंग, मार्केट-डेटा कॉल, MCP टूल इनवोकेशन और वर्कस्पेस फ़ाइल रीड को रिकॉर्ड करता है — जिसमें पृष्ठभूमि सबएजेंट द्वारा की गई पहुँच भी शामिल है — और प्रति स्रोत एक `provenance` स्ट्रीम ईवेंट उत्सर्जित करता है, जिनमें से कोई भी LLM संदर्भ में प्रवेश नहीं करता। UI इसे प्रत्येक दौर के बगल में एक Sources पैनल के रूप में प्रस्तुत करता है: प्रकार के अनुसार समूहीकृत स्रोत, वेब मूल के लिए फ़ेविकॉन, और एक विवरण दृश्य जो प्रदाता, टाइमस्टैम्प, कैप्चर किए गए तर्क, एक सामग्री फिंगरप्रिंट और एक स्निपेट को उजागर करता है। एक *This turn / All sources* टॉगल पूरे थ्रेड में डेटा फुटप्रिंट प्रकट करता है, और किसी फ़ाइल या मेमो स्रोत पर क्लिक करने से वह सीधे वर्कस्पेस फ़ाइल पैनल में खुलता है — प्रत्येक शोध आउटपुट के पीछे डेटा का एक पूरी तरह से लेखापरीक्षा योग्य निशान।
## सुरक्षा और वर्कस्पेस वॉल्ट
LangAlpha क्रेडेंशियल्स, कोड निष्पादन और उपयोगकर्ता-आपूर्ति रहस्यों में एक स्तरित सुरक्षा मॉडल लागू करता है।
**आराम पर एन्क्रिप्शन** — सभी संवेदनशील डेटा (BYOK API कुंजियाँ, OAuth टोकन, वॉल्ट रहस्य) `pgcrypto` का उपयोग करके PostgreSQL के अंदर एन्क्रिप्ट किया जाता है। प्लेनटेक्स्ट कभी डेटाबेस में संग्रहीत नहीं होता।
**क्रेडेंशियल लीक डिटेक्शन** — प्रत्येक टूल आउटपुट LLM संदर्भ तक पहुँचने से पहले स्कैन किया जाता है। मिडलवेयर सभी ज्ञात गुप्त मानों (MCP सर्वर कुंजियाँ, सैंडबॉक्स टोकन, वॉल्ट रहस्य) को हल करता है और किसी भी मिलान को `[REDACTED:KEY_NAME]` के रूप में रिडैक्ट करता है। वही रिडैक्शन मानव-सामने वाली सतहों पर लागू होता है — क्लाइंट तक पहुँचने से पहले फ़ाइल रीड और डाउनलोड को साफ़ कर दिया जाता है।
**सैंडबॉक्स कोड निष्पादन** — प्रत्येक वर्कस्पेस अपने स्वयं के [Daytona](https://www.daytona.io/) क्लाउड सैंडबॉक्स में एक समर्पित फाइलसिस्टम और नेटवर्क सीमा के साथ चलता है। संरक्षित पथ रक्षक (Protected path guards) एजेंट को आंतरिक सिस्टम निर्देशिकाओं तक पहुँचने से रोकते हैं — टूल इनपुट (निष्पादन से पहले कॉल को शॉर्ट-सर्किट करना) और टूल आउटपुट (लीक हुए पथों को रिडैक्ट करना) दोनों को अवरुद्ध करते हैं।
### वर्कस्पेस वॉल्ट
प्रत्येक वर्कस्पेस में API कुंजियों और क्रेडेंशियल्स को संग्रहीत करने के लिए एक अंतर्निहित सीक्रेट वॉल्ट होता है जिसका उपयोग एजेंट कोड निष्पादन के दौरान कर सकता है — तृतीय-पक्ष डेटा स्रोतों (ब्रोकरेज API, बाहरी डेटा विक्रेता, आदि) तक पहुँचने या वर्कस्पेस के अंदर LLM-संचालित कार्यप्रवाह बनाने के लिए उपयोगी। एक बार UI में कोई रहस्य संग्रहीत करें, और यह एक सरल Python API के माध्यम से उस वर्कस्पेस में प्रत्येक एजेंट सत्र के लिए उपलब्ध होता है:```python
from vault import get, list_names, load_env
api_key = get("MY_API_KEY") # retrieve a single secret
names = list_names() # list available secret names
load_env() # bulk-load all secrets as env vars
Vault secrets inherit every protection layer above — encrypted at rest, redacted from all agent and human-facing output, and blocked from direct file access. Only the workspace owner can create, update, reveal, or delete secrets.
The web UI is more than a chat interface — it's a full research workbench:
ShowWidget tool, with theme-aware styling and sandboxed iframesresults/, served with real browser semantics (scripts run, CDN libraries load, relative assets resolve), viewable fullscreen and exportable to PDF — distinct from inline widgets and live dashboardssymbol:timeframe and previewed inline in chat
The dashboard surfaces market indices, a personalized brief, and your watchlist — any tile can be pinned to the agent as chat context to kick off a research thread.
|
|
Use LangAlpha from the tools you already work in. The integration gateway relays messages between messaging platforms and the core agent, with each channel receiving responses in its native format. Channel integrations are available exclusively on our hosted service with one-click setup and quick account binding — visit integrations to get started.
Slack and Discord offer native channels and thread-level groups, which map naturally to LangAlpha workspaces and threads — context is managed natively. Telegram and WhatsApp lack these primitives, so they run a simplified orchestration mode. Feishu has full messaging and card-based UI with OAuth coming soon. Telegram has partial support with full coverage coming soon. WhatsApp is planned.
[!TIP] Don't want to self-host? Try the hosted version — it includes full data infrastructure (FMP, real-time market data, cloud sandboxes) out of the box. Bring your own LLM key (BYOK) and start immediately with no setup.
You can start LangAlpha with nothing but Docker — no API keys for data, no cloud sandbox. Just Docker for infrastructure and your own LLM subscription for the AI model.```bash git clone https://github.com/ginlix-ai/langalpha.git cd langalpha make config # interactive wizard — creates .env, configures LLM, data sources, sandbox, and search make up # starts PostgreSQL, Redis, backend, and frontend
- **फ्रंटएंड:** [http://localhost:5173](http://localhost:5173)
- **बैकएंड API:** [http://localhost:8000](http://localhost:8000) (इंटरैक्टिव डॉक्स `/docs` पर)
- **सत्यापित करें:** `curl http://localhost:8000/health`
पूर्ण अनुभव के लिए, विज़ार्ड आपसे वैकल्पिक कुंजियाँ माँगेगा — या बाद में `.env` में जोड़ें:
| कुंजी | यह क्या अनलॉक करता है |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `DAYTONA_API_KEY` | क्रॉस-सत्र वर्कस्पेस समर्थन के साथ स्थायी क्लाउड सैंडबॉक्स ([daytona.io](https://www.daytona.io/)) |
| `FMP_API_KEY` | उच्च-गुणवत्ता वाले फंडामेंटल्स, मैक्रो, SEC फाइलिंग, ऑप्शन ([निःशुल्क स्तर उपलब्ध](https://site.financialmodelingprep.com/)) |
| `SERPER_API_KEY` या `TAVILY_API_KEY` | वेब खोज |
| `LANGSMITH_API_KEY` | LangGraph रन के लिए LangSmith ट्रेसिंग |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | किसी भी OTLP बैकएंड (Jaeger, Grafana Tempo, Datadog, Honeycomb, ...) पर OpenTelemetry ट्रेस और मीट्रिक |
| `SANDBOX_PROVIDER` | सैंडबॉक्स प्रदाता को ओवरराइड करें (`daytona` या `docker`); जब सेट न हो तो `DAYTONA_API_KEY` से ऑटो-डिटेक्ट होता है |
> [!NOTE]
> बाहरी सेवा कुंजियों के बिना आपको एक कार्यात्मक लेकिन सीमित अनुभव मिलता है: Yahoo Finance मुफ्त मूल्य इतिहास, फंडामेंटल्स, आय और विश्लेषक डेटा प्रदान करता है, लेकिन रीयल-टाइम कोट्स, इंट्राडे टिक डेटा, मैक्रो इकोनॉमिक्स और ऑप्शन एनालिटिक्स का अभाव है। Docker सैंडबॉक्स Daytona क्लाउड सैंडबॉक्स को बदल देता है — पूर्ण PTC कोड निष्पादन काम करता है, लेकिन कम सुरक्षा और आइसोलेशन के साथ। अधिक क्षमताएँ अनलॉक करने के लिए कुंजियाँ धीरे-धीरे जोड़ें।
सभी उपलब्ध कमांड देखने के लिए `make help` चलाएँ। Docker के बिना मैन्युअल सेटअप के लिए, [CONTRIBUTING.md](https://github.com/ginlix-ai/langalpha/blob/HEAD/CONTRIBUTING.md#manual-setup) देखें।
## दस्तावेज़ीकरण
- **[API संदर्भ](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md)** चैट स्ट्रीमिंग, वर्कस्पेस, वर्कफ़्लो स्थिति और अधिक के एंडपॉइंट के साथ
- **इंटरैक्टिव API डॉक्स** सर्वर चलने पर `http://localhost:8000/docs` पर
## संपर्क
साझेदारी, सहयोग या सामान्य पूछताछ के लिए, [[email protected]](mailto:[email protected]) पर संपर्क करें।
## अस्वीकरण
LangAlpha एक शोध उपकरण है, कोई वित्तीय सलाहकार नहीं। इस सॉफ्टवेयर द्वारा उत्पन्न कोई भी चीज़ निवेश सलाह, सिफारिश या किसी प्रतिभूति को खरीदने या बेचने का निमंत्रण नहीं है। सभी आउटपुट केवल सूचनात्मक और शैक्षिक उद्देश्यों के लिए हैं। अपने विवेक से उपयोग करें — निवेश निर्णय लेने से पहले हमेशा अपना स्वयं का उचित परिश्रम करें।
## लाइसेंस
Apache License 2.0
| स्तर | प्रदाता | कुंजी आवश्यक | यह क्या जोड़ता है |
|---|
| 1 | ginlix-data (होस्टेड प्रॉक्सी) | GINLIX_DATA_URL | रीयल-टाइम WebSocket मूल्य फ़ीड, इंट्राडे डेटा, विस्तारित ट्रेडिंग घंटे डेटा, विकल्प डेटा |
| 2 | FMP (Financial Modeling Prep) | FMP_API_KEY | उच्च गुणवत्ता वाले फंडामेंटल, वित्तीय विवरण, मैक्रो डेटा, विश्लेषक डेटा |
| 3 | Yahoo Finance (yfinance) | कोई नहीं — निःशुल्क | मूल्य इतिहास, बुनियादी फंडामेंटल, आय, होल्डिंग्स, इनसाइडर लेनदेन, ESG, स्क्रीनर |
| श्रेणी | कौशल |
|---|
| मूल्यांकन और मॉडलिंग | DCF Model, Comps Analysis, 3-Statement Model, Model Update, Model Audit |
| इक्विटी अनुसंधान | Initiating Coverage (30–50pg report), Earnings Preview, Earnings Analysis, Thesis Tracker |
| बाजार खुफिया | Morning Note, Catalyst Calendar, Sector Overview, Competitive Analysis, Idea Generation, X Research |
| दस्तावेज़ निर्माण | PDF, DOCX, PPTX, XLSX, HTML — बनाएं, संपादित करें, निकालें |
| संचालन | Investment Deck QC, Scheduled Automations, User Profile & Portfolio |
| Start from a curated preset — Morning Brief, Agent Desk, Researcher, or Trader. | Or compose your own from the widget gallery — markets, intelligence, personal, agent, and workspace. |
| Feature | Slack | Discord | Feishu | Telegram |
|---|
| Rich text / markdown | ✅ | ✅ | ✅ | ✅ | 🔜 |
| File upload (user → agent) | ✅ | ✅ | ✅ | ❌ | ➖ |
| File download (agent → user) | ✅ | ✅ | ✅ | ❌ | ➖ |
| Image rendering | ✅ | ✅ | ✅ | ❌ | ➖ |
| Human-in-the-loop interrupts | ✅ | ✅ | ✅ | ⚠️ | ➖ |
| Subagent tracking | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Workspace / model selection | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Automation delivery (outbound) | ✅ | ✅ | ❌ | ➖ | ➖ |
| Simplified account linking | ✅ | ✅ | ❌ | ❌ | ➖ |
| Slash commands | ✅ | ✅ | ✅ | ✅ | ➖ |