انسٹال
Control Center دو طرح سے چلتا ہے: app.usectrl.dev پر ایک ویب ایپ کے طور پر، جس میں ڈاؤن لوڈ کرنے کو کچھ نہیں، یا ایک ڈیسک ٹاپ ایپ کے طور پر جسے آپ انسٹال کرتے ہیں۔ یہ ایک ہی ایپلیکیشن ہیں، ایک ہی خصوصیات کے ساتھ۔ واحد فرق یہ ہے کہ سرور کہاں چلتا ہے — اور ویب ایپ آپ کے لیے سرور نہیں چلا سکتی۔
براؤزر میں استعمال کریں
سیکشن کا عنوان “براؤزر میں استعمال کریں”app.usectrl.dev یہی ایپلیکیشن ہے جو براؤزر کے لیے کمپائل کی گئی ہے۔ انسٹال کرنے کو کچھ نہیں، اپ ڈیٹ کرنے کو کچھ نہیں۔ اسے کھولیں اور جڑ جائیں۔
براؤزر ٹیب جو کام نہیں کر سکتا وہ یہ کہ خود سرور بن جائے۔ ہر کلائنٹ — ڈیسک ٹاپ، ویب،
فون — ایک ہیڈلیس cc_server کے اوپر ایک پتلا رینڈرر ہے، جو ڈیٹابیس کا مالک ہے اور کام
کرتا ہے، اس لیے ویب ایپ ہمیشہ آپ کے چلائے ہوئے سرور سے بات کرتی ہے۔ اسے سرور دینے کے
دو طریقے:
اپنی ہی مشین پر ایک سرور۔ cc_server کو مقامی طور پر شروع کریں اور ویب ایپ کو
ws://localhost:9030 کی طرف اشارہ کریں۔ براؤزر localhost کو قابلِ اعتماد
مانتے ہیں، اس لیے اس میں نہ کوئی سرٹیفکیٹ درکار ہے نہ ٹنل۔ یہ ویب ایپ آزمانے کا تیز ترین
طریقہ ہے اور آپ کا ڈیٹا کبھی آپ کی مشین سے باہر نہیں جاتا۔
کسی دوسری مشین پر ایک سرور۔ چونکہ app.usectrl.dev HTTPS پر پیش کی جاتی ہے، کسی
غیر مقامی سرور تک wss:// پر ایسے سرٹیفکیٹ کے ساتھ پہنچنا ضروری ہے جس پر براؤزر کو
پہلے سے اعتماد ہو۔ cc_server TLS کے بغیر غیر loopback ایڈریس بائنڈ کرنے سے انکار کرتا ہے،
اس لیے ان میں سے کوئی ایک چنیں:
- اسے براہِ راست
--tls-certاور--tls-keyکے ساتھ ایک سرٹیفکیٹ دیں - اسے TLS ختم کرنے والی ریورس پراکسی کے پیچھے رکھیں اور
--insecureکے ساتھ شروع کریں - اسے کسی ٹنل یا VPN کے ذریعے کھولیں جو سرٹیفکیٹ فراہم کرتی ہو — Tailscale، cloudflared، یا ایسا ہی کوئی۔ ترتیبات → سرور → کنکشن اور اسٹیٹس میں یہ سرور شیئر کریں کے تحت بلٹ اِن ٹنل آپٹ اِن موجود ہے۔
جب بھی سرور کسی پراکسی، NAT یا ٹنل کے پیچھے ہو، --public-url کو اُس ایڈریس پر سیٹ
کریں جس پر کلائنٹس کو واقعی ڈائل کرنا چاہیے۔ یہ ڈیفالٹ میں مقامی بائنڈ پر رہتا ہے، اس لیے
اس کے بغیر کلائنٹس غلط ہوسٹ آزمانے لگتے ہیں۔
کچھ چیزیں صرف ڈیسک ٹاپ تک محدود رہتی ہیں، کیونکہ انہیں ایک نیٹو ونڈو یا مشین کے اپنے آڈیو آلات درکار ہوتے ہیں: فلوٹنگ فوکس موڈ پِل، OS نوٹیفکیشن ٹوسٹس (ایپ کے اندر اطلاعات کا مرکز ہر جگہ کام کرتا ہے)، کسی کیلنڈر ایونٹ سے “ریکارڈنگ شروع کریں اور لنک کریں”، اور میٹنگ کا خلاصہ دوبارہ چلانا۔ باقی سب کچھ — اسپیسز، ایجنٹس، pull request ریویو، پائپ لائنز، ٹکٹس، میموری اور خود میٹنگ ریکارڈنگ — ایک جیسا برتاؤ رکھتا ہے۔
ویب ایپ کو کسی سرور سے جوڑنے کے لیے ریموٹ سرور سے جڑیں پر عمل کریں۔ سرور ہوسٹ کرنے کے لیے ہیڈلیس سرور چلائیں پر عمل کریں۔
ڈیسک ٹاپ کے سسٹم تقاضے
سیکشن کا عنوان “ڈیسک ٹاپ کے سسٹم تقاضے”| تقاضا | macOS | Windows | Linux |
|---|---|---|---|
| OS ورژن | macOS 13+ (Ventura) | Windows 10+ | Ubuntu 22.04+ یا glibc 2.35+ اور GTK 3 والی کوئی اور ڈسٹرو |
| آرکیٹیکچر | Apple Silicon (arm64) | x64, ARM64 | x86_64 |
| Git | درکار | درکار | درکار |
| ڈسک اسپیس | ایپ کے لیے ~200 MB، اس کے علاوہ سرور کی ڈیٹا ڈائریکٹری | ~200 MB | ~200 MB |
Intel Macs کے لیے کوئی تیار ڈاؤن لوڈ موجود نہیں۔ اس کے بجائے سورس سے بنائیں۔
سرور کی ڈیٹا ڈائریکٹری ایپ سے کہیں بڑی ہو جاتی ہے۔ اپنی پہلی اسٹارٹ پر cc_server ڈیوائس پر موجود ماڈلز زبردستی انسٹال کرتا ہے — ٹیکسٹ ایمبیڈنگز (~90 MB)، اسپیکر ڈائرائزیشن (~35 MB) اور منتخب کردہ اسپیچ ماڈل (ڈیفالٹ میں Parakeet TDT v3، ~600 MB؛ Whisper اقسام 198–626 MB) — نیز ایک بلٹ اِن code-server بلڈ، اور ہر ایجنٹ گفتگو کو اُن ریپوز کا copy-on-write worktree ملتا ہے جن پر وہ کام کرتی ہے (Windows پر سادہ git worktree)۔ آواز اختیاری نہیں: ASR ماڈل کے بغیر میٹنگ اور ڈکٹیشن کے آپریشن فراہم نہیں ہوتے۔ اسپیچ ماڈل کے پہلے ڈاؤن لوڈ کے بعد ریکارڈنگ روشن ہونے سے پہلے ایک ری اسٹارٹ پھر بھی درکار ہوتا ہے۔
ڈیسک ٹاپ اپنے سرور کی طرف OS کی فی صارف ایپلیکیشن سپورٹ ڈائریکٹری کی طرف اشارہ کرتا ہے۔ بغیر --data-dir کے ہاتھ سے شروع کیا گیا cc_server ڈیفالٹ میں <application data>/control-center استعمال کرتا ہے — macOS پر ~/Library/Application Support/control-center، Windows پر %APPDATA%\control-center، Linux پر $XDG_DATA_HOME/control-center (یا ~/.local/share/control-center)۔
ڈاؤن لوڈ
سیکشن کا عنوان “ڈاؤن لوڈ”نیچے دی گئی ہر آرٹیفیکٹ GitHub Releases سے آتی ہے۔
macOS (Apple Silicon)
سیکشن کا عنوان “macOS (Apple Silicon)”Control-Center-<version>-arm64.dmg ڈاؤن لوڈ کریں، اسے کھولیں اور Control Center کو Applications میں گھسیٹیں۔ یہ بلڈ Developer ID سے سائن اور Apple سے نوٹرائز شدہ ہے، اس لیے یہ عام طور پر کھل جاتا ہے۔
Windows (x64, ARM64)
سیکشن کا عنوان “Windows (x64, ARM64)”Control-Center-<version>-x64-setup.exe: فی صارف انسٹالر۔Control-Center-<version>-windows-x64.zip: پورٹیبل zip۔Control-Center-<version>-arm64-setup.exe: فی صارف انسٹالر۔Control-Center-<version>-windows-arm64.zip: پورٹیبل zip۔
Windows اسپیس چیک آؤٹس کے لیے git worktree استعمال کرتا ہے (copy-on-write نہیں)۔
Linux (x86_64)
سیکشن کا عنوان “Linux (x86_64)”Control-Center-<version>-x86_64.AppImageControl-Center-<version>-linux-x64.tar.gz
AppImage اپ ڈیٹ کی معلومات ساتھ رکھتا ہے، اس لیے AppImageUpdate یا appimaged اسے اُسی جگہ تازہ ترین ریلیز تک لا سکتے ہیں، صرف تبدیل شدہ حصہ ڈاؤن لوڈ کرتے ہوئے۔
یہ دونوں Ubuntu 22.04 پر بنائے گئے ہیں اور اسی یا کسی بھی نئے ورژن (Debian 12، Fedora 36 اور بعد کے ورژنز) پر چلتے ہیں: یہ glibc 2.35 اور GCC 12 کی libstdc++ سے لنک ہوتے ہیں اور GTK 3 سسٹم سے لیتے ہیں۔ جو چند لائبریریاں ایک عام ڈیسک ٹاپ میں نہ ہوں، وہ ان کے اندر ساتھ آتی ہیں، اس لیے اور کچھ انسٹال کرنے کی ضرورت نہیں۔ آواز — میٹنگ پلے بیک، ساؤنڈ اسکیپ، رگ آڈیو اور اطلاعات کی آوازیں — سسٹم کے libmpv کے ذریعے چلتی ہے (Ubuntu 22.04 پر libmpv1، نئے Ubuntu اور Debian پر libmpv2، Fedora پر mpv-libs)؛ اس کے بغیر ایپ وہ کنٹرولز چھپا کر شروع ہوتا ہے۔
علیحدہ سرور
سیکشن کا عنوان “علیحدہ سرور”ہر ریلیز میں ہیڈلیس سرور الگ سے بھی ہوتا ہے — cc_server-<version>-macos-arm64.tar.gz، cc_server-<version>-linux-x64.tar.gz، cc_server-<version>-windows-x64.zip، cc_server-<version>-windows-arm64.zip — اور GHCR پر cc-server، cc-webapp اور cc-remote امیجز بھی۔ دیکھیں ہیڈلیس سرور چلائیں۔
Linux آرکائیو Ubuntu 22.04 پر بنا ہے اور اس کی ساتھ شامل نیٹو لائبریریاں glibc 2.35 اور GCC 12 کی libstdc++ سے لنک ہوتی ہیں، اس لیے اسے کم از کم اُتنے ہی نئے ہوسٹ کی ضرورت ہے (Ubuntu 22.04، Debian 12، Fedora 36 یا بعد کا)۔ پرانے ڈسٹری بیوشن پر اس کے بجائے cc-server امیج چلائیں — کنٹینر اپنا یوزرلینڈ ساتھ لاتا ہے، اس لیے صرف کرنل آپ کا ہونا چاہیے۔
ایجنٹ بیک اینڈ
سیکشن کا عنوان “ایجنٹ بیک اینڈ”Control Center ایجنٹس کو اڈاپٹرز کے ذریعے بھیجتا ہے۔ یہ دو ہیں، فہرست مقرر ہے، اور یہ خود بخود دریافت ہو جاتے ہیں — کوئی اور رجسٹر کرنے کا کوئی طریقہ نہیں۔
Control Center (built-in) اڈاپٹر کو کسی بیرونی CLI کی ضرورت نہیں: ایجنٹ لوپ سرور کے اندر چلتا ہے اور HTTP کے ذریعے ماڈل فراہم کنندگان سے بات کرتا ہے، اس لیے یہ ہمیشہ دستیاب رہتا ہے۔ کوئی فراہم کنندہ ترتیبات → سرور → ماڈل فراہم کنندگان کے تحت جوڑیں۔ OpenAI، Codex، Cursor اور Kimi Code براؤزر سائن اِن پیش کرتے ہیں؛ Anthropic، OpenRouter، Google Gemini، DeepSeek، Mistral، xAI، z.ai اور Moonshot API کلید لیتے ہیں۔ Codex اور Cursor اِس رنر پر فراہم کنندگان ہیں، الگ CLIs نہیں۔ z.ai جان بوجھ کر دو بار درج ہے: z.ai پے-ایز-یو-گو اوپن پلیٹ فارم ہے، جس کا بل آپ کے اکاؤنٹ بیلنس سے لگتا ہے، جبکہ z.ai GLM Coding Plan سبسکرپشن ہے۔ اکاؤنٹ کلید وہی ہوتی ہے، مگر z.ai یہ پلان کسی مختلف ہوسٹ سے پیش کرتا ہے — coding-plan کلید سادہ z.ai ٹائل میں پیسٹ کریں تو ہر درخواست 429 … "Insufficient balance or no resource package" واپس آتی ہے، کیونکہ پلان میں خرچ کرنے کے لیے کوئی بیلنس نہیں۔ Claude Pro/Max سبسکرپشن Anthropic API لاگ اِن نہیں ہے؛ اُس پلان تک اس کے بجائے Claude Code اڈاپٹر کے ذریعے پہنچیں۔ اُس صفحے پر آپ جو شامل کر سکتے ہیں وہ ایک حسبِ ضرورت فراہم کنندہ ہے — کوئی بھی OpenAI- یا Anthropic-کے مطابق اینڈ پوائنٹ (Ollama، LM Studio، vLLM، کوئی نجی ڈیپلائمنٹ) حسبِ ضرورت فراہم کنندگان → فراہم کنندہ شامل کریں کے تحت۔
دوسرا اڈاپٹر کسی بیرونی CLI کو لپیٹتا ہے:
- Claude Code (
claude):npm install -g @anthropic-ai/claude-code
دریافت اُس مشین کے PATH کی جانچ کرتی ہے جہاں cc_server چل رہا ہو — جب ڈیسک ٹاپ اپنا سرور چلاتا ہے تو وہی مشین، ورنہ ریموٹ ہوسٹ۔ Claude Code CLI وہیں انسٹال کریں، کلائنٹ پر نہیں۔ اُس صفحے کا تازہ کریں بٹن جانچ دوبارہ چلاتا ہے۔
ماڈل فہرستیں ہر منسلک فراہم کنندہ لائیو پیش کرتا ہے؛ models.dev صرف قیمت اور کانٹیکسٹ ونڈو کا میٹاڈیٹا فراہم کرتا ہے۔ دیکھیں اڈاپٹرز اور ماڈلز منظم کریں۔
GitHub کی تصدیق
سیکشن کا عنوان “GitHub کی تصدیق”GitHub کریڈینشل آپ ہی کا ہے اور سرور پر رہتا ہے، جو آپ کی یوزر آئی ڈی سے منسلک ہوتا ہے — کلائنٹ کے OS کی چین میں نہیں۔ آپ جس بھی ڈیوائس سے سائن اِن ہوں وہی ایک استعمال ہوتا ہے، اور کوئی دوسرا رکن اسے پڑھ نہیں سکتا۔
اگر سرور پر کوئی GitHub App رجسٹرڈ ہو (GitHub App بنائیں)، تو ترتیبات → ورک اسپیس → پروفائل اور شناخت → کوڈ ہوسٹنگ میں GitHub سے سائن اِن پیش کیا جاتا ہے (ایک ڈیوائس فلو جو سرور چلاتا ہے)۔ ورنہ ایک ذاتی رسائی ٹوکن پیسٹ کریں:
- کلاسک:
repoاورread:org - فائن گرینڈ: Contents اور Pull requests (پڑھنا اور لکھنا)، Checks اور Actions (پڑھنا)
ایک یہاں بنائیں: GitHub → Settings → Developer settings → Personal access tokens۔ سرور ٹوکن محفوظ ہوتے وقت ہی اکاؤنٹ نام کے لیے اس کی جانچ کرتا ہے، اس لیے قطار “… کے طور پر سائن اِن” کہہ سکتی ہے؛ ناکام جانچ پھر بھی ٹوکن محفوظ کر دیتی ہے، اور کوئی ٹائپو یا غائب اسکوپ بعد میں ناکام درخواست کی صورت میں سامنے آتا ہے۔
آن بورڈنگ کا پہلا قدم یہی کنکشن ہے۔ اس کے بعد یہی کارڈ وہ جگہ ہے جہاں آپ اسے بدلتے یا ہٹاتے ہیں۔ GitLab اور Bitbucket بھی یہی کارڈ استعمال کرتے ہیں؛ دیکھیں کوڈ ہوسٹ جوڑیں۔
منتخب کریں کہ سرور کہاں چلے
سیکشن کا عنوان “منتخب کریں کہ سرور کہاں چلے”Control Center ایک تھن کلائنٹ ہے جو ایک ہیڈلیس cc_server پراسیس کے اوپر کام کرتا ہے، جو ڈیٹابیس کا مالک ہے اور سارا کام کرتا ہے؛ ڈیپلائمنٹ اور کلائنٹس بتاتا ہے کہ یہ تقسیم ڈیسک ٹاپ، ویب اور فون کے لیے کیا مطلب رکھتی ہے۔
پہلی لانچ پر ڈیسک ٹاپ پوچھتا ہے “Control Center کیسے چلے؟”:
- اس ایپ میں چلائیں: ڈیسک ٹاپ اِس مشین پر ایک
cc_serverشروع کرتا ہے اور اس کی نگرانی کرتا ہے اور loopback پر اس سے بات کرتا ہے۔ اور کچھ کنفیگر کرنے کی ضرورت نہیں۔ فوری آغاز اسی سیٹ اپ کو فرض کرتا ہے۔ - ریموٹ انسٹینس سے منسلک ہوں: ڈیسک ٹاپ کو کہیں اور چلنے والے
cc_serverکی طرف اس کے WebSocket URL، ایک ڈیوائس id، اور یا تو پیئرنگ کلید یا ایک بار استعمال ہونے والے دعوتی کوڈ کے ساتھ اشارہ کریں۔ ڈیٹا کا مالک وہی سرور ہوتا ہے؛ یہ ڈیسک ٹاپ صرف اسے رینڈر کرتا ہے۔
سرور بعد میں ترتیبات → سرور → کنکشن اور اسٹیٹس کے تحت شامل کریں یا تبدیل کریں۔ تبدیل کرنا وہیں دوبارہ جڑ جاتا ہے — کوئی ری اسٹارٹ نہیں۔ براؤزر سرور نہیں چلا سکتا، اس لیے ویب کلائنٹ ہمیشہ ریموٹ ہوتا ہے؛ دیکھیں ریموٹ سرور سے جڑیں۔
خود سرور ہوسٹ کرنے کے لیے ہیڈلیس سرور چلائیں پر عمل کریں۔ یہ بائنری بنانا، پہلی اسٹارٹ سے پہلے پیئرنگ کلید بنانا، اور --data-dir / --port / --bind فلیگز کا احاطہ کرتا ہے۔
اپنا سیٹ اپ جانچیں
سیکشن کا عنوان “اپنا سیٹ اپ جانچیں”- ترتیبات → سرور → ماڈل فراہم کنندگان دونوں اڈاپٹرز کی فہرست دکھاتا ہے۔ “Control Center (built-in)” ورژن
built-inکے ساتھ ملا ہوا پڑھا جاتا ہے؛ Claude Code تب ملا ہوا پڑھا جاتا ہے جب اس کی CLI سرور ہوسٹ کےPATHپر ہو۔ اگر غائب ہو تو تازہ کریں دبائیں۔ - ترتیبات → ورک اسپیس → ریپوزٹریز اِس ورک اسپیس کے ریپوز کی فہرست دکھاتا ہے، اور ریپوزٹری شامل کریں سرور ہوسٹ کے فولڈرز براؤز کرتا ہے۔
- ترتیبات → ورک اسپیس → ایجنٹس اُن پانچ ایجنٹس کی فہرست دکھاتا ہے جو آپ کی پہلی ورک اسپیس نے بنائے۔ چلنے سے پہلے ہر ایک کا اڈاپٹر اور ماڈل سیٹ ہونا ضروری ہے۔
- ترتیبات → سرور → تشخیص اور پرائیویسی یہ ہوسٹ کون سے سینڈ باکس بیک اینڈز پیش کرتا ہے، ایمبیڈنگ ماڈل کی اسٹیٹ اور لاگنگ کی رپورٹ دیتا ہے۔
سورس سے بنائیں
سیکشن کا عنوان “سورس سے بنائیں”نیٹو لائبریریاں لازمی ہیں اور کوئی کم تر موڈ موجود نہیں: کوئی غائب لائبریری بوٹ کی مکمل ناکامی ہے، سست راستہ نہیں۔ انہیں سب سے پہلے تیار کریں۔ ہر Flutter اور Dart کمانڈ fvm کے ذریعے جاتی ہے، کیونکہ SDK ورژن ریپو نے پن کیا ہوا ہے۔
git clone https://github.com/SamuelAlev/control-center.gitcd control-centerscripts/natives/build_natives.shfvm flutter pub getfvm flutter pub run build_runner build --delete-conflicting-outputsfvm flutter gen-l10nfvm flutter run -d macos # or -d windows, -d linuxmacOS پر، محفوظ اسٹوریج (GitHub، Linear اور Google سائن اِن) کے لیے ایپ کا کسی Apple ٹیم سے سائن ہونا ضروری ہے — ایک مفت Apple ID کافی ہے، اور یہ ایک بار کا سیٹ اپ ہے جو local development signing کے تحت بیان کیا گیا ہے۔ اس کے بغیر بھی ایپ چل تو جاتا ہے؛ صرف محفوظ اسٹوریج دستیاب نہیں ہوتا۔ Windows اور Linux کو کسی سائننگ کی ضرورت نہیں۔
ہیڈلیس سرور بائنری بنانے کے لیے پہلے اُسی طرح نیٹوز تیار کریں، پھر:
cd apps/cc_serverfvm dart build cliبلڈ ہک build/natives/ میں پہلے سے موجود ہر چیز بنڈل میں کاپی کر دیتا ہے، اس لیے تیاری سے پہلے بلڈ کرنے سے ایسا بنڈل ملتا ہے جس میں کوئی نیٹو نہیں ہوتا اور سرور شروع ہونے سے انکار کر دیتا ہے۔
ویب کلائنٹ کے لیے scripts/build_web.sh استعمال کریں (فون PWA کے لیے --target remote)۔ CI یہی چلاتی ہے: سادہ flutter build web بلڈ آئیڈینٹٹی اسٹیمپ، Web Worker کی دوبارہ تیاری، ڈیپلائے مینی فیسٹ اور اثاثہ بجٹ کی جانچ چھوڑ دیتا ہے۔