راهنمای پل لوکال کیاشو

مدل هوش مصنوعی، ویس، یا هر برنامه‌ای که روی کامپیوتر خودت یک آدرس لوکال دارد را به سایت وصل کن. هر کس با حساب خودش این کار را می‌کند.

۱) این پل چه کار می‌کند

برنامه روی کامپیوتر تو می‌ماند. یک پنجرهٔ کوچک به کیاشو وصل می‌شود و همان پورت لوکال را، با استریم و سوکت، پشت حساب تو منتشر می‌کند.

سایت کیاشو → تونل حساب تو → 127.0.0.1:پورت → مدل / ویس / هر سرویس

هر چیزی که در مرورگر یا با curl روی http://127.0.0.1:پورت جواب بدهد وصل می‌شود: Ollama، سرور ویس، پنل، API خودت. برنامه‌ای که فقط پنجره دارد و پورتی باز نمی‌کند از این مسیر رد نمی‌شود.

۲) قبل از شروع

پورت را از صفحه‌ای که برنامه باز می‌کند بردار، یا در مرورگر http://127.0.0.1:پورت را امتحان کن. اگر آنجا باز شد، همان عدد را به پل بده.

۳) نصب پل، یک بار

یک پوشه بساز، این دو فایل را داخلش ذخیره کن، بعد در همان پوشه وابستگی را نصب کن.

  1. bridge.js
  2. package.json

Windows (PowerShell)، داخل همان پوشه:

npm install
node bridge.js --help

اگر npm شناخته نشد، Node را نصب کن و ترمینال را ببند و دوباره باز کن.

۴) کد شش‌رقمی

  1. وارد کیاشو شو
  2. برو به تنظیمات
  3. بزن ۲. کد اتصال VS Code
  4. همان کد شش‌رقمی برای این پل است. حدود ۱۰ دقیقه اعتبار دارد و یک‌بار مصرف است

۵) وصل کردن سرویس

به‌جای عددها، پورت واقعی برنامه‌ات را بگذار. کد را همان لحظه از تنظیمات بگیر.

node bridge.js --code 123456 --llm 11434 --voice 8080

سرویس‌های بیشتر را با اسم خودشان اضافه کن. اسم، بخشی از آدرس ثابت می‌شود.

node bridge.js --service panel=7860 --service whisper=8178

اگر کد را یک‌بار زده باشی، دفعهٔ بعد توکن ذخیره شده و این کافی است:

node bridge.js --llm 11434 --voice 8080

در خروجی برای هر سرویس یک خط ready و یک آدرس می‌آید. آن آدرس را بردار. تا وقتی اسم سرویس و حساب تو عوض نشود، با قطع و وصل شدن پل همان آدرس می‌ماند.

پنجره را نبند و کامپیوتر را خاموش نکن. با بستن پل، سایت دیگر به مدل لوکال نمی‌رسد. فقط همان حساب کیاشو که کد را ساخته می‌تواند این آدرس را صدا بزند.

۶) صدا زدن از سایت

توکن ورود همان مرورگری است که با آن وارد کیاشو شده‌ای. در کنسول آن صفحه:

localStorage.getItem('kiasho_token')

درخواست مدل، با استریم. مسیر بعد از آیدی تونل همان مسیر خودِ برنامهٔ لوکال است. برای Ollama معمولاً /api/chat یا /v1/chat/completions است.

const token = localStorage.getItem('kiasho_token');
const res = await fetch('https://app.kiasho.ir/dev/آیدی-سرویس/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + token,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'نام-مدل',
    stream: true,
    messages: [{ role: 'user', content: 'سلام' }],
  }),
});
const reader = res.body.getReader();

سوکت را مرورگر بدون هدر Authorization باز می‌کند، برای همین توکن را در آدرس بگذار:

const token = localStorage.getItem('kiasho_token');
const ws = new WebSocket(
  'wss://app.kiasho.ir/dev/آیدی-سرویس/مسیر?access_token=' + encodeURIComponent(token)
);

بدنهٔ هر درخواست تا ۲۵ مگابایت یک‌جا می‌رود. جواب، از جمله توکن مدل و صدای ویس، همان لحظه تکه‌تکه برمی‌گردد.

۷) اگر وصل نشد

نشانهکار
کد قبول نمی‌شوداز تنظیمات یک کد تازه بگیر. کد قبلی سوخته یا ده‌دقیقه‌اش گذشته.
توکن نیستدستور را با --code دوباره بزن.
Cannot find module 'ws'داخل همان پوشه npm install بزن.
سایت ۴۰۱ می‌دهدتوکن را از همان حسابی بفرست که پل را وصل کرده. بدون توکن این آدرس باز نمی‌شود.
سایت ۵۰۲ می‌دهدپنجرهٔ پل بسته شده، یا برنامهٔ لوکال روی آن پورت روشن نیست.
لوکال باز است، از سایت نهپورت دستور را با پورتی که در مرورگر خودت باز می‌شود یکی کن.

فایل توکن روی همین کامپیوتر ذخیره می‌شود: %USERPROFILE%\.kiasho\local-bridge.json