हिन्दी
दस्तावेज़
TUI

TUI

OpenCode टर्मिनल यूज़र इंटरफ़ेस का उपयोग करना।

OpenCode आपके प्रोजेक्ट्स पर LLM के साथ काम करने के लिए एक इंटरैक्टिव टर्मिनल इंटरफ़ेस यानी TUI प्रदान करता है।

OpenCode चलाने पर वर्तमान डायरेक्टरी के लिए TUI शुरू हो जाता है।

opencode

या आप इसे किसी विशिष्ट वर्किंग डायरेक्टरी के लिए शुरू कर सकते हैं।

opencode /path/to/project

जब आप TUI में आ जाएँ, तो आप इसे किसी संदेश के साथ प्रॉम्प्ट कर सकते हैं।

Give me a quick summary of the codebase.

File references

आप अपने संदेशों में @ का उपयोग करके फ़ाइलों का रेफ़रेंस दे सकते हैं। यह वर्तमान वर्किंग डायरेक्टरी में एक fuzzy फ़ाइल खोज करता है।

Tip: आप अपने संदेशों में फ़ाइलों का रेफ़रेंस देने के लिए भी @ का उपयोग कर सकते हैं।

How is auth handled in @packages/functions/src/api/index.ts?

फ़ाइल की सामग्री अपने आप बातचीत में जोड़ दी जाती है।

कॉन्फ़िगर किए गए रेफ़रेंस भी @ ऑटोकम्पलीट में दिखाई देते हैं। रेफ़रेंस रूट को संदर्भ (context) के रूप में जोड़ने के लिए @alias टाइप करें, या उस रेफ़रेंस के अंदर की फ़ाइलों को ऑटोकम्पलीट करने के लिए @alias/ टाइप करें।

Compare our setup with @docs/README.md

Bash commands

शेल कमांड चलाने के लिए संदेश को ! से शुरू करें।

!ls -la

कमांड का आउटपुट एक tool result के रूप में बातचीत में जोड़ दिया जाता है।


Commands

OpenCode TUI का उपयोग करते समय, आप क्रियाओं को जल्दी से निष्पादित करने के लिए / के बाद किसी कमांड का नाम टाइप कर सकते हैं। उदाहरण के लिए:

/help

अधिकांश कमांड में डिफ़ॉल्ट लीडर की के रूप में ctrl+x का उपयोग करके कीबोर्ड शॉर्टकट भी होते हैं। और जानें

यहाँ सभी उपलब्ध स्लैश कमांड दिए गए हैं:


connect

OpenCode में एक प्रोवाइडर जोड़ें। यह आपको उपलब्ध प्रोवाइडरों में से चुनने और उनकी API keys जोड़ने की अनुमति देता है।

/connect

compact

वर्तमान सत्र को compact करें। Alias: /summarize

/compact

Keybind: ctrl+x c


details

टूल निष्पादन विवरण को टॉगल करें।

/details

editor

संदेश लिखने के लिए बाहरी एडिटर खोलें। यह आपके EDITOR एन्वायरनमेंट वैरिएबल में सेट किए गए एडिटर का उपयोग करता है। और जानें।

/editor

Keybind: ctrl+x e


exit

OpenCode से बाहर निकलें। Aliases: /quit, /q

/exit

Keybind: ctrl+x q


export

वर्तमान बातचीत को Markdown में निर्यात करें और अपने डिफ़ॉल्ट एडिटर में खोलें। यह आपके EDITOR एन्वायरनमेंट वैरिएबल में सेट किए गए एडिटर का उपयोग करता है। और जानें।

/export

Keybind: ctrl+x x


help

हेल्प डायलॉग दिखाएँ।

/help

init

AGENTS.md बनाने या अपडेट करने के लिए गाइडेड सेटअप। और जानें

/init

models

उपलब्ध मॉडल सूचीबद्ध करें।

/models

Keybind: ctrl+x m


new

एक नया सत्र शुरू करें। Alias: /clear

/new

Keybind: ctrl+x n


redo

पहले undo किए गए किसी संदेश को redo करें। केवल /undo का उपयोग करने के बाद ही उपलब्ध।

Tip: किसी भी फ़ाइल परिवर्तन को भी पुनर्स्थापित कर दिया जाएगा।

आंतरिक रूप से, यह फ़ाइल परिवर्तनों को प्रबंधित करने के लिए Git का उपयोग करता है। इसलिए आपके प्रोजेक्ट का एक Git रिपॉज़िटरी होना आवश्यक है

/redo

Keybind: ctrl+x r


sessions

सत्रों को सूचीबद्ध करें और उनके बीच स्विच करें। Aliases: /resume, /continue

/sessions

Keybind: ctrl+x l


share

वर्तमान सत्र साझा करें। और जानें

/share

themes

उपलब्ध थीम सूचीबद्ध करें।

/themes

Keybind: ctrl+x t


thinking

बातचीत में thinking/reasoning ब्लॉक की दृश्यता को टॉगल करें। सक्षम होने पर, आप उन मॉडलों के लिए मॉडल की reasoning प्रक्रिया देख सकते हैं जो extended thinking का समर्थन करते हैं।

Note: यह कमांड केवल यह नियंत्रित करता है कि thinking ब्लॉक प्रदर्शित हों या नहीं — यह मॉडल की reasoning क्षमताओं को सक्षम या अक्षम नहीं करता है। वास्तविक reasoning क्षमताओं को टॉगल करने के लिए, मॉडल वैरिएंट्स के बीच चक्रित करने हेतु ctrl+t का उपयोग करें।

/thinking

undo

बातचीत में अंतिम संदेश को undo करें। यह सबसे हाल के उपयोगकर्ता संदेश, उसके बाद की सभी प्रतिक्रियाओं और किसी भी फ़ाइल परिवर्तन को हटा देता है।

Tip: किए गए किसी भी फ़ाइल परिवर्तन को भी वापस लौटा दिया जाएगा।

आंतरिक रूप से, यह फ़ाइल परिवर्तनों को प्रबंधित करने के लिए Git का उपयोग करता है। इसलिए आपके प्रोजेक्ट का एक Git रिपॉज़िटरी होना आवश्यक है

/undo

Keybind: ctrl+x u


unshare

वर्तमान सत्र को unshare करें। और जानें

/unshare

Editor setup

/editor और /export दोनों कमांड आपके EDITOR एन्वायरनमेंट वैरिएबल में निर्दिष्ट एडिटर का उपयोग करते हैं।

Linux/macOS

# Example for nano or vim
export EDITOR=nano
export EDITOR=vim
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
export EDITOR="code --wait"

इसे स्थायी बनाने के लिए, इसे अपने शेल प्रोफ़ाइल में जोड़ें; ~/.bashrc, ~/.zshrc, आदि।

Windows (CMD)

set EDITOR=notepad
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
set EDITOR=code --wait

इसे स्थायी बनाने के लिए, System Properties > Environment Variables का उपयोग करें।

Windows (PowerShell)

$env:EDITOR = "notepad"
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
$env:EDITOR = "code --wait"

इसे स्थायी बनाने के लिए, इसे अपने PowerShell प्रोफ़ाइल में जोड़ें।

लोकप्रिय एडिटर विकल्पों में शामिल हैं:

  • code - Visual Studio Code
  • cursor - Cursor
  • windsurf - Windsurf
  • nvim - Neovim एडिटर
  • vim - Vim एडिटर
  • nano - Nano एडिटर
  • notepad - Windows Notepad
  • subl - Sublime Text

Note: VS Code जैसे कुछ एडिटर को --wait फ़्लैग के साथ शुरू करना आवश्यक है।

कुछ एडिटर को ब्लॉकिंग मोड में चलाने के लिए कमांड-लाइन आर्गुमेंट की आवश्यकता होती है। --wait फ़्लैग एडिटर प्रोसेस को बंद होने तक ब्लॉक करता है।


Configure

आप tui.json (या tui.jsonc) के माध्यम से TUI के व्यवहार को कस्टमाइज़ कर सकते हैं।

tui.json
{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "opencode",
  "leader_timeout": 2000,
  "keybinds": {
    "leader": "ctrl+x",
    "command_list": "ctrl+p"
  },
  "scroll_speed": 3,
  "scroll_acceleration": {
    "enabled": false
  },
  "diff_style": "auto",
  "mouse": true,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4,
    "sound_pack": "opencode.default",
    "sounds": {
      "error": "./sounds/error.mp3"
    }
  }
}

यह opencode.json से अलग है, जो सर्वर/रनटाइम व्यवहार को कॉन्फ़िगर करता है।

keybinds को built-in डिफ़ॉल्ट के साथ मर्ज किया जाता है, इसलिए आपको केवल वही शॉर्टकट कॉन्फ़िगर करने की आवश्यकता है जिन्हें आप बदलना चाहते हैं।

Options

  • theme - आपकी UI थीम सेट करता है। और जानें
  • keybinds - कीबोर्ड शॉर्टकट को कस्टमाइज़ करता है। और जानें
  • leader_timeout - नियंत्रित करता है कि लीडर की के बाद OpenCode कितनी देर प्रतीक्षा करता है। डिफ़ॉल्ट 2000 है।
  • scroll_acceleration.enabled - सहज, प्राकृतिक स्क्रॉलिंग के लिए macOS-शैली स्क्रॉल एक्सेलरेशन सक्षम करें। सक्षम होने पर, तेज़ स्क्रॉलिंग जेस्चर के साथ स्क्रॉल गति बढ़ती है और धीमी गतियों के लिए सटीक बनी रहती है। यह सेटिंग scroll_speed पर प्राथमिकता रखती है और सक्षम होने पर इसे ओवरराइड करती है।
  • scroll_speed - नियंत्रित करता है कि स्क्रॉल कमांड का उपयोग करते समय TUI कितनी तेज़ी से स्क्रॉल करता है (न्यूनतम: 0.001, दशमलव मानों का समर्थन करता है)। डिफ़ॉल्ट 3 है। Note: यदि scroll_acceleration.enabled को true पर सेट किया गया है तो इसे अनदेखा किया जाता है।
  • diff_style - diff रेंडरिंग को नियंत्रित करता है। "auto" टर्मिनल की चौड़ाई के अनुसार अनुकूलित होता है, "stacked" हमेशा एकल-कॉलम लेआउट दिखाता है।
  • mouse - TUI में माउस कैप्चर को सक्षम या अक्षम करें (डिफ़ॉल्ट: true)। अक्षम होने पर, टर्मिनल का नेटिव माउस सिलेक्शन/स्क्रॉलिंग व्यवहार संरक्षित रहता है।
  • attention - TUI डेस्कटॉप नोटिफ़िकेशन और साउंड कॉन्फ़िगर करता है। डिफ़ॉल्ट रूप से अक्षम।

कस्टम TUI कॉन्फ़िग पथ लोड करने के लिए OPENCODE_TUI_CONFIG का उपयोग करें।

Attention

TUI प्रश्नों, अनुमतियों, सत्र त्रुटियों और पूर्ण हुए सत्रों के लिए ध्यान (attention) का अनुरोध कर सकता है। इसे attention.enabled के साथ सक्षम करें; ट्रिगर होने पर built-in इवेंट साउंड बजाते हैं, और गैर-subagent इवेंट केवल तब डेस्कटॉप नोटिफ़िकेशन का अनुरोध करते हैं जब टर्मिनल blurred हो।

  • enabled - सभी attention नोटिफ़िकेशन और साउंड सक्षम करें। डिफ़ॉल्ट false है।
  • notifications - attention सक्षम होने पर टर्मिनल-मध्यस्थ डेस्कटॉप नोटिफ़िकेशन की अनुमति दें। डिफ़ॉल्ट true है।
  • sound - attention सक्षम होने पर attention साउंड की अनुमति दें। डिफ़ॉल्ट true है।
  • volume - 0 से 1 तक डिफ़ॉल्ट साउंड वॉल्यूम। डिफ़ॉल्ट 0.4 है।
  • sound_pack - उपयोग करने के लिए साउंड पैक ID। डिफ़ॉल्ट opencode.default है।
  • sounds - default, question, permission, error, done, या subagent_done के लिए साउंड फ़ाइलें ओवरराइड करें। पथ निरपेक्ष, file:// URL, या tui.json के सापेक्ष हो सकते हैं।

Customization

आप कमांड पैलेट (ctrl+p) का उपयोग करके TUI व्यू के विभिन्न पहलुओं को कस्टमाइज़ कर सकते हैं। ये सेटिंग्स रीस्टार्ट के बाद भी बनी रहती हैं।


Username display

चैट संदेशों में आपका उपयोगकर्ता नाम दिखाई दे या नहीं, इसे टॉगल करें। इस तक पहुँचें:

  • कमांड पैलेट: "username" या "hide username" खोजें
  • सेटिंग अपने आप बनी रहती है और TUI सत्रों के बीच याद रखी जाएगी