مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

VibeClaude ٹیوٹوریل: Claude Code کے ایونٹس کو Intiface ڈیوائسز سے جوڑیں

VibeClaude انسٹال اور کنفیگر کرنے، Claude Code کو Intiface Central اور وائبریشن سپورٹ کرنے والی ڈیوائس سے جوڑنے، اس کے ایونٹ پیٹرنز سمجھنے، شدت ایڈجسٹ کرنے، ڈیمَن کمانڈز استعمال کرنے اور ہارڈویئر کے بغیر انٹیگریشن ٹیسٹ کرنے کا طریقہ سیکھیں۔

VibeClaude ٹیوٹوریل: Claude Code کے ایونٹس کو Intiface ڈیوائسز سے جوڑیں

VibeClaude کیا کرتا ہے

VibeClaude ایک Claude Code پلگ اِن ہے جو کوڈنگ کی سرگرمی کو Intiface Central اور buttplug.io کے ذریعے ڈیوائس کے تاثرات میں تبدیل کرتا ہے۔ Claude Code کے ایونٹس ایک مقامی ڈیمون کو بھیجے جاتے ہیں، جو WebSocket کے ذریعے Intiface Central سے رابطہ کرتا ہے اور پھر وائبریشن کی صلاحیت رکھنے والی منسلک ڈیوائس کو کنٹرول کرتا ہے۔

Claude Code — hooks module — HTTP — daemon — WebSocket — Intiface Central — BLE — device

یہ پلگ اِن ماڈل کے اسٹریمنگ آؤٹ پٹ، ٹول کالز، اجازت کی درخواستوں، مکمل شدہ ٹوڈوز، ذیلی ایجنٹس، رکاوٹوں، اور ٹرن یا سیشن کے لائف سائیکل ایونٹس پر ردِعمل دیتا ہے۔ اسے ایک نجی اور آرام دہ ماحول کے لیے بنایا گیا ہے، اور آپ کو ہم آہنگ ہارڈویئر ذمہ داری سے استعمال کرنا چاہیے۔

تقاضے

  • Claude Code جس میں function-hooks پلگ اِن کی معاونت موجود ہو۔ VibeClaude کو اس ابتدائی رسائی والی API کے ورژن 2.1.291 کے مطابق بنایا گیا ہے۔
  • Node.js 22 یا اس کے بعد کا ورژن، جو آپ کے PATH پر node کے نام سے دستیاب ہو۔
  • Intiface Central، جس کا WebSocket سرور چل رہا ہو۔ پہلے سے طے شدہ پتہ ws://127.0.0.1:12345 ہے۔
  • Intiface Central میں جوڑا گیا وائبریشن کی صلاحیت رکھنے والا کنٹرولر۔
  • منسلک ڈیوائس کے استعمال کے لیے موزوں نجی ماحول۔

VibeClaude انسٹال کریں

ریپوزٹری کو اپنی Claude کنفیگریشن ڈائریکٹری میں کلون کریں اور اس کی انحصاری پیکیجز انسٹال کریں:

git clone https://github.com/transkatgirl/vibeclaude.git ~/.claude/vibeclaude
cd ~/.claude/vibeclaude && npm install

آپ ایک Claude Code سیشن کے لیے پلگ اِن اس طرح لوڈ کر سکتے ہیں:

claude --plugin-dir ~/.claude/vibeclaude

متبادل طور پر، اسے Claude Code کے اندر مستقل طور پر انسٹال کریں:

/plugin marketplace add ~/.claude/vibeclaude
/plugin install vibeclaude@vibeclaude-local

انسٹالیشن کے بعد Claude Code کو دوبارہ شروع کریں۔ پلگ اِن نئے سیشن کے آغاز پر لوڈ ہوتا ہے۔

انحصاری پیکیج کی جگہ چیک کریں

ڈیمون اس ڈائریکٹری سے چلتا ہے جسے Claude Code پلگ اِن لوڈ کرنے کے لیے استعمال کرتا ہے، اور وہاں node_modules ڈائریکٹری کا موجود ہونا ضروری ہے۔ مارکیٹ پلیس سے انسٹال کیے گئے پلگ اِنز کو ایسی جگہ کاپی کیا جا سکتا ہے جہاں آپ کے اصل کلون میں انسٹال کیے گئے انحصاری پیکیجز موجود نہ ہوں۔

اگر Claude Code یہ پیغام دکھائے کہ buttplug npm پیکیج موجود نہیں، تو پیغام میں بتائی گئی ڈائریکٹری میں npm install چلائیں۔

ڈیوائس منسلک کریں

  1. Intiface Central شروع کریں اور اس کا سرور شروع کرنے والا بٹن دبائیں۔
  2. Claude Code میں /intiface چلائیں۔
  3. کنکشن اور اسکین مکمل ہونے کا انتظار کریں۔
  4. نتائج میں سے وائبریشن کی صلاحیت رکھنے والی ڈیوائس منتخب کریں۔
  5. اس بات کی تصدیق کرنے کے بعد Claude Code استعمال کرنا شروع کریں کہ ڈیوائس منسلک ہے اور آپ کے ماحول کے لیے موزوں ہے۔

/intiface کمانڈ ایک ڈائیلاگ کھولتی ہے جس میں کنکشن اور اسکین کی صورتِ حال دکھائی جاتی ہے۔ ڈیوائسز کے درمیان جانے کے لیے تیر والے بٹن یا Tab دبائیں، منتخب کرنے کے لیے Enter دبائیں یا کلک کریں، اور ڈائیلاگ سے نکلنے کے لیے Escape دبائیں۔

جب تک آپ کسی ڈیوائس کو منتخب نہ کریں، کسی ڈیوائس کو کچھ نہیں بھیجا جاتا۔ VibeClaude ایک وقت میں بالکل ایک منتخب ڈیوائس کو چلاتا ہے۔ جب بعد میں Claude Code کا سیشن شروع ہوتا ہے، تو پلگ اِن Intiface Central سے دوبارہ منسلک ہونے اور پہلے منتخب کی گئی ڈیوائس دستیاب ہونے کی صورت میں اسے بحال کرنے کی کوشش کرتا ہے۔

پلگ اِن کمانڈز

  • /intiface: Intiface سے منسلک ہوں، ڈیوائسز اسکین کریں، اور ایک ڈیوائس منتخب کریں۔
  • /intiface-connect: کنفیگر کیے گئے Intiface سرور سے منسلک ہوں اور دستیاب ہونے کی صورت میں پہلے منتخب کی گئی ڈیوائس بحال کریں۔
  • /intiface-disconnect: منقطع کریں اور ڈیوائس کا تمام آؤٹ پٹ روک دیں۔
  • /intiface-intensity [0.0-1.0]: عالمی شدت کا ملٹی پلائر مقرر کریں، یا نمبر فراہم نہ کیے جانے پر موجودہ قدر دکھائیں۔

یہ کمانڈز ماڈل ٹرن شروع کیے یا ٹوکنز خرچ کیے بغیر پلگ اِن کے اندر چلتی ہیں۔ یہ گفتگو میں کمانڈ کا کوئی آؤٹ پٹ بھی نہیں چھوڑتیں اور ٹرن کے دوران بھی استعمال کی جا سکتی ہیں۔

تاثرات کے پیٹرنز کو سمجھیں

VibeClaude ہر ایونٹ کو مستقل شدت کے ساتھ ایک مقررہ دورانیے والے پیٹرن کے طور پر پیش کرتا ہے۔ ایک ہی گفتگو کے اندر تازہ ترین ایونٹ پچھلے ایونٹ کی جگہ لے لیتا ہے۔ عالمی شدت کا ملٹی پلائر ایونٹ منتخب کیے جانے کے بعد لاگو ہوتا ہے۔

  • اسٹریمنگ سوچ اور متن: ہر حصے کے لیے 70 ملی سیکنڈ کی نبض، جس کی شدت اوسط آؤٹ پٹ رفتار کی بنیاد پر 0.35 سے 0.8 تک ہوتی ہے۔ ردِعمل کی رفتار کا حساب 40 حروف فی سیکنڈ پر زیادہ سے زیادہ سطح تک پہنچ جاتا ہے۔
  • مکمل ردِعمل: اس وقت 0.4 شدت کی 150 ملی سیکنڈ کی نبض جب ردِعمل اسٹریمنگ کے بغیر موصول ہو۔
  • ٹول کالز: اس وقت 0.5 شدت کی 120 ملی سیکنڈ کی نبض جب ماڈل ٹول کال لکھنا شروع کرے۔
  • ترمیمی کارروائیاں: 0.3 شدت پر مسلسل دباؤ، جب Edit، Write، MultiEdit، یا NotebookEdit کارروائی لکھی اور لاگو کی جا رہی ہو۔
  • کامیاب ٹول کالز: 0.7 شدت کی 180 ملی سیکنڈ کی نبض۔
  • ناکام، مسترد شدہ، یا رد کی گئی ٹول کالز: 1.0 شدت کی 280 ملی سیکنڈ کی نبض۔
  • مکمل شدہ ٹوڈو آئٹمز: 0.8 شدت کی نبض، جسے فوراً ٹول کی کامیابی والے پیٹرن سے بدل دیا جاتا ہے۔
  • اجازت کی درخواستیں: 0.85 شدت کی 90 ملی سیکنڈ کی تین نبضیں، اس کے بعد وقفہ اور درخواست حل ہونے تک تکرار۔
  • ٹرن کی تکمیل: 1.0 شدت کی 100 ملی سیکنڈ کی تین نبضیں۔
  • رکا ہوا یا ناکام ٹرن: موجودہ آؤٹ پٹ رک جاتا ہے، اس کے بعد ٹرن کی تکمیل کے لیے استعمال ہونے والی تین نبضیں چلتی ہیں۔
  • سیشن کا اختتام: تمام آؤٹ پٹ رک جاتا ہے۔

متعدد سیشنز اور ذیلی ایجنٹس

ہر کھلا Claude Code سیشن اپنے ٹولز، درخواستوں، ٹوڈوز، اور ذیلی ایجنٹس کو الگ سے ٹریک کرتا ہے۔ جب کئی پیٹرنز فعال ہوں، تو سب سے زیادہ مضبوط پیٹرن استعمال کیا جاتا ہے۔ جب وہ پیٹرن ختم ہو جائے، تو ڈیوائس دوسرے سیشن کے کسی فعال پیٹرن پر واپس آ سکتی ہے۔

سب ایجنٹس اس گفتگو کے ساتھ شامل ہوتے ہیں جس نے انہیں شروع کیا ہو۔ ان کا اسٹریمنگ آؤٹ پٹ، ٹول کالز، اجازت کی درخواستیں، ٹو ڈوز، اور تکمیل یا ناکامی کے واقعات الگ الگ ظاہر کیے جاتے ہیں۔ مرکزی سیشن ختم کرنے سے اس کے تمام سب ایجنٹس رک جاتے ہیں۔

شدت کو ایڈجسٹ کریں

آؤٹ پٹ کم کرنے یا اسے غیر فعال کرنے کے لیے intensity کمانڈ استعمال کریں:

/intiface-intensity 0.5

پہلے سے طے شدہ ملٹی پلائر 1.0 ہے۔ 0 کی قدر فیڈبیک کو غیر فعال کر دیتی ہے، جبکہ 0 اور 1 کے درمیان قدریں ہر فعال پیٹرن کو اسی تناسب سے کم کرتی ہیں۔ یہ تبدیلی فوراً مؤثر ہوتی ہے، بشمول اس پیٹرن کے جو پہلے سے چل رہا ہو، اور تبدیل کیے جانے تک محفوظ رہتی ہے۔

اہم واقعات کی حدود

Claude Code کی جانب سے پلگ انز کو فراہم کی جانے والی معلومات کی وجہ سے کچھ رویہ لازماً تخمینی ہوتا ہے:

  • سوچ: سوچ صرف وہاں ظاہر ہوتی ہے جہاں Claude Code متن کو قابلِ دید بناتا ہے۔ مثال کے طور پر، بغیر انٹرفیس والے claude -p رن کے دوران سوچ دستیاب نہیں ہوتی۔
  • اجازت کے جوابات: Claude Code اجازت کی درخواست کا جواب دیے جانے کا درست لمحہ رپورٹ نہیں کرتا۔ عام طور پر متعلقہ ٹول کے مکمل ہونے، ناکام ہونے یا مسترد کیے جانے پر درخواست کا پیٹرن ختم ہو جاتا ہے۔ کچھ ٹرمینل کے پس منظر میں چلنے والے اشارے اسے اس سے پہلے روک سکتے ہیں۔
  • ٹول آؤٹ پٹ: پلگ ان کو کمانڈ کا آؤٹ پٹ اسٹریمنگ کے دوران موصول نہیں ہوتا، اس لیے ٹول آؤٹ پٹ ہر پرنٹ شدہ سطر کے بجائے ٹول کے نتیجے سے ظاہر کیا جاتا ہے۔

پلگ ان کو ترتیب دیں

Claude Code پلگ ان فعال کرتے وقت اس کے اختیارات پوچھتا ہے۔ آپ بعد میں /plugin اور پلگ ان مینجمنٹ انٹرفیس کے ذریعے انہیں تبدیل کر سکتے ہیں۔

  • wsAddress: Intiface Central WebSocket ایڈریس۔ اس کی پہلے سے طے شدہ قدر ws://127.0.0.1:12345 ہے۔

تبدیل شدہ WebSocket ایڈریس اگلی بار ڈیمون شروع ہونے پر مؤثر ہوگا۔ اپنے سیشن ختم کریں، یا ڈیمون کو براہِ راست اس کمانڈ سے روکیں:

node daemon/daemon.mjs stop

VibeClaude منتخب کردہ ڈیوائس، شدت، اور daemon.log کو ~/.config/vibeclaude کے تحت محفوظ کرتا ہے۔ اگر TCP پورٹ 12350 پہلے سے استعمال میں ہو تو مختلف پورٹ کے ساتھ ~/.config/vibeclaude/config.json بنائیں:

{ "port": 12351 }

شیل سے ڈیمون استعمال کریں

ڈیمون کو Claude Code کی slash کمانڈز سے آزادانہ طور پر کنٹرول کیا جا سکتا ہے۔ یہ کمانڈز پہلے سے طے شدہ configuration directory اور WebSocket ایڈریس استعمال کرتی ہیں:

  • node daemon/daemon.mjs scan: کنیکٹ کریں، تین سیکنڈ تک اسکین کریں، اور وائبریشن کی صلاحیت رکھنے والی ڈیوائسز کی فہرست دکھائیں۔
  • node daemon/daemon.mjs select <index>: اسکین کے نتائج میں سے ایک ڈیوائس منتخب کریں۔
  • node daemon/daemon.mjs connect اور disconnect: Intiface سے کنیکٹ یا ڈسکنیکٹ کریں۔
  • node daemon/daemon.mjs intensity [value]: شدت کا ملٹی پلائر مقرر کریں یا دکھائیں۔
  • node daemon/daemon.mjs start: یقینی بنائیں کہ ڈیمون چل رہا ہے اور اس کا پورٹ دکھائیں۔
  • node daemon/daemon.mjs status: چیک کریں کہ ڈیمون جواب دے رہا ہے یا نہیں۔
  • node daemon/daemon.mjs stop: تمام آؤٹ پٹ روکیں اور ڈیمون سے خارج ہوں۔
  • node daemon/daemon.mjs: ڈیمون کو foreground میں چلائیں۔

دوسری configuration directory منتخب کرنے کے لیے --home <dir> اور دوسرا Intiface ایڈریس بتانے کے لیے --ws <address> استعمال کریں۔ ہر واقعہ موصول ہوتے ہی لاگ کرنے کے لیے debug environment variable مقرر کریں:

VIBECLAUDE_DEBUG=1 node daemon/daemon.mjs

ہارڈویئر کے بغیر ٹیسٹ کریں

ریپوزٹری میں ایک mock Intiface سرور شامل ہے جو موٹر کی وہ سطح دکھاتا ہے جو اسے موصول ہونی تھی۔ اسے پورٹ 12345 پر شروع کریں:

node test/mock-intiface.mjs 12345

پھر ٹیسٹ سوٹ چلائیں:

npm test

ٹیسٹس mock کے خلاف ڈیمون کو ابتدا سے انتہا تک چلاتے ہیں اور hooks ماڈیول کو بھی جانچتے ہیں، جس سے آپ فزیکل کنٹرولر کے بغیر انسٹالیشن چیک کر سکتے ہیں۔

آرکیٹیکچر کیسے کام کرتا ہے

hooks/register.tsx Claude Code کے اندر چلتا ہے۔ یہ hook واقعات کا مشاہدہ کرتا ہے، جیسے اسٹریمنگ کے دوران ٹرن کے مراحل، ٹول کالز، اجازت کی جانچ، سب ایجنٹ کی تخلیق، اور سیشن یا ٹرن کے لائف سائیکل میں تبدیلیاں۔ یہ ان واقعات کو ماڈل کے متن کے بجائے سائز اور identifiers پر مشتمل مختصر پیغامات میں تبدیل کرتا ہے، پھر انہیں loopback ایڈریس 127.0.0.1:12350 پر ترتیب کے ساتھ ڈیمون کو بھیجتا ہے۔

hooks ماڈیول slash کمانڈز بھی رجسٹر کرتا ہے، ڈیوائس کے انتخاب کا ڈائیلاگ دکھاتا ہے، اور ڈیمون کے نوٹس کو toasts کے طور پر دکھاتا ہے۔ چونکہ hooks ماڈیول کو Node.js تک رسائی حاصل نہیں، اس لیے یہ خود Buttplug کلائنٹ چلا یا Intiface WebSocket کنکشن برقرار نہیں رکھ سکتا۔

daemon/daemon.mjs سرکاری Buttplug کلائنٹ، Intiface کنکشن، منتخب کردہ ڈیوائس، وائبریشن انجن، اور event handlers کو سنبھالتا ہے۔ چونکہ کوئی ڈیوائس ماڈل کے آؤٹ پٹ آنے کی رفتار سے زیادہ آہستہ جواب دے سکتی ہے، اس لیے ڈیمون بیک لاگ بنانے کے بجائے تازہ ترین مطلوبہ سطح بھیجتا ہے۔

ڈیمون اس وقت شروع ہوتا ہے جب پہلے سیشن کو اس کی ضرورت پڑتی ہے اور آخری سیشن ختم ہونے کے بعد خارج ہو جاتا ہے۔ یہ ہر سیشن سے متعلق Claude Code کے عمل کی نگرانی کرتا ہے اور غیر متوقع طور پر غائب ہونے والے سیشنز کو صاف کر سکتا ہے۔ اگر یہ طے نہ کر سکے کہ کون سا عمل ختم ہوا ہے تو 30 منٹ تک کوئی سرگرمی نہ ہونے کے بعد خارج ہونے پر واپس آ جاتا ہے۔

رازداری اور خودکار بندش

پلگ ان ڈیوائس کمانڈز صرف آپ کی مشین پر ترتیب دیے گئے Intiface ایڈریس کو بھیجتا ہے۔ ڈیمون loopback پر سنتا ہے اور 127.0.0.1 یا localhost کو مخاطب کرنے والی JSON درخواستیں قبول کرتا ہے؛ یہ براؤزر کے صفحات کے لیے نیٹ ورک سروس ظاہر نہیں کرتا۔ VibeClaude میں کوئی telemetry شامل نہیں۔

جب آپ ڈیوائس تبدیل کرتے ہیں، سیشن ختم کرتے ہیں، ڈسکنیکٹ کرتے ہیں، Intiface کنکشن کھو دیتے ہیں، یا ڈیمون خارج ہو جاتا ہے تو آؤٹ پٹ خودکار طور پر رک جاتا ہے۔ اگر کوئی ڈیوائس Intiface سے ڈسکنیکٹ ہو جائے تو اس کا انتخاب ختم کر دیا جاتا ہے؛ دوبارہ کنیکٹ کرنے کے لیے /intiface استعمال کریں۔ عارضی طور پر غائب ہونے والی ڈیوائس واپس آنے پر دوبارہ منتخب کی جا سکتی ہے۔

نتیجہ

VibeClaude، Claude Code ہُکس کو مقامی Node.js ڈیمَن کے ذریعے Intiface Central سے مربوط کرتا ہے، اور کوڈنگ کے واقعات کو قابلِ ترتیب ڈیوائس فیڈبیک میں تبدیل کرتا ہے۔ پلگ اِن اور انحصارات انسٹال کریں، Intiface Central شروع کریں، /intiface کے ذریعے ایک ڈیوائس منتخب کریں، اور /intiface-intensity سے تجربے کو اپنی مرضی کے مطابق بنائیں۔ خرابیوں کی تشخیص اور ترقی کے لیے شیل ڈیمَن کمانڈز، ڈیبگ لاگنگ، اور شامل کردہ فرضی سرور استعمال کریں۔

یہ پروجیکٹ MIT License کے تحت لائسنس یافتہ ہے۔ Buttplug اور Intiface، Nonpolynomial Labs, LLC کے تجارتی نشان ہیں۔