
Yini i-SoftJL Community
I-SoftJL Community iyindawo yokusebenza yobunjiniyela besoftware ye-AI engazisebenza ngokuzimela, eqondiswe kumaphrojekthi okuphothula izifundo zesoftware, amaphrojekthi ezifundo kanye nemisebenzi ye-UML. Ixhumanisa ukuhlaziywa kwezidingo, ukuhlaziywa kokungenzeka, ukumodela kwe-UML, ukuklama, ukuhlola, imibhalo yobunjiniyela kanye nokulandelela izinguquko, ikusize uhlole ukuthi izidingo zifezekile yini ekuklameni nasekuhloleni, futhi ihlele ubufakazi obulandelekayo bokulungisa, ukwethula nokuphendula imibuzo.
Uhlelo lomphakathi lunikeza ikhodi yomthombo ephelele, ngaphansi kwelayisensi ye-Apache License 2.0. Uma luqhathaniswa nohlelo olusingathwa yiwebhusayithi esemthethweni, uhlelo lomphakathi ludinga ukuthi uphathe wena amasevisi, isizindalwazi nabahlinzeki bamamodeli, kodwa lugcina amakhono amakhulu okuhlanganisa ukukhipha imithetho yezidingo, amamodeli aphelele ezidingo nokuklama, ukumbozwa kokuhlola, ukukhiqizwa kwemibhalo, ukulandelela imithombo, ukuphathwa kwamaphrojekthi kanye nokuxhuma amamodeli e-BYOK.

Ukuhamba komsebenzi okuyinhloko
Inkundla isebenza ngochungechunge lobunjiniyela olusuka ezidingweni luye ekuqinisekisweni: qala ngokufaka izidingo nokuqinisekisa imithetho, bese wenza ukuhlaziywa kokungenzeka, ukhiqize amamodeli ezidingo namamodeli okuklama, ulandele ngokukhiqiza izimo zokuhlola kanye nematrix yokumboza, bese ekugcineni ukhiqiza imibhalo yobunjiniyela ehlelekayo nelandekayo.
- Imithetho yezidingo: Ikhipha imithetho ezidingweni zolimi lwemvelo, yenza ukuhlolwa kwekhwalithi, izibuyekezo, ukuqinisekiswa komuntu kanye nokuhlelwa kwemibandela yokwamukelwa.
- Ukuhlaziywa kokungenzeka: Ikhiqiza umdwebo wemvelo yesistimu, imidwebo yokugeleza kwebhizinisi nesistimu, kanye nokuhlaziywa kwezinhlelo zokuqalisa.
- Amamodeli e-UML: Isungula isakhiwo semisebenzi, amacala okusetshenziswa, imiqondo yesizinda, izikrini eziyizibonelo, izidingo zokusetshenziswa, ukwakheka okuphelele, amakilasi okuklama kanye nesizindalwazi.
- Ukuhlola nokumboza: Ikhiqiza izimo zokuhlola ezijwayelekile, ezingavamile nezisemkhawulweni, futhi ithole izikhala ngama-matrix okumboza nawokulandelela.
- Imibhalo yobunjiniyela: Ikhiqiza umbiko wocwaningo lokungenzeka, incazelo yezidingo zesofthiwe kanye nencazelo yokuklama isofthiwe, futhi isekela ukuphathwa kwezinguqulo nokulanda i-DOCX.
- Umthelela wezinguquko: Ibonisa ubudlelwano bemithombo phakathi kwezidingo, ukuklama, ukuhlola kanye nemibhalo, ukuze kutholakale ukuthi yiziphi izinto ezidinga ukubuyekezwa ngemva kokulungiswa.
- Ukuxhuma amamodeli: Ilungiselela amasevisi amamodeli ahambisana ne-OpenAI futhi ibize abahlinzeki bamamodeli bakho.
Imiphumela ekhiqiziwe isetshenziselwa ukuthola nokuhlela ubufakazi bobunjiniyela. Kusadingeka ukuthi umuntu aqinisekise imingcele yamamodeli, okuqukethwe kwamashadi kanye nokuvumelana kwebhizinisi kwemibhalo, futhi enze ukuhlola ohlelweni lwangempela.
Ukulungiselela imvelo ngaphambi kokufaka
Ukuqalisa okokuqala kudinga lezi zindawo ezilandelayo:
- Node.js 22
- npm 10
- Java 21
- Graphviz
- Ngokuzikhethela: Docker, yokuqalisa i-PostgreSQL ne-OnlyOffice
Uma usebenzisa isevisi yokunikezela okokuqala, uhlelo lungadinga uxhumano lwe-inthanethi ukuze lulande amafonti esiShayina e-PDF. I-Docker ayidingeki ukuze uzame isevisi eyinhloko okwesikhashana, kodwa ukusetshenziswa kwesikhathi eside kuncoma ukulungisa i-PostgreSQL egcinwayo; uma udinga ukuhlela i-DOCX ku-inthanethi, kufanele futhi uvule i-OnlyOffice.
Ukuqalisa ngokushesha amasevisi ayinhloko
1. Thola ikhodi yomthombo bese ufaka okuncikile
git clone https://github.com/guolola/SoftJL.git
cd SoftJL
npm ci2. Qalisa imvelo yokuthuthukisa
npm run devLo myalo uzakha ngokuzenzakalelayo amaphakheji abiwe e-contracts nawe-prompts, bese uqala i-Web, i-API kanye nesevisi yokunikezela ngokuhambisana. I-Web ivamise ukusebenza ku-http://localhost:3000, i-API isebenzisa imbobo ethi 4101, kanti i-Render Service isebenzisa imbobo ethi 4002.
Uma ubona okukhiphayo kwe-Web okuthi Ready, ungavula http://localhost:3000. Kuyanconywa futhi ukuhlola isimo sempilo:
http://localhost:3000/api/health
http://127.0.0.1:4002/healthLezi zindawo zombili zokuhlola impilo kufanele zibuyisele umphumela oqukethe status: "ok".
3. Qonda imodi yememori yesikhashana
Ukuqalisa ngqo npm run dev kusebenzisa imodi yememori yesikhashana ngokuzenzakalelayo. Ngemva kokuqalisa kabusha kwesevisi, ama-akhawunti, amaphrojekthi, izilungiselelo zamasevisi amamodeli kanye nomlando wokuqalisa kuzolahleka; amafayela emibhalo agcinwa ngokwehlukana kufolda yasendaweni futhi awakwazi ukuthatha indawo yesipele sesizindalwazi. Ngakho-ke le modi ilungele ukuzama ngokushesha, kodwa ayifanele ukugcina amaphrojekthi isikhathi eside.
Ukulungisa isizindalwazi esigciniwe nokuhlela ku-inthanethi
Ukusebenzisa i-PostgreSQL yokuthuthukisa

Ngemva kokufaka nokuqalisa i-Docker kukhompyutha yakho, ungasebenzisa imiyalo elandelayo ukuze uqale isizindalwazi sokuthuthukisa esizinikele kanye namasevisi ayinhloko:
npm run dev:postgresLe ndlela igcina isizindalwazi kuvolumu yedatha ye-Docker. Imininingwane yokungena kusizindalwazi ekuskripthini yenzelwe ukuthuthukisa kwasendaweni kuphela; endaweni yokukhiqiza kufanele ishintshwe, futhi akufanele usebenzise ngqo isizindalwazi esikhona sohlelo oluphelele njengesizindalwazi sohlelo lomphakathi.
Ukuxhuma ku-PostgreSQL ekhona
Uma usuvele ulungiselele i-PostgreSQL, kopisha i-.env.example esiqondisweni esiyinhloko ibe yi-.env, bese usetha i-DATABASE_URL kanye ne-UML_PROVIDER_CONFIG_SECRET ozakhele yona:
cp .env.example .envNgemva kokuqeda ukulungisa, phinda usebenzise npm run dev. Gcina ukhiye wokubethela ngokuphepha, ngoba ukushintsha ngokunganaki i-UML_PROVIDER_CONFIG_SECRET kuzokwenza imininingwane egciniwe yabahlinzeki bamamodeli ingakwazi ukuvulwa. Imininingwane yokuxhuma kusizindalwazi nokhiye akufanele kuthunyelwe ku-Git.
Ukuvula i-OnlyOffice
Uma udinga ukuhlela imibhalo ku-inthanethi, qala injini ye-Docker bese usebenzisa:
npm run dev:fullLesi skripthi sihlola i-OnlyOffice embotsheni ethi 8080 kukhompyutha yasendaweni; uma isevisi ingatholakali, sizodala noma siqalise ikhonteyina ehambisanayo. Ukuqalisa kokuqala kungadinga ukulanda isithombe. Amasevisi ayinhloko kuphela nawo angakhiqiza futhi alande imibhalo, kodwa umsebenzi wokuhlela ku-inthanethi udinga ukulungiswa okwengeziwe kwe-OnlyOffice.
Ukulungisa amasevisi amamodeli e-AI
- Qalisa isevisi ye-Web bese ungena ku-akhawunti.
- Yiya kuzilungiselelo ze-akhawunti bese wengeza i-Provider ehambisana ne-OpenAI.
- Faka i-HTTPS Base URL ne-API Key yomhlinzeki wamamodeli.
- Yenza ukutholwa kwamamodeli nokuhlolwa kokuxhumana.
- Khetha imodeli etholakalayo njengemodeli ezenzakalelayo.
Endaweni ozibekele yona, sebenzisa isevisi yakho yamamodeli; izindleko zokubiza amamodeli zikhokhwa kumhlinzeki ohambisanayo. Indawo yokukhiqiza kufanele isebenzise isizindalwazi esigciniwe nokhiye wokubethela iziqinisekiso, futhi ivale ukufinyelela kwezivakashi zokuthuthukisa kanye nendawo endala yokubuyela embhalweni osobala.
Ukwenza ukumodela okukodwa ngohlelo lokubhukha izihlalo zomtapo wolwazi
Nasi isibonelo sesidingo esilula: ngemva kokungena, umfundi ubheka izihlalo ezikhululekile, akhethe usuku nesikhathi bese ethumela ukubhukha; umfundi ofanayo akakwazi ukubhukha ngokuphindaphindiwe ngesikhathi esifanayo; ngemva kokuphumelela kokubhukha kuthunyelwa isaziso; umlawuli angaphatha izihlalo, abuke amarekhodi okubhukha futhi asingathe ukukhansela okungavamile.
Isinyathelo 1: Dala iphrojekthi bese uqinisekisa imithetho yezidingo
Ngemva kokudala iphrojekthi, faka incazelo yebhizinisi engenhla enkundleni ukuze uhlelo lukhiphe imithetho yezidingo. Hlola ikakhulukazi izindima zabasebenzisi, izimo zokubhukha, umthetho ovimbela ukubhukha okuphindaphindiwe, ukuziphatha kwezaziso kanye nenqubo yokukhansela okungavamile. Ngemva kokuqinisekisa ukuthi konke kulungile, gcina imithetho nemibandela yokwamukelwa ukuze uvimbele amamodeli alandelayo ukuthi asekelwe ezidingweni ezingacacile.
Isinyathelo 2: Qedela ukuhlaziywa kokungenzeka
Qedela lokhu kuhlaziya okuthathu ngokulandela ukuhamba komsebenzi wephrojekthi:
- Umdwebo wemvelo yesistimu: Chaza imingcele nokuxhumana phakathi kwabafundi, abalawuli, isevisi yezaziso kanye nohlelo lokubhukha.
- Imidwebo yokugeleza kwebhizinisi nesistimu: Hlela ukuhamba kokubheka izihlalo, ukuthumela ukubhukha, ukuthumela izaziso nokukhansela okungavamile.
- Uhlelo lokuqalisa: Qhathanisa izinhlelo ezingaba khona bese uqopha izindleko, izinzuzo nobungozi.
Ngemva kokuphothula ukuhlaziya, qala ngokuhlola ukuthi imingcele yesistimu nokugeleza kuyahambisana yini nezidingo zangempela, bese udlulela esigabeni sokukhiqiza amamodeli.
Isinyathelo 3: Khiqiza amamodeli ezidingo namamodeli okuklama
Inkundla ingakhiqiza imodeli ephelele yezidingo ngokusekelwe ezidingweni eziqinisekisiwe, okuhlanganisa isakhiwo semisebenzi, ukugeleza kwebhizinisi okuphelele, amacala okusetshenziswa, imiqondo yesizinda, ubudlelwano bezikrini eziyizibonelo kanye nezidingo zokusetshenziswa. Ngemva kokuqinisekisa imodeli yezidingo, ikhiqiza imodeli yokuklama ngokobudlelwano bezinto ezandulelayo, njengokwakheka okuphelele, ukuqaliswa kwamacala okusetshenziswa, amakilasi okuklama, ukuzulazula kwamakhasi, isizindalwazi, ubudlelwano bezakhi kanye nokuklama kokusetshenziswa.

Ngemva kokukhiqiza, vula ubudlelwano bemithombo bese uhlola ukuthi into ngayinye yokuklama ingalandelwa yini ibuyele emthethweni wezidingo. Lokhu kwenza kube lula ukubona amacala okusetshenziswa, amakilasi, ukuklanywa kwesizindalwazi kanye nokuhlola okuthintekayo lapho imithetho yokubhukha ishintsha.
Isinyathelo 4: Khiqiza ukuhlola nematrix yokumboza
Ohlelweni lokubhukha, hlola okungenani lezi zimo:
- Umfundi angabheka izihlalo ezikhululekile ngosuku nangesikhathi esithile.
- Umfundi angathumela ukubhukha okusemthethweni futhi athole isaziso.
- Uma umfundi ofanayo ezama ukubhukha ngokuphindaphindiwe ngesikhathi esifanayo, uhlelo luyakwazi ukwenqaba isicelo.
- Uma zingekho izihlalo ezikhululekile, isikhathi singekho emthethweni noma imininingwane yokubhukha ingaphelele, uhlelo luyakwazi ukuphatha iphutha.
- Umlawuli angaphatha izihlalo, abuke amarekhodi okubhukha futhi asingathe ukukhansela okungavamile.
Sebenzisa imatrix yokumboza neyokulandelela ukuze uthole izidingo ezingenabo ubufakazi bokuklama noma bokuhlola. Izimo zokuhlola ezikhiqizwe yinkundla kusadingeka zenziwe ohlelweni lwangempela; impumelelo yokukhiqiza iyodwa ayikwazi ukuba umphumela wokwamukelwa.
Isinyathelo 5: Khiqiza imibhalo yobunjiniyela
Ngemva kokuphothula ukuhlaziywa kokungenzeka, imodeli yezidingo kanye nemodeli yokuklama, ungakhiqiza izinhlobo ezintathu zemibhalo yobunjiniyela: umbiko wocwaningo lokungenzeka, incazelo yezidingo zesofthiwe kanye nencazelo yokuklama isofthiwe. Ngemva kokukhiqiza, hlola ukuthi umbhalo namashadi kuyahambisana yini, wenze izinguquko ngokwezifanekiso nezimfuneko zefomethi zesikole, bese wenza ukuphathwa kwezinguqulo nokulanda i-DOCX.

Indlela yokuphatha izinguquko zezidingo
Ngokwesibonelo, iphrojekthi ishintsha umthetho othi “umfundi ofanayo akakwazi ukubhukha ngokuphindaphindiwe ngesikhathi esifanayo” ube “umfundi ofanayo angabhukha izikhathi ezimbili kuphela ngosuku”. Ungalungisi nje umusho owodwa emibhalweni; landela ubudlelwano bemithombo nokuncika ukuze uhlole:
- Gcina futhi uqinisekise umthetho omusha wezidingo.
- Vula ubudlelwano bemithombo nomthelela wezinguquko ukuze ubuke izidingo, amacala okusetshenziswa, ukuklama kanye nezinto zokuhlola ezithintekayo.
- Buyekeza imodeli yezidingo nemodeli yokuklama ngokulandelana kokuncika.
- Phinda uhlole imingcele yesizindalwazi, ukugeleza kwebhizinisi kanye nokuphathwa kwamaphutha.
- Buyekeza izimo zokuhlola nematrix yokumboza, bese wenza ukuhlola kokubuyela emuva ohlelweni lwangempela.
- Phinda ukhiqize noma ulungise imibhalo efanele, ugcine amarekhodi ezinguqulo.
Imigqa yemithombo nenani lokumboza kusiza ukuthola ububanzi bokuhlola, kodwa ekugcineni kusadingeka uvule amamodeli athile ukuze uqinisekise ukuthi imingcele, izimo zokufaka nokuziphatha kuphelele.
Ukuxhuma i-Coding Agent yangaphandle
Uhlelo lomphakathi lungavulwa ngumsebenzisi ukuze lunikeze ukufinyelela kwe-MCP kokufunda kuphela, okuvumela i-Coding Agent ehambisanayo ukuthi ifunde ukuklama okugciniwe ngaphakathi kobubanzi bephrojekthi, izimo zokwamukelwa, imingcele yobunjiniyela kanye nolwazi lokuhlola. Indawo yokuzama i-MCP yasendaweni itholakala kubha eseceleni ethi “Umsizi wokuhlela” noma kuzilungiselelo zephrojekthi ngaphansi kokuthi “Xhuma le phrojekthi”; ngaphambi kokuyisebenzisa, kufanele uqede ukufaka nokwakha.
npm run dev:mcpLokhu kuxhuma kunikeza ubufakazi bobunjiniyela bokufunda kuphela; akuthathi indawo yokubuyekezwa kwekhodi, ukuqalisa kwangempela nokwamukelwa kokuhlola. I-README iphinde ichaze ukuthi ukuhambisana kwamaklayenti angempela e-Coding Agent nokwamukelwa kwekhodi ekhiqiziwe kusathuthukiswa; lapho uyisebenzisa, bheka imiyalelo yokuxhuma i-MCP.
Imiyalo yokuthuthukisa evamile
npm run build:packages: Yakha amaphakheji abiwe e-contracts nawe-prompts.npm run build: Yakha amaphakheji abiwe nazo zonke izinhlelo.npm run dev:render: Iqala isevisi yokunikezela ye-PlantUML yodwa.npm run test:contracts: Iqinisekisa izivumelwano ezabiwe.npm run test:api: Iqhuba ukuhlolwa kwe-API.npm run test:render: Iqhuba ukuhlolwa kwesevisi yokunikezela.npm run test:web: Iqhuba ukuhlolwa okuphelele kwe-Web.npm run typecheck:web: Ihlola izinhlobo ze-Web.npm run lint:web: Yenza ukuhlolwa okumile kwe-Web.npm audit --audit-level=high: Ihlola izaziso zokuphepha kokuncikile.
Ngemva kokushintsha amaphakheji abiwe, ngaphambi kokuqala uhlelo ngokwehlukana noma ukuqhuba ukuhlola, kufanele uqale usebenzise npm run build:packages. Okukhiphayo kokwakha, ukulungiselelwa kwemvelo, okhiye abayimfihlo, izingodo kanye nedatha yokuqalisa yasendaweni kufanele kuhlale kungaphakathi kobubanzi obunganakiwe yi-Git.
Uhlaka lokwakheka
Iphrojekthi isebenzisa isakhiwo sezinhlelo eziningi namaphakheji abiwe:
apps/web: Indawo yokusebenza ye-React ne-Next.js namakhasi.apps/api: I-Fastify API, ukuqinisekiswa, inqubo yokukhiqiza, amarekhodi okusebenza nokuhlanganiswa kwemibhalo.apps/render-service: Ukunikezwa kwemidwebo ye-PlantUML.packages/contractskanye ne-packages/prompts: Izivumelwano ezabiwe nemiyalelo yokukhiqiza.packages/harness-e2ekanye ne-packages/harness-eval: Ukwamukelwa nokuhlolwa kwekhwalithi.
Izinto Okufanele Uziqaphele Ngokuthunyelwa Nokusetshenziswa
- Uhlelo lomphakathi kufanele lusebenzise isizindalwazi esizimele; akufanele lusetshenziswe njengendlela yokwehlisa esikhundleni sesizindalwazi esiphelele sewebhusayithi esemthethweni.
- Izifakazelo zesizindalwazi ezikumaskripthi okuqalisa okuthuthukisa uhlelo zifanele ukusetshenziswa emshinini wendawo kuphela; endaweni yokukhiqiza kufanele kushintshwe zona.
- Okhiye bamamodeli, imininingwane yokuxhuma kusizindalwazi nokhiye bokubethela akufanele kufakwe endaweni yokugcina ikhodi.
- Incwadi echaza ubunjiniyela ingasetshenziswa njengengxenye yombiko wephrojekthi, kodwa ayilingani nethisisi ephelele yokuphothula izifundo.
- Ukuvumelana kwebhizinisi phakathi kwamashadi, incwadi echazayo nekhodi kudinga ukuhlolwa umuntu, futhi kuqinisekiswe ngobufakazi bokusebenza.
- Ngaphambi kokuthunyelwa kokukhiqiza, kufanele kushintshwe izilungiselelo zesizinda sesevisi, isizindalwazi, i-imeyili namamodeli.
Isifinyezo
ISoftJL Community ilungele onjiniyela abafisa ukuhlela iphrojekthi yabo yokuphothula izifundo noma umsebenzi wezifundo ngokulandela inqubo yobunjiniyela. Ngemva kokuqeda ukufakwa kwendawo, ukumiswa kwesizindalwazi namamodeli, ungasebenzisa imithetho yezidingo njengesiqalo ukuze ukhiqize kancane kancane ukuhlaziywa kokungenzeka, amamodeli ezidingo nawokuklama e-UML, ukumbozwa kokuhlolwa kanye nencwadi echaza ubunjiniyela, bese ulandelela ububanzi bomthelela lapho izidingo zishintsha.
Kunganciphisa ukusabalala kwezinto nokuhlelwa kabusha okuphindaphindiwe, kodwa akukwazi ukuthatha indawo yokwahlulela komuntu ekuklameni, ukuqaliswa kwekhodi, ukuhlolwa kwangempela nokulungiselela ukuzivikela kokugcina. Kunconywa ukuthi okuqukethwe okukhiqizwa yipulatifomu kuthathwe njengohlaka lobunjiniyela olungalandelelwa kanye nesisekelo sokuhlola, bese kuhlanganiswa nezidingo zesikole nemiphumela yokusebenza kwesistimu yangempela ukuze kuqedwe ukulethwa kokugcina.
