Ruka hadi maudhui makuu
Mafunzo ya AI

Mafunzo ya Kujihostisha SkyDot: Kuunda Kituo cha AI cha Dot Nyingi kutoka Mwanzo

Makala haya yanaeleza usanifu na uwezo mkuu wa SkyDot, na kukuongoza kukamilisha usakinishaji wa ndani, usanidi wa modeli, hali za uendeshaji za Host au Docker, kuunganisha programu ya kompyuta ya mezani, pamoja na kusanidi ushirikiano wa Dot nyingi.

Mafunzo ya Kujihostisha SkyDot: Kuunda Kituo cha AI cha Dot Nyingi

SkyDot ni nini

SkyDot ni jukwaa huria, la kujipangia mwenyewe na la watumiaji wengi la kuendesha Agents, linalotumia Pi Agent Runtime. Unaweza kuunda Dot nyingi zenye majina na mipangilio tofauti ili zitekeleze majukumu mbalimbali; pia unaweza kuweka Dot nyingi kwenye mazungumzo ya kikundi na kupanua uwezo wao wa kufanya kazi kwa muda mrefu kupitia ratiba, Skills, MCP, Plugins na Memory.

Si ukurasa wa mazungumzo pekee. Workspace hutenganisha faili, vipindi, kumbukumbu na mipaka ya utekelezaji; Backend hushughulikia uthibitishaji, ruhusa, foleni, upangaji, Provider na njia za ujumbe; Host au Docker Runner ndiye anayetekeleza Agent halisi. Uidhinishaji wa zana unaohitaji uthibitisho wa mtumiaji, maombi ya kifaa na maendeleo ya kazi pia hurudishwa kwenye jukwaa hilohilo.

Muundo wa mfumo wa SkyDot

Muundo mkuu na mipaka ya utekelezaji

SkyDot hutenganisha kiolesura, sehemu ya udhibiti na sehemu ya utekelezaji, hivyo inafaa kwa matumizi binafsi na pia kwa usakinishaji wa kujipangia mwenyewe wa timu.

  • Backend: Inatumia Node.js, TypeScript, Hono, SQLite na WebSocket, na hushughulikia uthibitishaji, uhifadhi wa kudumu, foleni, upangaji, Provider, njia za mawasiliano na uidhinishaji.
  • Runner: Hutumia Pi Agent Runtime kutekeleza kazi halisi za Agent, ikiwa na chaguo la hali ya Host kwenye mashine ya ndani au kontena la Docker lisilo root.
  • Workspace: Huamua faili, Session, Memory, uunganishaji wa njia za mawasiliano na mipaka ya uendeshaji.
  • Web, PWA na Electron: Hutumia sehemu ya mbele ya React inayoshirikishwa; Electron Renderer hushughulikia kiolesura pekee na haigusi moja kwa moja hifadhidata, mfumo wa faili, vitambulisho, Docker au ruhusa za shell/process.

Ruhusa hazivuki mipaka mingine kiotomatiki kwa sababu tu safu moja imekubali. Kabla ya kusambaza mazingira ya timu, soma matrix ya ruhusa na sera ya usalama.

Vipengele vikuu

Dot binafsi na vipindi

Kila Dot inaweza kuwekwa kivyake kwa jina, avatar, Prompt, modeli, kiwango cha kufikiri, Skills, MCP na sera ya utekelezaji. Mazungumzo yanaunga mkono matokeo ya mtiririko, Markdown, vizuizi vya msimbo, viambatisho vya faili, kusitisha, ujumbe unaofuata na kurejesha vipindi.

Mazungumzo ya Dot binafsi ya SkyDot

Workspace tofauti zimetenganishwa. Faili, vipindi, kumbukumbu, uunganishaji wa njia za mawasiliano na ruhusa za utekelezaji hazichanganywi kwa sababu tu zimefunguliwa kwenye kiolesura kimoja. Wakati wa utekelezaji unaweza kuchagua hali ya Host au Container.

Ushirikiano wa Dot nyingi kwenye mazungumzo ya kikundi

Baada ya kuwezesha mazungumzo asilia ya kikundi, unaweza kuona ujumbe, risiti za kazi, maendeleo na matokeo ya Dot nyingi kwenye mstari mmoja wa muda. Kutajwa wazi na ugawaji unaodhibitiwa hutumika kudhibiti upeo wa ushirikiano; kuunganisha tena au kufungua ukurasa upya husoma hali pekee na hakuwasilishi kazi mpya kiotomatiki.

Ushirikiano wa Dot nyingi za SkyDot

Kwa chaguo-msingi, mazungumzo ya kikundi yamezimwa. Ili kuwezesha mazungumzo asilia ya kikundi, weka SKYDOT_BOT_GROUPS=true; ikiwa pia unataka kuruhusu ushirikiano wa utekelezaji kati ya Bot, weka SKYDOT_BOT_HANDOFFS=true na msimamizi asanidi ruhusa za uendeshaji pamoja na bajeti ya miito.

Kazi zilizopangwa, Skills na Memory

Scheduler inaunga mkono Cron, vipindi maalum na kazi za mara moja, pamoja na kuendesha mara moja, kusitisha, kughairi, historia ya uendeshaji na kuwasilisha matokeo. Skills, MCP na Plugins zinaweza kusimamiwa kwa pamoja, kisha upeo wa kuwezesha usanidiwa kwa kila Dot.

Memory huhifadhi ukweli, mapendeleo, maamuzi, uzoefu na mambo ya kufuatilia kwa msingi wa Workspace, na inaunga mkono kutafuta, kuunda, kuhariri, kusahau na historia ya matoleo. Session huhifadhi muktadha wa mazungumzo mahususi, huku Workspace Memory ikihifadhi maarifa yanayoweza kutumiwa tena katika Session mbalimbali; viwili hivyo viko huru kutoka kwa kila kimoja.

Maandalizi kabla ya usakinishaji

  • Node.js: Toleo la 22.19 au jipya zaidi; Node.js 24 LTS inapendekezwa. Hifadhi ya Pi Durable inahitaji SQLite iliyojengwa ndani ya Node.js.
  • npm: Husakinishwa pamoja na Node.js na hutumika kusakinisha utegemezi wa kila mradi mdogo.
  • Docker: Inahitajika tu katika hali ya utekelezaji ya Container.
  • Model Provider: Mazungumzo halisi ya AI yanahitaji Model Provider inayofanya kazi; hata bila API Key bado unaweza kuanzisha kiolesura.
  • GNU Make: Ni hiari, na hutumika kwa ukaguzi wa aina, chelezo na amri za uendeshaji.

Kusakinisha SkyDot kutoka mwanzo

1. Klo​ni hazina na usakinishe utegemezi

Tekeleza amri zifuatazo kwenye terminal ili kusakinisha utegemezi wa mradi mkuu, sehemu ya mbele ya Web na Agent Runner mtawalia:

git clone https://github.com/2SinceJuly/SkyDot.git
cd SkyDot

npm install
npm --prefix web install
npm --prefix container/agent-runner install

2. Jenga na uanzishe huduma

Baada ya kusakinisha utegemezi, jenga vipengele vyote na uanzishe Backend:

npm run build:all
npm start

Fungua http://127.0.0.1:3000 na ukamilishe uanzishaji wa msimamizi kulingana na ukurasa. Provider na njia za ujumbe zinaweza kusanidiwa baadaye, lakini bila usanidi wa modeli mazungumzo halisi ya AI hayawezi kuendeshwa.

3. Anzisha mazingira ya uendelezaji

Wakati wa uendelezaji unaweza kuanzisha Backend na Vite Web Client kwa wakati mmoja:

npm run dev:all

Anwani ya kawaida ya ukurasa wa uendelezaji ni http://127.0.0.1:5173. Ikiwa unataka tu kuvinjari kiolesura kwa haraka kwenye mashine ya ndani, unaweza kutumia Demo ya anwani ya loopback isiyohitaji kuingia:

SKYDOT_DEMO_OPEN=true PROVIDER_SETUP_SKIPPED=true npm start

Usiwashie hali ya Demo kwenye mtandao wa umma au usioaminika. Kwa vikwazo kamili vya hali hii, soma DEMO.md kwenye hazina.

Kusanidi Model Provider

SkyDot inakuruhusu kukamilisha uanzishaji wa kiolesura kwanza, kisha kuongeza Provider kwenye mipangilio. Unapounganisha modeli halisi, andaa API Key, Session Cookie au kitambulisho kingine kinachohitajika, na epuka kuweka vitambulisho kwenye picha za skrini, historia ya mstari wa amri au hazina ya Git.

Ukitumia kiolesura cha OpenAI Completions cha mtu wa tatu, unaweza kuweka yafuatayo kwenye vigezo maalum vya mazingira vya Provider:

SKYDOT_MODEL_API=openai-completions

Itifaki ya chaguo-msingi ni anthropic-messages; mpangilio huu hutumika pia kwa Host na Container Runner za mazungumzo ya kawaida ya Dot.

Chagua hali ya utekelezaji wa Agent

Hali ya Host

Hali ya Host hutumia Runner ya mashine ya ndani moja kwa moja, haihitaji Docker na inafaa kwa uendelezaji wa ndani na uthibitishaji wa haraka. Ruhusa za utekelezaji bado zinawekewa mipaka na Workspace, mtumiaji na sera ya uendeshaji.

Hali ya Container

Hali ya Container inahitaji Docker ipatikane na picha ya Agent Runner iwe tayari. Picha ya chaguo-msingi ni 2sincejuly/skydot-agent:latest; unaweza pia kuijenga kutoka kwenye msimbo wa sasa:

docker build --pull -t 2sincejuly/skydot-agent:latest container

Ukitaka kutumia picha nyingine, unaweza kuweka SKYDOT_CONTAINER_IMAGE; kipengele kinachooana ni CONTAINER_IMAGE. Huduma na ujenzi wa picha lazima viunganishwe kwenye Docker daemon moja. make start au make dev hutumia picha ya ndani kwanza, na hujaribu kuivuta ikiwa haipo.

Kuendesha Electron ya eneo-kazi

Ikiwa Backend na Vite tayari zimeanzishwa, endesha Electron kwenye terminal nyingine:

SKYDOT_RENDERER_URL=http://127.0.0.1:5173 npm run desktop:dev

Ikiwa Backend tayari inatoa ukurasa uliojengwa, unaweza pia kutekeleza moja kwa moja:

npm run desktop:dev

Electron inaweza pia kuunganishwa na Backend ya mbali:

SKYDOT_SERVER_URL=https://your-skydot.example.com npm run desktop:dev

Kwa kujenga kifurushi cha ndani, tumia amri zifuatazo:

npm run desktop:package:dir
npm run desktop:package

Mradi kwa chaguo-msingi hutoa usanidi wa kifurushi cha macOS arm64, huku ukihifadhi malengo ya Windows na Linux. Kabla ya kutolewa rasmi, unahitaji kusanidi utiaji saini na notarization kwa jukwaa lengwa.

Vigezo muhimu vya mazingira

  • WEB_PORT: Port ambayo Backend husikiliza; thamani ya chaguo-msingi ni 3000.
  • SKYDOT_SERVER_URL: Anwani ya Backend ambayo Electron huunganisha; thamani ya chaguo-msingi ni http://127.0.0.1:3000.
  • SKYDOT_RENDERER_URL: Anwani ya Renderer ambayo Electron hupakia.
  • SKYDOT_CONTAINER_IMAGE: Picha ya kontena ya Agent Runner.
  • PROVIDER_SETUP_SKIPPED: Huruka mwongozo wa Provider wakati faili ya mipangilio ya mfumo haipo.
  • SKYDOT_BOT_GROUPS: Huwezesha mazungumzo asilia ya Dot nyingi kwenye kikundi.
  • SKYDOT_BOT_HANDOFFS: Huwezesha ushirikiano wa utekelezaji kati ya Bot kwenye mazungumzo ya kikundi.
  • SKYDOT_PERSONAL_GOALS: Huwezesha kipengele cha majaribio cha Goal binafsi.

Goal binafsi na Durable Runtime zimezimwa kwa chaguo-msingi. Kazi za kawaida zilizopangwa hazitegemei swichi hizi; kwa masharti mahususi ya uendeshaji, soma nyaraka ya Goals and Tasks.

Mtiririko wa msingi wa matumizi

  1. Ingia kwenye SkyDot na ukamilishe uanzishaji wa msimamizi.
  2. Kwenye mipangilio, sanidi Model Provider inayopatikana.
  3. Unda Dot na uiwekee jina, Prompt, modeli na sera ya utekelezaji.
  4. Chagulia Dot Workspace, ukihakikisha kuwa mipaka ya faili na kumbukumbu inalingana na matarajio.
  5. Tuma kazi kwenye mazungumzo na ufuatilie matokeo ya mtiririko, uidhinishaji wa zana na matokeo ya utekelezaji.
  6. Ikiwa inahitajika iendeshe kwa muda mrefu, unda kazi ya Cron, muda maalum au kazi ya mara moja.
  7. Unapohitaji ushirikiano wa majukumu mengi, wezesha mazungumzo ya kikundi na usanidi wazi ruhusa za ushirikiano wa Bot.

Kwa mfano, unaweza kuunda Dot anayehusika na uchanganuzi wa msimbo na Dot mwingine anayehusika na kupanga nyenzo, kisha uwaongeze kwenye gumzo la kikundi kimoja. Kwa kutaja wazi au kukabidhi majukumu kwa udhibiti, watumiaji wanaweza kuona maendeleo na matokeo katika ratiba ya pamoja, huku mipaka ya ruhusa ya kila Workspace ikiendelea kuheshimiwa.

Mapendekezo ya Uendeshaji na Usalama

Data ya wakati wa utekelezaji huhifadhiwa kwa chaguomsingi katika saraka ya data/ ya hazina, ikijumuisha SQLite, Workspace, Session, Memory na mipangilio ya utekelezaji. Saraka hii haiingii kwenye Git, lakini nakala za chelezo zinaweza kuwa na mipangilio nyeti na hifadhidata, hivyo zinapaswa kulindwa kwa kiwango sawa na data asili.

  • Tumia make status kuangalia hali ya Backend, kumbukumbu na Docker.
  • Tumia make stop kusimamisha huduma ya SkyDot kwenye bandari ya sasa.
  • Tumia make backup kuunda nakala ya chelezo ya data ya wakati wa utekelezaji.
  • Tumia make restore FILE=... kurejesha nakala maalum ya chelezo.
  • Tumia make typecheck kutekeleza ukaguzi wa Backend, Web, Agent Runner na nyaraka.
  • Tumia npm test -- --run kuendesha majaribio ya Vitest.

Wakati wa kusambaza kwa mbali, tumia HTTPS na WSS, na usanidi kwa usahihi proksi ya kinyume, Cookie na udhibiti wa ufikiaji. Usifichue Renderer, hifadhidata au Docker daemon moja kwa moja kwa watumiaji wasioaminika, wala kuwasha Demo ya umma kwa urahisi.

Upanuzi Zaidi

Maktaba ya uwezo ya SkyDot inasaidia vyanzo kama vilivyojengewa ndani, kompyuta mwenyeji, mradi, mtumiaji, Workspace na Plugin. Kabla ya Agent kuanza, orodha halali ya uwezo hutengenezwa, kisha Prompt, rasilimali na muktadha huingizwa kulingana na sera. Mradi pia unaunga mkono snapshot za matoleo ya Plugin, Subagents, pamoja na mipaka ya uwezo inayolingana kati ya Host na Container.

Kuhusu njia za kuingiza ujumbe, Web, PWA na Electron hutumia sehemu moja ya mbele ya biashara, na zinaweza kuunganishwa na njia kama 飞书, Telegram, QQ, 钉钉, 微信, Discord na WhatsApp. Njia zinaweza kuunganishwa na Workspace au Session maalum.

Muhtasari

SkyDot inaunganisha mazungumzo ya Dot nyingi, utenganishaji wa Workspace, utekelezaji wa Agent, kazi zilizoratibiwa, uwezo wa upanuzi na ruhusa za timu katika kituo kimoja cha kazi kinachojisimamiwa. Baada ya kukamilisha maandalizi ya mazingira ya Node.js, usakinishaji wa vitegemezi, ujenzi na uanzishaji, pamoja na usanidi wa Provider kulingana na makala hii, unaweza kwanza kuendesha Dot yako binafsi, kisha kuwezesha hatua kwa hatua uwezo kama Docker, Electron, gumzo la kikundi, Scheduler, Skills, MCP na Memory.

Kwa kuwa mradi bado unaendelezwa, modeli halisi, Docker, njia za nje na usambazaji wa mbali hutegemea vitambulisho na mazingira yao husika ya utekelezaji. Uwezo wa majaribio kama Goal, Durable au Cloud Runtime pia haupaswi kuchukuliwa kuwa umewezeshwa kwa chaguomsingi.