Unterm
उन्नत उपयोग

Unterm से ज़्यादा पाने के नुस्खे

यहाँ का हर कमांड लिखने से पहले असली Unterm पर चलाया गया है। कॉपी कीजिए, पेस्ट कीजिए, नाम बदल लीजिए।

एजेंट

Unterm को अपने एजेंटों से जोड़ें

मिलने वाले हर एजेंट में Unterm को MCP सर्वर के रूप में दर्ज करता है, उनके ग्लोबल कॉन्टेक्स्ट (CLAUDE.md, AGENTS.md, GEMINI.md) में एक छोटा नोट जोड़ता है, और उनकी स्थिति बताने वाले लाइफ़साइकल हुक लगाता है।

unterm-cli setup-ai --dry-run   # what would change
unterm-cli setup-ai             # register with every agent found

--client claude-code (दोहराया जा सकता है) से सीमित करें; --remove सब कुछ वापस कर देता है।

स्क्रिप्ट से पूछिए: किसे मेरी ज़रूरत है?

वही इनबॉक्स जो Ctrl Shift A खोलता है, कमांड लाइन पर। --json के साथ यह स्टेटस बार, नोटिफ़िकेशन या cron को डेटा देता है।

unterm-cli agent inbox

# just the ones waiting on you
unterm-cli --json agent inbox \
  | jq -r '.items[] | select(.state=="waiting") | "\(.agent): \(.task_hint // .pane_title)"'
आउटपुट
PANE       AGENT     STATE      FOR     TAB   TASK
3      ✋   codex     waiting    23s     2     Partition the ledger tables
4      ✓   claude    done       13s     3     Fix the flaky checkout e2e test
2      ⚡   claude    working    27s     1     Add rate limiting to /v1/charge

codex: Partition the ledger tables

स्थितियाँ waiting, done, working और idle हैं; इंतज़ार वाले पहले।

आधिकारिक हुक से सटीक स्थिति

Unterm एजेंट की स्थिति उसके टाइटल और स्क्रीन से पढ़ता है। एजेंट के अपने हुक (Claude Code hooks, Codex notify, Aider का नोटिफ़िकेशन कमांड) ज़्यादा सटीक हैं: सवाल पूछते ही “इंतज़ार” बता देते हैं।

unterm-cli agent enable-hooks --dry-run
unterm-cli agent enable-hooks

setup-ai यह पहले से करता है; यह सिर्फ़ हुक लगाने का तरीका है, और --remove उन्हें हटाता है।

एक काम कई एजेंटों पर, सबसे अच्छा मर्ज करें

हर सदस्य को अपना git worktree, ब्रांच और टैब मिलता है। diff की तुलना कीजिए, हर worktree में जाँच चलाइए, एक को मर्ज कीजिए और बाकी को छोड़ दीजिए।

cd ~/code/payments-api
unterm-cli fleet launch --cwd "$PWD" --agents claude,codex \
  -- "add an idempotency key to POST /v1/charge"

unterm-cli review diff    --fleet add-an-idempotency-key --member 1 --stat
unterm-cli review verify  --fleet add-an-idempotency-key --member 1 --command "cargo test"
unterm-cli review merge   --fleet add-an-idempotency-key --member 1
unterm-cli review discard --fleet add-an-idempotency-key --member 2
unterm-cli fleet clean add-an-idempotency-key
आउटपुट
fleet add-an-idempotency-key launched — 2 member(s)
  claude    fleet/add-an-idempotency-key-1  ~/code/payments-api.fleet/add-an-idempotency-key-1
  codex     fleet/add-an-idempotency-key-2  ~/code/payments-api.fleet/add-an-idempotency-key-2
  +?     -0     idempotency.rs (new)
verification verify-1790326294259-0 queued: cargo test
merged fleet/add-an-idempotency-key-1 — staged in ~/code/payments-api (commit it yourself)
member 2 of add-an-idempotency-key discarded
fleet add-an-idempotency-key cleaned

मर्ज एक squash है जो आपके रिपो में स्टेज रहता है — कमिट आपका। सदस्य के बिना कमिट किए बदलाव भी शामिल होते हैं। शेल से शुरू करते समय --cwd दीजिए; वरना फ़्लीट फ़ोकस वाले पेन का फ़ोल्डर लेता है।

एजेंट सुझाए, टाइप न करे

कमांड पेन में धुंधले टेक्स्ट की तरह दिखता है। Tab दबाइए तो लिया, टाइप करते रहिए तो नज़रअंदाज़ — आपके बिना कुछ नहीं चलता।

unterm-cli session suggest post --rationale "tests passed" \
  -- "git push origin feat/rate-limit"
unterm-cli session suggest list
आउटपुट
Suggestion: sg_1790324293038_1
Status: queued
SUGGESTION               PANE     AGENT      TEXT
sg_1790324293038_1       5        anonymous  git push origin feat/rate-limit

session suggest list लंबित सुझाव दिखाता है; cancel एक को वापस लेता है।

स्क्रिप्टिंग

टैब खोलें, कुछ चलाएँ, नतीजा पढ़ें

ऐसी स्क्रिप्ट के लिए जिसे आपके एनवायरनमेंट वाला असली शेल चाहिए: सही फ़ोल्डर में टैब बनाइए, कमांड चलाकर उसके ख़त्म होने का इंतज़ार कीजिए, फिर स्क्रीन पढ़िए।

P=$(unterm-cli session create --cwd ~/code/infra | awk '/^Pane:/{print $2}')
unterm-cli exec wait --pane-id $P --timeout-ms 600000 -- "git log --oneline -3 && ls"
unterm-cli session text --pane-id $P | tail -20
आउटपुट
2f1cf7d (HEAD -> main) init
README.md

exec wait कमांड ख़त्म होने पर आउटपुट लौटाता है; exec run चलाकर तुरंत लौट आता है।

बाहर से पेन बाँटें

जिस पेन में आप काम कर रहे हैं उसके नीचे लॉग tail या टेस्ट वॉचर रखिए, बिना माउस के।

unterm-cli session split --direction down --size-percent 35 --cwd ~/code/web-dashboard
आउटपुट
Pane: 6
Title: /bin/zsh
Direction: down

दिशाएँ: right, left, down और up।

कई Unterm इंस्टेंस

चल रहे हर Unterm का एक नाम होता है — alpha, bravo, … — और हर CLI कमांड किसी एक को निशाना बना सकता है।

unterm-cli instance set-title "payments on-call"
unterm-cli instance list
unterm-cli --instance bravo agent inbox
unterm-cli instance set-title --clear
आउटपुट
Title: payments on-call
ID        PID      MCP     HTTP    CWD                      TITLE
alpha     1383     49173   19877                            payments on-call

--instance के बिना कमांड सक्रिय इंस्टेंस को जाते हैं।

सीधे MCP बोलिए

127.0.0.1 पर TCP के ऊपर पंक्ति-दर-पंक्ति JSON-RPC। पोर्ट और टोकन इंस्टेंस फ़ाइल में हैं; पहले लॉग इन कीजिए, फिर 151 मेथड में से कोई भी बुलाइए।

J=~/.unterm/server.json      # %USERPROFILE%\.unterm\server.json on Windows
PORT=$(jq .mcp_port $J); TOKEN=$(jq -r .auth_token $J)
{ printf '{"jsonrpc":"2.0","id":1,"method":"auth.login","params":{"token":"%s"}}\n' "$TOKEN"
  printf '{"jsonrpc":"2.0","id":2,"method":"agent.status"}\n'
  sleep 1; } | nc 127.0.0.1 "$PORT"
आउटपुट
{"id":1,"jsonrpc":"2.0","result":{"status":"ok"}}
{"id":2,"jsonrpc":"2.0","result":{"agents":[{"agent":"codex","pane_id":3,"state":"waiting",…},…],"enabled":true}}

unterm-cli reference सारे मेथड दिखाता है; MCP क्लाइंट इसके बजाय unterm-cli mcp-stdio ब्रिज इस्तेमाल कर सकते हैं।

सहेजें और साझा करें

पेन का इतिहास किसी मॉडल को दें

सादा टेक्स्ट, बिना एस्केप कोड: आख़िरी N पंक्तियाँ, या पूरा सत्र Markdown में, ऊपर प्रोजेक्ट और शेल की जानकारी के साथ।

unterm-cli scrollback --pane-id 2 --tail 200 > last-run.txt
unterm-cli session export --pane-id 2 -o session.md
आउटपुट
---
unterm_session_id: e2320821-38dc-4148-b94f-9bd4eef56357
tab_id: 2
project_path: ~/code/payments-api
project_slug: payments-api

--escapes रंग रखता है; --start-line/--end-line हिस्सा चुनते हैं।

पूरे स्क्रॉलबैक का स्क्रीनशॉट

पेन ने जो कुछ भी छापा, सबका एक लंबा PNG, स्क्रीन के बाहर रेंडर — खिड़की ढकी हो तब भी काम करता है।

unterm-cli screenshot --scrollback --pane-id 2 -o pane.png

--max-rows सीमा तय करता है; macOS पर --scroll-app Safari दूसरे ऐप की खिड़की के साथ यही करता है।

सत्र को Markdown में रिकॉर्ड करें

कमांड और आउटपुट, संवेदनशील हिस्से छिपाकर, प्रोजेक्ट के पास .unterm/sessions में रखे जाते हैं — Unterm git को यह फ़ोल्डर नज़रअंदाज़ करने को कहता है।

unterm-cli session record start
# … work in the pane …
unterm-cli session record stop
unterm-cli sessions list
unterm-cli sessions read <session-id>
आउटपुट
Session id: next-core-5-1790324289544601
Block count: 4
Markdown: ~/code/infra/.unterm/sessions/1790324289544601/tab-5-1790324289544601.md
Exit reason: recording_stopped

sessions list --project <slug> एक प्रोजेक्ट तक सीमित करता है।

टैब सहेजें, वापस लाएँ

टैब और उनके फ़ोल्डरों का नाम वाला सेट। रीबूट के बाद या अगले दिन के काम के लिए वापस लाइए।

unterm-cli workspace save morning
unterm-cli workspace restore morning --dry-run
unterm-cli workspace restore morning
आउटपुट
Workspace: morning
Sessions: 6
Workspace: morning
Planned: 6

--dry-run दिखाता है कि क्या खुलेगा, खोलता नहीं।

अपने ढंग से सेट करें

हर प्रोजेक्ट की अलग पहचान

प्रोफ़ाइल में टोकन, git पहचान और SSH कुंजियाँ होती हैं। सीक्रेट सिस्टम कीचेन में रहते हैं और सिर्फ़ उसी प्रोफ़ाइल के टैब में एनवायरनमेंट वेरिएबल बनकर दिखते हैं।

unterm-cli profile create "Work — Acme" --accent "#E8B34B"
unterm-cli profile set-secret "Work — Acme" GITHUB_TOKEN     # asks for the value
unterm-cli session create --cwd ~/code/acme --profile work-acme
आउटपुट
Created profile "Work — Acme"
  ID:    work-acme
Stored GITHUB_TOKEN in keychain for profile work-acme

किसी प्रोफ़ाइल का सीक्रेट पहली बार पढ़ने पर macOS एक बार कीचेन की अनुमति पूछता है। पासवर्ड मैनेजर से --from-stdin के ज़रिए पाइप करें।

Windows पर एडमिनिस्ट्रेटर विंडो

कमांड पैलेट खोलकर “New Administrator Window” चुनिए। Windows UAC से पूछता है, फिर एक अलग, एलिवेटेड Unterm खोलता है।

यह आपकी सामान्य विंडो से कुछ साझा नहीं करती — न Core, न MCP सर्वर, न सेटिंग्स पेज — इसलिए आपके खाते से चलने वाली कोई चीज़ एलिवेटेड शेल में टाइप नहीं कर सकती। इसका टाइटल “Administrator:” से शुरू होता है।

इसे ट्यून करें

सेटिंग्स ~/.unterm/unterm.conf में हैं। कुछ जो जानने लायक हैं:

font_size = 14

[window]
padding_left = 16
padding_right = 16
backdrop = "mica"        # Windows 11

[cockpit]
done_hold_secs = 30      # how long a finished agent stays marked

unterm-cli settings open इसके बजाय ब्राउज़र में सेटिंग्स पेज खोलता है।

सीखने लायक कुंजियाँ

आपके बदलावों समेत पूरी सूची unterm-cli show-keys में है।

CtrlShiftP कमांड पैलेट
CtrlShiftA एजेंट इनबॉक्स
CtrlShiftAltA फ़्लीट शुरू करें
CtrlShiftS क्विक सिलेक्ट: लेबल से पाथ, हैश या URL कॉपी करें
CtrlShiftJ कंपोज़र: लंबा प्रॉम्प्ट लिखें, पेन खाली होने पर भेजें
CtrlShiftG Git पैनल
CtrlShiftD / E दाएँ / नीचे बाँटें
CtrlShiftZ फ़ोकस वाले पेन को बड़ा करें

CLI reference · MCP reference · सभी सुविधाएँ देखें