
SkyDot کیا ہے
SkyDot ایک اوپن سورس، خود میزبان کثیر صارف Agent ورک بینچ ہے جو Pi Agent Runtime پر مبنی ہے۔ آپ متعدد نامزد اور قابل ترتیب Dot بنا سکتے ہیں تاکہ وہ مختلف ذمہ داریاں سنبھالیں؛ آپ متعدد Dot کو گروپ چیٹ میں بھی شامل کر سکتے ہیں اور شیڈول شدہ کاموں، Skills، MCP، Plugins اور Memory کے ذریعے طویل مدتی کام کرنے کی صلاحیت بڑھا سکتے ہیں۔
یہ صرف چیٹ کا صفحہ نہیں ہے۔ Workspace فائلوں، سیشنز، یادداشت اور عمل درآمد کی حدود متعین کرتا ہے، Backend تصدیق، اجازتوں، قطار، شیڈولنگ، Provider اور پیغام رسانی کے چینلز کو سنبھالتا ہے، جبکہ Host یا Docker Runner Agent کو حقیقتاً چلاتا ہے۔ صارف کی تصدیق درکار ٹول اجازتیں، ڈیوائس کی درخواستیں اور کام کی پیش رفت بھی اسی ورک بینچ میں واپس آتی ہیں۔

بنیادی معماری اور عمل درآمد کی حدود
SkyDot انٹرفیس، کنٹرول پلین اور عمل درآمد کے پلین کو الگ رکھتا ہے، اس لیے یہ ذاتی استعمال اور ٹیم کی خود میزبان تنصیب، دونوں کے لیے موزوں ہے۔
- Backend: Node.js، TypeScript، Hono، SQLite اور WebSocket پر مبنی ہے، اور تصدیق، مستقل ذخیرہ، قطار، شیڈولنگ، Provider، چینلز اور اجازتوں کو سنبھالتا ہے۔
- Runner: حقیقی Agent کاموں کو انجام دینے کے لیے Pi Agent Runtime استعمال کرتا ہے، اور مقامی Host موڈ یا غیر root Docker کنٹینر منتخب کیا جا سکتا ہے۔
- Workspace: فائلوں، Session، Memory، چینل کی پابندی اور عمل درآمد کی حدود کا تعین کرتا ہے۔
- Web، PWA اور Electron: React کا مشترکہ کاروباری فرنٹ اینڈ استعمال کرتے ہیں۔ Electron Renderer صرف انٹرفیس کی ذمہ داری لیتا ہے اور ڈیٹابیس، فائل سسٹم، اسناد، Docker یا shell/process اجازتوں تک براہ راست رسائی نہیں رکھتا۔
کسی ایک سطح پر اجازت ملنے سے دوسری حدود خود بخود ختم نہیں ہوتیں۔ ٹیم کے ماحول میں تنصیب سے پہلے اجازتوں کا میٹرکس اور سکیورٹی پالیسی پڑھنے کی سفارش کی جاتی ہے۔
اہم خصوصیات
ذاتی Dot اور سیشنز
ہر Dot کے لیے نام، اوتار، Prompt، ماڈل، سوچنے کی سطح، Skills، MCP اور عمل درآمد کی حکمت عملی الگ سے مقرر کی جا سکتی ہے۔ گفتگو میں اسٹریمنگ آؤٹ پٹ، Markdown، کوڈ بلاکس، فائل منسلکات، روکنا، بعد کے پیغامات اور سیشن کی بحالی شامل ہیں۔

مختلف Workspace ایک دوسرے سے الگ رہتے ہیں۔ فائلیں، سیشنز، یادداشت، چینل کی پابندیاں اور عمل درآمد کی اجازتیں ایک ہی انٹرفیس میں داخل ہونے سے باہم نہیں ملتیں۔ عمل درآمد کے وقت Host موڈ یا Container موڈ منتخب کیا جا سکتا ہے۔
متعدد Dot کی گروپ چیٹ اور تعاون
مقامی گروپ چیٹ فعال ہونے پر ایک ہی ٹائم لائن میں متعدد Dot کے پیغامات، کام کی رسیدیں، پیش رفت اور نتائج دیکھے جا سکتے ہیں۔ واضح ذکر اور کنٹرول شدہ تفویض تعاون کے دائرے کو محدود کرنے کے لیے استعمال ہوتے ہیں؛ دوبارہ جڑنے یا صفحہ دوبارہ کھولنے سے صرف حالت پڑھی جاتی ہے، نیا کام خود بخود جمع نہیں ہوتا۔

گروپ چیٹ بطور ڈیفالٹ بند ہوتی ہے۔ مقامی گروپ چیٹ فعال کرنے کے لیے SKYDOT_BOT_GROUPS=true مقرر کریں؛ اگر Bot کے درمیان تعاون بھی درکار ہو تو اضافی طور پر SKYDOT_BOT_HANDOFFS=true مقرر کریں، جبکہ منتظم کو عمل درآمد کی اجازتیں اور کال بجٹ ترتیب دینا ہوگا۔

شیڈول شدہ کام، Skills اور Memory
Scheduler، Cron، مقررہ وقفے اور ایک بار چلنے والے کاموں کو سپورٹ کرتا ہے، اور فوری اجرا، توقف، منسوخی، اجرا کی تاریخ اور نتائج کی ترسیل فراہم کرتا ہے۔ Skills، MCP اور Plugins کو مرکزی طور پر منظم کیا جا سکتا ہے، پھر ہر Dot کی ترتیب کے مطابق فعال کیا جا سکتا ہے۔
Memory، Workspace کی سطح پر حقائق، ترجیحات، فیصلے، تجربات اور زیرِ تکمیل امور محفوظ رکھتی ہے، اور تلاش، نیا اندراج، ترمیم، بھولنے اور ورژن کی تاریخ کو سپورٹ کرتی ہے۔ Session مخصوص گفتگو کا سیاق محفوظ کرتا ہے، جبکہ Workspace Memory ایسا علم محفوظ کرتی ہے جو مختلف Session میں دوبارہ استعمال ہو سکے؛ دونوں الگ ہیں۔
تنصیب سے پہلے تیاری
- Node.js: 22.19 یا اس سے جدید ورژن، Node.js 24 LTS تجویز کردہ ہے۔ Pi Durable ذخیرے کے لیے Node.js کی بلٹ اِن SQLite درکار ہے۔
- npm: Node.js کے ساتھ نصب ہوتا ہے اور ذیلی منصوبوں کی dependencies نصب کرنے کے لیے استعمال ہوتا ہے۔
- Docker: صرف Container عمل درآمد موڈ میں درکار ہے۔
- Model Provider: حقیقی AI گفتگو کے لیے قابل استعمال ماڈل Provider درکار ہے؛ API Key نہ ہونے پر بھی انٹرفیس پہلے شروع کیا جا سکتا ہے۔
- GNU Make: اختیاری ہے، اور قسم کی جانچ، بیک اپ اور انتظامی کمانڈز کے لیے استعمال ہوتا ہے۔
SkyDot کو ابتدا سے نصب کرنا
1. ریپوزٹری کلون کریں اور dependencies نصب کریں
ٹرمینل میں درج ذیل کمانڈز چلائیں تاکہ مرکزی منصوبے، Web فرنٹ اینڈ اور Agent Runner کی dependencies الگ الگ نصب ہو جائیں:
git clone https://github.com/2SinceJuly/SkyDot.git
cd SkyDot
npm install
npm --prefix web install
npm --prefix container/agent-runner install2. سروس بنائیں اور شروع کریں
dependencies نصب کرنے کے بعد تمام اجزا بنائیں اور Backend شروع کریں:
npm run build:all
npm starthttp://127.0.0.1:3000 کھولیں اور صفحے پر منتظم کی ابتدائی ترتیب مکمل کریں۔ Provider اور پیغام رسانی کے چینلز بعد میں بھی ترتیب دیے جا سکتے ہیں، لیکن ماڈل کی ترتیب کے بغیر حقیقی AI گفتگو نہیں چل سکتی۔
3. ترقیاتی ماحول شروع کریں

ترقی کے دوران Backend اور Vite Web Client بیک وقت شروع کیے جا سکتے ہیں:
npm run dev:allترقیاتی صفحے کا طے شدہ پتہ http://127.0.0.1:5173 ہے۔ اگر صرف مقامی طور پر انٹرفیس تیزی سے دیکھنا ہو تو loopback پتے پر بغیر لاگ اِن Demo استعمال کیا جا سکتا ہے:
SKYDOT_DEMO_OPEN=true PROVIDER_SETUP_SKIPPED=true npm startDemo موڈ کو عوامی یا غیر معتبر نیٹ ورک میں فعال نہ کریں۔ اس موڈ کی مکمل پابندیوں کے لیے ریپوزٹری میں موجود DEMO.md دیکھیں۔
ماڈل Provider ترتیب دیں
SkyDot پہلے انٹرفیس کی ابتدائی ترتیب مکمل کرنے اور بعد میں Settings میں Provider شامل کرنے کی اجازت دیتا ہے۔ حقیقی ماڈل سے جڑنے کے لیے متعلقہ API Key، Session Cookie یا دیگر اسناد تیار رکھیں، اور اسناد کو اسکرین شاٹس، کمانڈ لائن کی تاریخ یا Git ریپوزٹری میں محفوظ کرنے سے گریز کریں۔
اگر فریقِ ثالث کا OpenAI Completions انٹرفیس استعمال کریں تو Provider کے کسٹم ماحولیاتی متغیرات میں یہ مقرر کیا جا سکتا ہے:
SKYDOT_MODEL_API=openai-completionsطے شدہ پروٹوکول anthropic-messages ہے۔ یہ ترتیب عام Dot گفتگو کے Host اور Container Runner، دونوں کے لیے استعمال ہوتی ہے۔
Agent عمل درآمد موڈ منتخب کریں
Host موڈ
Host موڈ مقامی Runner کو براہ راست استعمال کرتا ہے، Docker کی ضرورت نہیں ہوتی، اور یہ مقامی ترقی اور فوری تصدیق کے لیے موزوں ہے۔ عمل درآمد کی اجازتیں پھر بھی Workspace، صارف اور عمل درآمد کی حکمت عملی کی پابند رہتی ہیں۔
Container موڈ

Container موڈ کے لیے Docker دستیاب ہونا اور Agent Runner کی image تیار ہونا ضروری ہے۔ طے شدہ image 2sincejuly/skydot-agent:latest ہے، جسے موجودہ source سے بھی بنایا جا سکتا ہے:
docker build --pull -t 2sincejuly/skydot-agent:latest containerاگر دوسری image استعمال کرنی ہو تو SKYDOT_CONTAINER_IMAGE مقرر کریں؛ مطابقت رکھنے والی ترتیب CONTAINER_IMAGE ہے۔ سروس اور image کی تعمیر کو ایک ہی Docker daemon سے جڑا ہونا چاہیے۔ make start یا make dev مقامی image کو ترجیح دیں گے اور نہ ملنے پر اسے pull کرنے کی کوشش کریں گے۔
ڈیسک ٹاپ Electron چلائیں
اگر Backend اور Vite پہلے سے شروع ہیں تو دوسرے ٹرمینل میں Electron چلائیں:
SKYDOT_RENDERER_URL=http://127.0.0.1:5173 npm run desktop:devاگر Backend پہلے ہی build شدہ صفحہ فراہم کر رہا ہو تو براہ راست یہ چلایا جا سکتا ہے:
npm run desktop:devElectron دور موجود Backend سے بھی جڑ سکتا ہے:
SKYDOT_SERVER_URL=https://your-skydot.example.com npm run desktop:devمقامی پیکیج بنانے کے لیے یہ کمانڈز استعمال کی جا سکتی ہیں:
npm run desktop:package:dir
npm run desktop:packageمنصوبہ بطور ڈیفالٹ macOS arm64 پیکیجنگ کی ترتیب فراہم کرتا ہے، جبکہ Windows اور Linux کے اہداف بھی برقرار رکھتا ہے۔ باضابطہ ریلیز سے پہلے ہدف پلیٹ فارم کے مطابق دستخط اور notarization ترتیب دینا ضروری ہے۔
اہم ماحولیاتی متغیرات

WEB_PORT: Backend کا listening پورٹ، طے شدہ قدر3000ہے۔SKYDOT_SERVER_URL: Electron کے Backend سے جڑنے کا پتہ، طے شدہ قدرhttp://127.0.0.1:3000ہے۔SKYDOT_RENDERER_URL: Electron کے لوڈ کیے جانے والے Renderer کا پتہ۔SKYDOT_CONTAINER_IMAGE: Agent Runner کی container image۔PROVIDER_SETUP_SKIPPED: سسٹم کی ترتیبات کی فائل نہ ہونے پر Provider گائیڈ کو چھوڑ دیتا ہے۔SKYDOT_BOT_GROUPS: مقامی کثیر Dot گروپ چیٹ فعال کرتا ہے۔SKYDOT_BOT_HANDOFFS: گروپ چیٹ میں Bot کے باہمی تعاون کا عمل درآمد فعال کرتا ہے۔SKYDOT_PERSONAL_GOALS: ذاتی Goal کی تجرباتی صلاحیت فعال کرتا ہے۔
ذاتی Goal اور Durable Runtime بطور ڈیفالٹ بند ہوتے ہیں۔ عام شیڈول شدہ کام ان سوئچز پر منحصر نہیں ہوتے؛ عمل درآمد کی مخصوص شرائط کے لیے Goals and Tasks دستاویز دیکھیں۔
بنیادی استعمال کا طریقہ
- SkyDot میں لاگ اِن کریں اور منتظم کی ابتدائی ترتیب مکمل کریں۔
- Settings میں دستیاب Model Provider ترتیب دیں۔
- ایک Dot بنائیں اور اس کے لیے نام، Prompt، ماڈل اور عمل درآمد کی حکمت عملی مقرر کریں۔
- Dot کے لیے Workspace منتخب کریں اور یقینی بنائیں کہ فائلوں اور یادداشت کی حدود توقع کے مطابق ہیں۔
- گفتگو میں کام بھیجیں اور اسٹریمنگ آؤٹ پٹ، ٹول کی اجازت اور عمل درآمد کے نتائج دیکھیں۔
- اگر طویل مدتی عمل درکار ہو تو Cron، مقررہ وقفے یا ایک بار چلنے والا کام بنائیں۔
- متعدد کرداروں کے تعاون کی ضرورت ہو تو گروپ چیٹ فعال کریں اور Bot کے تعاون کی اجازتیں واضح طور پر ترتیب دیں۔
مثال کے طور پر، آپ کوڈ کے تجزیے کے لیے ایک Dot اور مواد کی ترتیب کے لیے ایک دوسرا Dot بنا کر انہیں ایک ہی گروپ چیٹ میں شامل کر سکتے ہیں۔ واضح ذکر یا کنٹرول شدہ تفویض کے ذریعے کام تقسیم کرنے سے صارفین مشترکہ ٹائم لائن میں پیش رفت اور نتائج دیکھ سکتے ہیں، جبکہ ہر Workspace کی اجازت کی حدود برقرار رہتی ہیں۔
آپریشنز اور سیکیورٹی کی تجاویز
رن ٹائم ڈیٹا بطور ڈیفالٹ ریپوزٹری کی data/ ڈائریکٹری میں محفوظ ہوتا ہے، جس میں SQLite، Workspace، Session، Memory اور رن ٹائم کی ترتیبات شامل ہیں۔ یہ ڈائریکٹری Git میں شامل نہیں ہوتی، لیکن بیک اپ میں حساس ترتیبات اور ڈیٹا بیس شامل ہو سکتے ہیں، اس لیے اسے اصل ڈیٹا کے برابر تحفظ فراہم کیا جانا چاہیے۔
- Backend، لاگز اور Docker کی حالت دیکھنے کے لیے
make statusاستعمال کریں۔ - موجودہ پورٹ پر SkyDot سروس روکنے کے لیے
make stopاستعمال کریں۔ - رن ٹائم ڈیٹا کا بیک اپ بنانے کے لیے
make backupاستعمال کریں۔ - مخصوص بیک اپ بحال کرنے کے لیے
make restore FILE=...استعمال کریں۔ - Backend، Web، Agent Runner اور دستاویزات کی جانچ کے لیے
make typecheckاستعمال کریں۔ - Vitest ٹیسٹ چلانے کے لیے
npm test -- --runاستعمال کریں۔
ریموٹ تعیناتی کے وقت HTTPS اور WSS استعمال کریں، اور ریورس پراکسی، Cookie اور رسائی کے کنٹرول کو درست طور پر ترتیب دیں۔ Renderer، ڈیٹا بیس یا Docker daemon کو غیر معتبر صارفین کے لیے براہِ راست ظاہر نہ کریں، اور سہولت کی خاطر عوامی نیٹ ورک پر Demo فعال نہ کریں۔
مزید توسیع
SkyDot کی صلاحیتوں کی لائبریری Built-in، Host، Project، User، Workspace اور Plugin جیسے ذرائع کو سپورٹ کرتی ہے۔ Agent کے چلنے سے پہلے مؤثر صلاحیتوں کی فہرست تیار کی جاتی ہے، اور پالیسی کے مطابق Prompt، وسائل اور سیاق و سباق شامل کیے جاتے ہیں۔ پروجیکٹ Plugin ورژن اسنیپ شاٹس، Subagents، اور Host و Container کے درمیان یکساں صلاحیت کی حدود کو بھی سپورٹ کرتا ہے۔
پیغام کے داخلی راستوں کے حوالے سے Web، PWA اور Electron ایک ہی کاروباری فرنٹ اینڈ استعمال کرتے ہیں، اور انہیں Feishu، Telegram، QQ، DingTalk، WeChat، Discord، WhatsApp اور دیگر چینلز سے منسلک کیا جا سکتا ہے۔ چینلز کو مخصوص Workspace یا Session کے ساتھ منسلک کیا جا سکتا ہے۔
خلاصہ
SkyDot متعدد Dot کے درمیان گفتگو، Workspace کی علیحدگی، Agent پر عمل درآمد، شیڈول شدہ کام، توسیعی صلاحیتوں اور ٹیم کی اجازتوں کو ایک خود میزبان ورک بینچ میں یکجا کرتا ہے۔ اس مضمون کے مطابق Node.js ماحول تیار کرنے، انحصارات انسٹال کرنے، بلڈ اور آغاز کرنے، اور Provider ترتیب دینے کے بعد، آپ پہلے ذاتی Dot چلا سکتے ہیں، پھر بتدریج Docker، Electron، گروپ چیٹ، Scheduler، Skills، MCP اور Memory جیسی صلاحیتیں فعال کر سکتے ہیں۔
چونکہ پروجیکٹ اب بھی مسلسل ترقی کے مرحلے میں ہے، اس لیے حقیقی ماڈلز، Docker، بیرونی چینلز اور ریموٹ تعیناتی ہر ایک اپنے متعلقہ اسناد اور رن ٹائم ماحول پر منحصر ہیں۔ Goal، Durable یا Cloud Runtime جیسی تجرباتی صلاحیتوں کو بھی بطور ڈیفالٹ فعال خصوصیات نہیں سمجھنا چاہیے۔
