Ruka hadi maudhui makuu
Mafunzo ya AI

Kutumia jev-chat-jarvis kwenye macOS kutambua nia za WeChat, kutathmini hatari na kuunda majibu

Mafunzo haya yanaeleza jinsi jev-chat-jarvis inavyofanya kazi, jinsi ya kusakinisha kwenye macOS, kusanidi ruhusa na miundo ya AI, matumizi ya kila siku na mbinu za hali ya juu za kubinafsisha, ili kukusaidia kushughulikia mazungumzo bila kuingiza msimbo kwenye WeChat, kusoma hifadhidata au kutuma ujumbe kiotomatiki.

Kutumia jev-chat-jarvis kwenye macOS kutambua nia za WeChat, kutathmini hatari na kuunda majibu

Muhtasari wa mradi

jev-chat-jarvis ni zana ya kusaidia ujumbe wa WeChat kwa macOS. Inapotokea ujumbe wa maandishi ambao imethibitishwa kuwa umetoka kwa mtu mwingine ndani ya WeChat, husoma yaliyomo kwenye skrini na kutumia modeli ya ndani kuchanganua ujumbe, kisha huonyesha dhamira halisi ya sentensi hiyo, kiwango cha hatari kutoka 0 hadi 9, mapendekezo ya hatua na majibu yanayoweza kutumika.

Zana hii hufanya kazi kwa kusoma pekee: haiingizi msimbo kwenye WeChat, haitumii hook, haisimbui hifadhidata, wala haitumi ujumbe kiotomatiki. Mtumiaji anaweza kunakili maudhui yaliyopendekezwa kwenye paneli inayoelea, au kubofya “Jaza” ili kuyaweka kwenye kisanduku cha kuingiza cha WeChat; utumaji wa mwisho bado hufanywa na mtumiaji mwenyewe.

Vipengele muhimu

  • Uchambuzi wa dhamira na hatari: Inaauni utambuzi wa zero-shot wa aina 8 za dhamira, pamoja na upangaji wa hatari na mapendekezo ya hatua. README ya mradi hutumia sampuli 22 za urejeshaji za Kichina kama msingi, na kiwango cha utambuzi wa dhamira ni 86.4%.
  • Uzalishaji wa majibu yanayopendekezwa: Ina miundo 10 ya mazungumzo; kila muundo huzalisha aina mbili za majibu, salama na za kupumzika, kisha modeli ya ndani huzipanga.
  • Uchakataji sawia: Uamuzi wa ujumbe na uzalishaji wa majibu unaopendekezwa unaweza kuanza kwa wakati mmoja. Muda wa marejeo wa M1 Pro uliotolewa kwenye README ni takriban sekunde 1.5 kwa dhamira na sekunde 1.5 hadi 2 kwa majibu yanayopendekezwa; kasi halisi hutegemea kifaa na huduma.
  • Sanduku za utambuzi za YOLO: Kwa hiari, inaweza kuweka alama kwenye ujumbe uliogunduliwa na OCR ndani ya dirisha la WeChat, kutofautisha ujumbe wa mtu mwingine na ujumbe wako, na kuonyesha kiwango cha uaminifu.
  • Paneli asilia inayoelea: Paneli huonyesha gumzo la sasa, hali ya uchanganuzi, ujumbe unaosubiri kuchakatwa, muktadha, dhamira, kiwango cha utambuzi, kiwango cha hatari, mapendekezo ya hatua na majibu yanayopendekezwa.

Kusakinisha na kuanzisha mara ya kwanza

Njia ya kwanza: Pakua programu ya macOS

Ikiwa unataka kuitumia moja kwa moja, unaweza kupakua kifurushi cha macOS kwenye Releases, kukifungua, kisha uburute .app hadi kwenye “Applications”. Kwa kuwa programu haijapitia uthibitishaji wa notarization, mara ya kwanza ifungue kwa kubofya kulia programu hiyo kwenye Finder na kuchagua “Open”; usiibofye mara mbili moja kwa moja.

Ikiwa macOS itaonyesha “Imeharibika, haiwezi kufunguliwa; unapaswa kuihamisha hadi kwenye Recycle Bin”, kwa kawaida kifurushi kilichopakuliwa kwenye kivinjari huwa na sifa ya quarantine. Usifute programu mara moja; unaweza kutekeleza yafuatayo kwenye terminal:

Arifa ya programu ya macOS iliyoharibika
sudo xattr -r -d com.apple.quarantine /Applications/jev-jarvis.app

Ikiwa jina la programu limebadilishwa, kwa mfano jev-jarvis 2.app, badilisha njia iliyo kwenye amri iwe njia halisi.

Njia ya pili: Endesha kutoka kwenye msimbo wa chanzo

Kabla ya kuendesha kutoka kwenye msimbo wa chanzo, hakikisha WeChat imeanzishwa na terminal au programu inayoanzishwa ina ruhusa ya kurekodi skrini. Baada ya kuingia kwenye saraka ya mradi, tekeleza:

./start.command

Mradi hutumia uv kudhibiti mazingira ya Python. Ikiwa hakuna uv inayopatikana kwenye mfumo, njia zote mbili za kuanzisha zitajaribu kupakua na kutekeleza hati rasmi ya usakinishaji; zikishindwa, zitajaribu pia kutumia Homebrew iliyopo. Kumbukumbu za usakinishaji na uanzishaji ziko kwenye:

~/Library/Logs/jev-jarvis.log

Kutoa ruhusa za macOS

Wakati wa kuanzisha mara ya kwanza, fuata maelekezo kwenye “System Settings > Privacy & Security” ili kumpa jev-chat-jarvis ruhusa ya “Screen Recording”, kisha funga na uanzishe tena programu ili ruhusa ianze kutumika.

Kipengele cha “Jaza” pia kinahitaji ruhusa ya “Accessibility”. Unapobofya “Jaza” kwa mara ya kwanza, mfumo kwa kawaida utaonyesha ombi la ruhusa. Toleo la v0.3.1 na matoleo ya awali pia yanahitaji ruhusa inayofaa kwa python3.12.

Ruhusa hizi hutumika kusoma yaliyomo kwenye dirisha la WeChat, kutafuta kidhibiti cha kuingiza na kutekeleza operesheni ya kujaza; hazimaanishi kuwa zana itatuma ujumbe kiotomatiki.

Kusanidi modeli na funguo

Mradi una tabaka la uamuzi na tabaka la uzalishaji; funguo za tabaka zote mbili zinaweza kuachwa bila kujazwa:

  • Tabaka la uamuzi: Ikiwa hutasanidi ufunguo wa TypeSafe Jev, itatumia modeli ya ndani ya decider-2b. Upakuaji wa kwanza unahitaji takriban 7 GB.
  • Tabaka la uzalishaji: Programu iliyofungwa inajumuisha ufunguo wa pamoja, hivyo unaweza kujaribu kuzalisha majibu yanayopendekezwa bila kusanidi ufunguo binafsi.

Kutumia mipangilio ya picha

Bofya ikoni ya gia kwenye kona ya juu kulia ya dirisha linaloelea, au fungua “J > Model Settings…” kwenye upau wa menyu ili kufungua dirisha la usanidi. Kiolesura cha mipangilio kinaauni uhariri wa anwani, funguo na modeli za huduma za Jev, OpenAI zinazooana na Anthropic zinazooana.

Unaweza kubofya “Get Model List” ili kusoma modeli kutoka kwenye kiolesura cha huduma cha /models, au kuzijaza mwenyewe ikiwa kiolesura hakiauni ombi hilo au ombi limeshindwa. Baada ya kuchagua modeli, unaweza kubofya “Test Connection”; jaribio litatuma salamu maalum kwa kutumia usanidi ambao bado haujahifadhiwa, halitasoma yaliyomo kwenye WeChat, lakini linaweza kusababisha gharama ndogo ya huduma.

Baada ya kuhifadhi usanidi, lazima ufunge na uanzishe tena programu; usanidi hautabadilishwa papo hapo katika uendeshaji huu. Faili chaguo-msingi inayohaririwa na dirisha la mipangilio ni:

$XDG_CONFIG_HOME/jev-jarvis/env

Ikiwa XDG_CONFIG_HOME haijawekwa, njia halisi ni:

~/.config/jev-jarvis/env

Kuunda faili ya mazingira mwenyewe

Unaweza pia kuunda faili ya usanidi kwenye terminal:

mkdir -p ~/.config/jev-jarvis
cat > ~/.config/jev-jarvis/env <<'ENV'
# Tabaka la uamuzi (hiari): likiachwa wazi, itatumia decider-2b ya ndani
export TYPESAFE_API_KEY=""

# Tabaka la uzalishaji: endpoint yoyote inayooana na OpenAI
export OPENAI_API_KEY="sk-ufunguo-wako"
export OPENAI_BASE_URL="https://api.deepseek.com"
export OPENAI_MODEL="deepseek-chat"
# Baadhi ya modeli zinahitaji hali ya kufikiri izimwe
# export OPENAI_EXTRA_BODY='{"enable_thinking":false}'
ENV
chmod 600 ~/.config/jev-jarvis/env

Mpangilio wa kipaumbele ni: vigeu vya mazingira vina kipaumbele kuliko faili ya env ya mtumiaji, na faili ya env ya mtumiaji ina kipaumbele kuliko .env ya mradi. Katika tabaka la uzalishaji, usanidi wa OpenAI una kipaumbele kuliko usanidi wa Anthropic; ikiwa hakuna kati ya hizo iliyosanidiwa, ndipo ufunguo wa pamoja uliojengewa ndani hutumika.

Mambo ya kuzingatia unapochagua huduma

  • DeepSeek inaweza kutumia deepseek-chat; README inaitaja kama chaguo lililojaribiwa kuwa la haraka zaidi.
  • Zhipu inaweza kutumia glm-4-flash, na vigeu vinavyofaa vijazwe kulingana na kikundi cha usanidi kinachoauniwa na mradi.
  • Ollama ya ndani inaweza kutumia http://localhost:11434/v1, huku ufunguo ukiwa ollama na modeli ikiwa, kwa mfano, qwen2.5:7b.
  • Jaribu kuepuka kutumia modeli za thinking. README inaonya kuwa mchakato wa kufikiri unaweza kutumia max_tokens yote na kusababisha jibu linalopendekezwa kuwa tupu; unapotumia DeepSeek, chagua deepseek-chat.

Matumizi ya kwanza

Dirisha la hitilafu lenye ujumbe ‘Imeharibika, haiwezi kufunguliwa’

Baada ya kuanzisha programu na kufungua WeChat, hakikisha dirisha la gumzo la WeChat linapatikana. Zana husoma eneo la gumzo kupitia yaliyomo kwenye dirisha na Vision OCR; haihitaji kunasa skrini ya mfumo moja kwa moja, hivyo paneli inayoelea haitachafua OCR.

Inapotambua ujumbe wa maandishi ambao umetoka wazi kwa mtu mwingine, paneli itaonyesha kwa mfuatano gumzo la sasa na hali ya uchanganuzi, ujumbe unaochakatwa na muktadha wake, dhamira, kiwango cha utambuzi, kiwango cha hatari, mapendekezo ya hatua, pamoja na majibu yanayopendekezwa yaliyopangwa kwa makundi ya miundo ya mazungumzo.

Kushoto kwa kila jibu linalopendekezwa kuna uwezekano wa upangaji wa ndani, na upande wa kulia kuna vitufe vya “Nakili” na “Jaza”. “Nakili” hurahisisha kubandika mwenyewe; “Jaza” huandika maandishi kwenye kisanduku cha kuingiza cha WeChat, lakini haibofyi kitufe cha kutuma kiotomatiki.

Mfano wa matumizi

Kwa mfano, mtu mwingine akituma “Shughulikia ombi hili leo”, zana itapeleka ujumbe kwenye tabaka la uamuzi ili kuutambua, kisha kutoa mapendekezo ya hatua kulingana na matokeo ya hatari; baadaye tabaka la uzalishaji litatengeneza kwa wakati mmoja majibu kadhaa yenye mitindo tofauti ya mazungumzo, na kuyapanga upya baada ya upangaji wa ndani. Unaweza kuchagua moja kulingana na muktadha, kubofya “Nakili” au “Jaza”, kisha kuikagua na kuituma mwenyewe.

Ikiwa mwelekeo wa ujumbe hauwezi kubainishwa, kwa mfano maandishi yanavuka kutoka kushoto kwenda kulia au yako katikati, paneli itaweka alama “Mwelekeo haujathibitishwa” na haitautumia kama lengo la kujibu. Ni ujumbe tu uliotambuliwa wazi kuwa umetoka kwa mtu mwingine ndio utakaosababisha uamuzi na uzalishaji.

Mbinu za juu za matumizi

Kuwasha sanduku za utambuzi za YOLO

Unaweza kuwasha sanduku za utambuzi wakati wa kuanzisha kwa kutumia kigeu cha mazingira:

JEV_BOXES=1

Baada ya kuanzisha, unaweza pia kubadilisha “YOLO Detection Boxes” kutoka kwenye upau wa menyu. Sanduku za utambuzi husasishwa takriban mara moja kwa sekunde: mstari thabiti wa bluu unaonyesha kidhibiti cha kuingiza kilichopatikana na kiolesura cha Accessibility, huku mstari wa machungwa uliokatika ukionyesha eneo la kuingiza lililokadiriwa kutokana na mipaka ya picha ya skrini. Mstari uliokatika haumaanishi kuwa kidhibiti kinachoweza kuandikwa kimepatikana kwa hakika.

Miundo maalum ya mazungumzo

Tumia JEV_TONES kuongeza au kubadilisha miundo ya mazungumzo. Kila muundo hutenganishwa kwa |, kwa muundo wa “jina=maelezo”, kwa mfano:

export JEV_TONES='Mtaalamu wa kukwepa kazi=Kama mtaalamu mwenye uzoefu wa kukwepa kazi, sukuma jukumu hilo kwa ustadi bila kupoteza adabu'

Maelezo yanapaswa kubainisha mtindo wa sauti unaohitajika na mtindo ambao haupaswi kutokea. Baada ya kubadilisha, lazima uanzishe tena programu. Kwa sasa dirisha la mipangilio halibadilishi JEV_TONES, JEV_BOXES au OPENAI_EXTRA_BODY.

Jaribio na utatuzi kwa tabaka

Unapoendesha kutoka kwenye msimbo wa chanzo, unaweza kujaribu kwa kujitegemea mtazamo, uamuzi, uzalishaji na mchakato wa urejeshaji:

uv run python src/perception.py
uv run python src/judge.py "Shughulikia ombi hili leo"
uv run python src/judge_zh_test.py
uv run python src/generate.py --check
uv run python -B -m unittest discover -s tests
uv run python probe/bootstrap_regression.py

Kati ya hivi, --check ya tabaka la uzalishaji hukagua tu uchanganuzi wa vitambulisho; si sawa na jaribio halisi la muunganisho. Ili kuthibitisha kuwa huduma inaweza kuzalisha maandishi, tumia “Test Connection” kwenye dirisha la mipangilio.

Kuangalia kumbukumbu na kuachilia nafasi ya diski

Ikiwa uchakataji wa ujumbe wa kwanza baada ya kuanzisha ni wa polepole, kwa kawaida husababishwa na kupashwa joto kwa modeli ya ndani. Unaweza kuangalia kumbukumbu za hivi karibuni:

tail -40 ~/Library/Logs/jev-jarvis.log

Kumbukumbu zina muda wa uchakataji kwa kila hatua, lakini hazina maudhui ya ujumbe, hivyo zinafaa kumpa msanidi programu unapotoa taarifa ya tatizo.

Kache ya modeli ya ndani ya uamuzi hutumia takriban 7 GB na iko kwenye:

~/.cache/huggingface/hub/models--Mapika--decider-2b

Ukiifuta, itapakuliwa tena utakapotumia uamuzi wa ndani wakati mwingine. Mazingira pepe ya Python yako kwenye:

~/Library/Application Support/jev-jarvis/venv

Kufuta programu hakutafuta mazingira haya kiotomatiki; unaweza kuyasafisha mwenyewe inapohitajika.

Vikomo vya kipengele cha “Jaza”

Zana hutumia kwanza kiolesura cha Accessibility cha macOS kuandika na kusoma tena ili kuthibitisha. Wakati baadhi ya matoleo ya WeChat hayatoi kidhibiti cha kuingiza, itajaribu njia ya uoanifu wa kuona: kukagua tena dirisha, eneo la kuingiza na kichwa, kuamilisha WeChat, kubofya eneo la kuingiza, kuandika maandishi na kuyathibitisha kwa OCR.

Inapotumia njia ya uoanifu wa kuona, zana inaweza kusogeza kipanya; kwa hiyo usitumie kibodi, kipanya au kubadilisha gumzo wakati wa kujaza. Haitumii ubao wa kunakili wala Cmd+V, haibonyezi kitufe cha kutuma kiotomatiki, na mistari mipya pamoja na tabo hubadilishwa kuwa nafasi.

Ikigundua rasimu iliyopo, njia ya uoanifu itasimama na kukuelekeza kutumia “Nakili” mwenyewe; pia itasimama dirisha, fokasi au kipindi cha gumzo kinapobadilika. Kwa kuwa mipaka ya kuona na OCR vinaweza kutoa makadirio yasiyo sahihi, unapaswa kukagua gumzo la sasa na maudhui ya kisanduku cha kuingiza kabla ya kutumia.

Vikomo vinavyojulikana

  • Maudhui ya picha na vifurushi vya emoji hayawezi kusomwa; majibu yaliyonukuliwa huchakatwa kama maandishi ya kawaida; kadi za akaunti rasmi zinaweza kuchukuliwa kama ujumbe wa kuchanganuliwa.
  • Mpangilio wa WeChat katika skrini nzima au mabadiliko ya matoleo ya WeChat yanaweza kusababisha utambuzi ushindwe; vigezo vinavyohusiana na mpangilio viko juu ya src/perception.py.
  • Katika hali ya madirisha mengi, kipaumbele hupewa dirisha kuu lenye jina “微信” au “WeChat”.
  • Ni ujumbe wa mtu mwingine ambao mwelekeo wake umethibitishwa wazi pekee unaoanzisha mchakato wa kujibu; ujumbe ambao mwelekeo wake hauwezi kuthibitishwa hurukwa.
  • Njia ya kujaza ya uoanifu wa kuona bado inahitaji uthibitishaji zaidi katika mandhari nyeusi, skrini nyingi na matoleo tofauti ya WeChat.

Faragha na vikumbusho vya matumizi

Mradi umeundwa kusoma maudhui ya skrini kwenye kifaa chako na akaunti yako mwenyewe, bila kuingiza msimbo, kutumia hook, kusimbua hifadhidata ya WeChat, au kutuma ujumbe kiotomatiki. Tumia tu kwenye kifaa chako mwenyewe na uzingatie makubaliano ya leseni ya programu ya WeChat. Masasisho ya WeChat yanaweza kusababisha utambuzi wa mpangilio kushindwa; ukikumbana na tatizo, angalia kwanza kumbukumbu, kisha toa mrejesho kupitia issue ya mradi.

Muhtasari

jev-chat-jarvis huunganisha OCR ya skrini, utambuzi wa nia wa ndani, upangaji wa viwango vya hatari, uundaji wa majibu ya pendekezo na paneli asilia inayoelea. Inawafaa watumiaji wa macOS wanaotaka kuelewa kwa haraka ujumbe wa WeChat na kupunguza shinikizo la kujibu. Wakati wa usakinishaji, zingatia hasa Gatekeeper pamoja na ruhusa za kurekodi skrini na vipengele vya ufikivu; wakati wa matumizi, chagua modeli ya ndani, huduma inayooana na OpenAI, au huduma inayooana na Anthropic kulingana na faragha, kasi na gharama, na kila mara kagua maudhui mwenyewe kabla ya kutuma.