
Yowes ni programu ya Python inayoweza kubebeka na inayozalisha hati zinazohusiana na walimu kama faili za PNG zenye mwonekano wa juu. Seva yake ya Model Context Protocol (MCP) isiyohitaji kiolesura cha picha hutoa uundaji wa hati kupitia stdio, hivyo inaweza kutumiwa na mazingira ya mawakala kama Claude Desktop, Hermes na wateja wengine wa MCP.
Mradi huu unaunga mkono nchi 13, aina za hati mahususi kwa kila nchi, fonti na picha za wasifu zilizojumuishwa, pamoja na data za shule zilizo na anwani na maelezo ya mawasiliano. Mafunzo haya yanaeleza usakinishaji, usanidi wa seva, matumizi ya zana za MCP, ujumuishaji wa Python na chaguo za upanuzi.
Yowes Inafanya Nini
Yowes huunda hati za walimu zilizobinafsishwa kwa eneo kutoka kwenye wasifu wa mwalimu na shule iliyochaguliwa. Kulingana na nchi, matokeo yanayopatikana yanaweza kujumuisha barua za ajira, vitambulisho vya walimu, leseni za kufundisha, hati za malipo, vitambulisho vya shule, mikataba, vyeti na miundo mingine ya hati.
Faili zinazozalishwa huhifadhiwa kama picha za PNG. Programu hii inajumuisha fonti za DejaVu Sans na picha za wasifu ndani ya kifurushi, hivyo haitegemei fonti za mfumo au vipengee vya picha vya nje wakati wa utekelezaji.
Nchi zinazoungwa mkono
Misimbo ya nchi na aina za hati zinazopatikana ni pamoja na:
- Uingereza: barua za ajira, vitambulisho vya walimu na leseni za kufundisha.
- Marekani: barua za ajira, vitambulisho vya walimu na leseni za kufundisha.
- Ufaransa: taarifa za kuanza kazi, picha za skrini za iProf, dondoo za kanuni za ndani na vyeti vya kufundisha.
- Uholanzi: mikataba ya ajira, usajili wa walimu, matamko ya DUO na vitambulisho vya shule.
- Indonesia: hati za malipo, barua za uzoefu wa kufundisha, kadi za NUPTK na barua za uteuzi.
- Australia: barua za shule zilizosainiwa, vitambulisho vya shule na leseni za kufundisha.
- Kanada: kadi za OCT, leseni za kufundisha na barua za shule zilizosainiwa.
- Hispania: vitambulisho vya kufundisha, barua za shule zilizosainiwa na mikataba ya ajira.
- Ajentina: hati za malipo, vyeti vya ajira na barua za shule zilizosainiwa.
- Slovakia: hati za malipo, barua za ajira na barua za shule zilizosainiwa.
- Meksiko: vitambulisho vya kufundisha, barua za shule zilizosainiwa na vyeti vya ajira.
- Ufilipino: vitambulisho vya kufundisha, vyeti vya ajira na leseni za kufundisha.
- Thailand: hati za malipo na barua za ajira.
Tumia hati hizi kwa majaribio halali, maonyesho au taratibu za kiutawala zilizoidhinishwa pekee. Hati zinazozalishwa hazipaswi kuwasilishwa kama sifa rasmi isipokuwa zimetolewa na kuthibitishwa na taasisi husika.
Mahitaji
Yowes inahitaji Python 3.10 au toleo jipya zaidi. Vitegemezi vyake vikuu, Pillow na mcp, husakinishwa kiotomatiki unaposakinisha kifurushi.
Mradi huu unaunga mkono Windows, Linux na macOS. Kwa kuwa fonti na picha zimejumuishwa, programu iliyofungwa imeundwa kuwa rahisi kubebeka.
Sakinisha Yowes
Sakinisha kutoka kwenye wheel
Ikiwa una wheel iliyojengwa katika saraka ya dist, isakinishe kwa:

pip install dist/yowes_doc_generator-0.1.0-py3-none-any.whlSakinisha kutoka kwenye msimbo chanzo
Kwa ajili ya uundaji au majaribio ya ndani, sakinisha mradi katika hali ya uhariri:
pip install -e .Endesha kwa uv
Pia unaweza kuanzisha mradi kupitia uv:
uvx --from . yowes-mcpThibitisha vipengee vilivyojumuishwa
Baada ya usakinishaji, hakikisha kuwa wasaidizi wa fonti iliyojumuishwa na picha za wasifu wanapatikana kwa usahihi:
python -c "from countries.utils import load_font, get_profile_photo; print(load_font(30).getname()); print(get_profile_photo((280,340), person_id='x', gender='Male') is not None)"Utekelezaji uliofanikiwa huripoti fonti ya DejaVu Sans na kurudisha True kwa picha ya wasifu iliyojumuishwa.
Unganisha Seva ya MCP
Yowes huwasiliana kupitia MCP kwa kutumia stdio. Anzisha amri iliyosakinishwa kwa:
yowes-mcpVinginevyo, unapofanya kazi moja kwa moja kutoka kwenye mti wa msimbo chanzo, endesha:

python mcp_server.pyMchakato husubiri maombi ya MCP kwenye ingizo la kawaida na kuandika majibu kwenye pato la kawaida. Haukuundwa kufanya kazi kama programu shirikishi ya terminali.
Sajili Yowes katika mteja wa MCP
Elekeza mazingira ya wakala yanayooana na MCP kwenye kitekelezi:
{
"mcpServers": {
"yowes": {
"command": "yowes-mcp",
"args": []
}
}
}Ikiwa amri haipatikani kwenye PATH yako, tumia njia kamili ya Python na uanzishe moduli ya seva:
{
"mcpServers": {
"yowes": {
"command": "/path/to/python",
"args": ["-m", "mcp_server"]
}
}
}Chunguza Zana Zinazopatikana za MCP
Seva hutoa zana tatu kuu:
list_countries_toolhuorodhesha misimbo ya nchi, majina ya kuonyeshwa na aina za hati.list_schools(country)huorodhesha shule za nchi iliyochaguliwa.generate_documents(...)hutoa hati moja au zaidi na kurudisha njia za faili zao.
Orodhesha nchi
Itaje list_countries_tool bila hoja. Jibu lina kipengee kimoja cha matokeo kwa kila nchi, chenye thamani kama code, name na document_types. Kwa kuwa orodha imegawanywa katika vipengee vingi vya maudhui ya MCP, pitia mkusanyiko wa content uliorejeshwa ili kuchunguza kila nchi.
Orodhesha shule
Pitisha msimbo wa nchi kwa list_schools:
{
"country": "us"
}
Kila matokeo ya shule yanaweza kujumuisha jina lake, anwani, mji, msimbo wa posta, jimbo, nambari ya simu na taarifa za mamlaka ya elimu ya eneo hilo. Tumia jina kamili au sehemu ya jina la shule lililorudishwa na zana hii unapounda nyaraka.
Tengeneza Nyaraka
Zana ya generate_documents inahitaji nchi, jina la mwalimu, shule, nafasi na tarehe ya kuzaliwa. Unaweza kuchagua kwa hiari jinsia, aina za nyaraka na saraka ya matokeo.
Ombi la mfano
{
"country": "us",
"first_name": "John",
"last_name": "Smith",
"school_name": "Valley High",
"position": "Head of Science Department",
"date_of_birth": "12/05/1988",
"gender": "Male",
"document_types": ["employment_letter", "teacher_id"],
"output_dir": "output"
}Thamani ya gender inaweza kuwa Random, Male au Female. Inadhibiti uteuzi kutoka kwenye mkusanyiko wa picha za wasifu uliowekwa pamoja. Ikiwa document_types haijawekwa, Yowes hutengeneza aina zote za nyaraka zinazopatikana kwa nchi iliyochaguliwa. Saraka chaguo-msingi ya matokeo ni output/.
Jibu lenye mafanikio linajumuisha nchi na shule iliyochaguliwa, aina za nyaraka, njia za faili zilizotengenezwa, idadi na saraka ya matokeo. Njia za PNG zilizorejeshwa ni njia kamili.
Kwa mfano, nyaraka za Marekani zilizotengenezwa zinaweza kufanana na matokeo ya mfano yafuatayo:


Tumia Yowes kutoka Python
Programu zinaweza kuanzisha seva ya MCP na kuita zana zake kupitia mteja wa MCP wa Python. Sakinisha utegemezi wa mteja inapohitajika:
pip install mcpMfano ufuatao huanzisha kipindi cha stdio, huorodhesha nchi na hutengeneza nyaraka za Marekani:
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
params = StdioServerParameters(command="yowes-mcp", args=[])
async with stdio_client(params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
countries = await session.call_tool(
"list_countries_tool", {}
)
for item in countries.content:
print(item.text)
result = await session.call_tool(
"generate_documents",
{
"country": "us",
"first_name": "John",
"last_name": "Smith",
"school_name": "Valley High",
"position": "Head of Science Department",
"date_of_birth": "12/05/1988",
"gender": "Male"
}
)
print(result.content[0].text)
asyncio.run(main())Kwa kuwa majibu ya orodha hugawanywa katika vipengee vya maudhui binafsi, kagua kila kipengee katika countries.content badala ya kudhani kuwa orodha yote inaonekana katika thamani moja ya jibu.
Mtiririko wa Kivitendo wa Wakala

- Omba
list_countries_toolili kugundua misimbo halali ya nchi na aina za nyaraka. - Omba
list_schoolsukitumia msimbo wa nchi iliyochaguliwa. - Chagua shule kutoka kwenye data iliyorejeshwa.
- Omba
generate_documentsukitumia taarifa zilizoidhinishwa za mwalimu na shule. - Soma njia za PNG zilizorejeshwa na uchakate faili hizo katika programu yako.
Mfuatano huu huepusha kukisia misimbo ya nchi, majina ya shule au vitambulishi vya aina za nyaraka.
Vidokezo vya Kina
Chagua matokeo yanayohitajika pekee
Pitisha safu ya document_types unapohitaji sehemu ndogo ya nyaraka zinazopatikana katika nchi. Hii hupunguza uundaji usio wa lazima na huweka saraka ya matokeo ikilenga faili zilizoombwa.
Chagua picha thabiti ya wasifu
Yowes hutumia uteuzi unaotegemea heshi ili kuweka picha za wasifu zikiwa thabiti kwa mtu yuleyule. Kutoa utambulisho thabiti wa mtu na jinsia iliyoainishwa husaidia kutoa matokeo yanayotabirika huku ukichagua kutoka kwenye mkusanyiko unaofaa wa picha.
Tumia saraka maalum ya matokeo
Weka output_dir ili kupanga picha zilizotengenezwa kwa mradi, uendeshaji wa jaribio au nchi. Njia zinazohusiana hutatuliwa kutoka kwenye saraka ya kazi ya seva ya MCP.
Endesha GUI ya zamani inapohitajika
Mradi pia unajumuisha kiolesura cha hiari cha CustomTkinter kinachotumia mantiki kuu ya uundaji:
python main_gui.pyKwenye Windows, hazina pia hutoa run.bat, ambayo huweka TCL_LIBRARY. Seva ya MCP inasalia kuwa kiolesura kikuu kisichohitaji GUI na haitegemei GUI.
Panua Yowes kwa Kuongeza Nchi Mpya
Ili kuongeza nchi, tengeneza countries/<code>/__init__.py na ubainishe darasa linalorithi kutoka countries.base.CountryGenerator. Tekeleza mbinu zinazohitajika:
get_country_nameget_country_codeget_schools_dataget_first_namesget_last_namesget_positionsget_document_typesgenerate_document
Sajili jenereta katika countries/__init__.py ukitumia register_country("<code>", <Name>Generator). Baada ya kusajiliwa, zana za MCP za nchi na shule zinaweza kuigundua kiotomatiki. Ikiwa GUI inapaswa kuonyesha lebo maalum, sasisha mantiki yake ya orodha ya nchi na mabadiliko ya nchi katika main_gui.py.
Hitimisho
Yowes huunganisha jenereta za hati mahususi kwa kila nchi, rasilimali zilizowekwa pamoja, na seva ya MCP stdio kuwa mtiririko wa kazi unaobebeka. Isakinishe kwa Python, gundua nchi na shule zinazopatikana kupitia MCP, tengeneza matokeo ya PNG uliyochagua, na unganisha mchakato huo kwenye wakala au programu ya Python. Kwa uundaji na majaribio halali, muundo wake wa usajili wa nchi pia hutoa njia wazi ya kuongeza jenereta mpya.
