- Pi एक टर्मिनल-आधारित मिनिमल कोडिंग एजेंट है, जो उपयोगकर्ता के वर्कफ़्लो के अनुसार विस्तार योग्य संरचना प्रदान करता है
- TypeScript extensions, skills, prompt templates, themes को जोड़कर अपना डेवलपमेंट वातावरण बनाया जा सकता है, और इसे npm या git package के रूप में साझा किया जा सकता है
- यह 15 से अधिक AI providers और सैकड़ों models को सपोर्ट करता है, और सेशन के दौरान भी मॉडल बदले जा सकते हैं या custom models जोड़े जा सकते हैं
- सेशन tree-structured history के रूप में सेव होते हैं, जिससे पुराने बिंदु पर वापस जाया जा सकता है या HTML·GitHub gist में export किया जा सकता है
- मुख्य सुविधाओं को न्यूनतम रखते हुए extensibility-केंद्रित design philosophy बनाए रखी गई है, ताकि डेवलपर केवल आवश्यक फीचर्स खुद लागू करें या package के रूप में जोड़ें
Pi का अवलोकन
- Pi एक टर्मिनल कोडिंग हार्नेस है, जिसकी संरचना ऐसी है कि उपयोगकर्ता अपना वर्कफ़्लो बदले बिना टूल को कस्टमाइज़ कर सकते हैं
- विस्तार योग्य घटकों के रूप में TypeScript extensions, skills, prompt templates, themes का समर्थन करता है
- इन्हें एक साथ बाँधने वाले pi package को npm या git के माध्यम से install और share किया जा सकता है
- डिफ़ॉल्ट सेटिंग शक्तिशाली है, लेकिन इसमें sub-agents या plan mode जैसी सुविधाएँ शामिल नहीं हैं
- यह चार modes (interactive, print/JSON, RPC, SDK) प्रदान करता है, और clawdbot में वास्तविक integration उदाहरण देखे जा सकते हैं
मॉडल और providers
- Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama सहित 15 से अधिक providers और सैकड़ों models का समर्थन
- API key या OAuth से authentication संभव है
/model कमांड या Ctrl+L से सेशन के दौरान मॉडल बदल सकते हैं, और Ctrl+P से पसंदीदा models के बीच घूम सकते हैं
- models.json या extensions के माध्यम से custom models जोड़े जा सकते हैं
सेशन प्रबंधन
- सेशन tree structure में सेव होते हैं, और
/tree कमांड से पुराने बिंदुओं पर जाया जा सकता है
- सभी branches एक ही फ़ाइल में सेव होती हैं, और message type filtering तथा bookmark labeling का समर्थन है
/export से HTML export, और /share से GitHub gist upload तथा share URL बनाया जा सकता है
context engineering
- न्यूनतम system prompt और extensibility के साथ context window को बारीकी से नियंत्रित किया जा सकता है
- AGENTS.md: प्रोजेक्ट निर्देश शुरुआत में अपने-आप लोड होते हैं
- SYSTEM.md: प्रोजेक्ट-विशिष्ट default system prompt को बदलना या जोड़ना
- Compaction: context सीमा पर पहुँचने पर पिछले messages का स्वतः सारांश; extensions के माध्यम से topic-based summary या code-aware summary लागू किए जा सकते हैं
- Skills: ज़रूरत पड़ने पर लोड होने वाले feature packages, जो prompt cache बनाए रखते हैं और क्रमिक रूप से कार्यक्षमता देते हैं
- Prompt templates:
/name कमांड से विस्तार योग्य reusable prompts
- Dynamic context: extensions के माध्यम से message insertion, history filtering, RAG implementation, और long-term memory बनाना संभव
message queuing
- एजेंट के काम कर रहे होने पर भी messages submit किए जा सकते हैं
Enter: वर्तमान tool execution के बाद भेजा जाने वाला steering message
Alt+Enter: कार्य पूरा होने के बाद भेजा जाने वाला follow-up message
extension संरचना
- Pi को features नहीं बल्कि primitives केंद्र में रखकर डिज़ाइन किया गया है, ताकि उपयोगकर्ता स्वयं फीचर्स लागू कर सकें
- extensions TypeScript modules के रूप में होते हैं, और tools, commands, shortcuts, events, पूरे TUI access तक पहुँच सकते हैं
- उदाहरण extensions: sub-agents, plan mode, permission gates, path protection, SSH execution, sandboxing, MCP integration, custom editor, overlays आदि
- “Yes, Doom runs.” जैसे उदाहरण की तरह game overlay extension भी मौजूद है
- यदि स्वयं लागू नहीं करना चाहते, तो pi package install करके फीचर्स जोड़े जा सकते हैं
- 50 से अधिक extension examples GitHub पर सार्वजनिक हैं
package प्रबंधन
- extensions, skills, prompts, themes को packages में bundle करके npm या git से install किया जा सकता है
- npm search term
pi-package या Discord channel में packages खोजे और साझा किए जा सकते हैं
integration modes
- Interactive: पूरा TUI वातावरण
- Print/JSON: scripts के लिए
pi -p "query", event stream के लिए --mode json
- RPC: stdin/stdout आधारित JSON protocol के साथ non-Node environments integration समर्थन
- SDK: application के भीतर embed किया जा सकता है; clawdbot में वास्तविक उपयोग उदाहरण उपलब्ध
design philosophy
- Pi को extensibility को अधिकतम करने के लिए डिज़ाइन किया गया है, जहाँ core न्यूनतम रखा गया है और उपयोगकर्ता स्वयं वर्कफ़्लो परिभाषित करते हैं
- MCP, sub-agents, permission popups, plan mode, built-in TODO, background bash जैसी सुविधाएँ शामिल नहीं हैं
- इसके बजाय extensions, skills, packages के माध्यम से वही कार्यक्षमता लागू की जा सकती है या external tools से जोड़ी जा सकती है
- tmux के माध्यम से parallel execution और observation का समर्थन
- यह दृष्टिकोण उपयोगकर्ता-नियंत्रित डेवलपमेंट वातावरण निर्माण को संभव बनाता है
- पूरी philosophy की अतिरिक्त व्याख्या संबंधित blog post में दी गई है
अभी कोई टिप्पणी नहीं है.