• 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 किया जा सकता है
    • उदाहरण:
      $ pi install npm:@foo/pi-tools  
      $ pi install git:github.com/badlogic/pi-doom  
      
    • version pinning (@1.2.3 या @tag), pi update से सभी update, pi list से सूची देखना, और pi config से configuration संभव
    • pi -e कमांड से install किए बिना test किया जा सकता है
  • 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 में दी गई है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.