Jinsi ya Kuipa Claude Code Kumbukumbu kwenye VPS
Recall 0.4.0 huhifadhi kila kikao cha Claude Code ndani ya VPS, bila API tokens au miunganisho ya mtandao. Jifunze usanidi na uhesabu tokens unazookoa.
Kazi ya Recall kwa kumbukumbu ya Claude Code
Recall ni plugin ya Claude Code inayoupa kila mradi kumbukumbu inayodumu kati ya vipindi vya kazi. Huandika faili mbili za markdown katika folda ya .recall/ iliyo ndani ya mradi wako: logi ya matukio inayoongezwa bila kufutwa, na muhtasari mfupi wa mahali ulipoishia. Zote hutengenezwa kwenye mashine unayofanyia kazi na summarizer ya Python ya ndani, kwa hiyo kumbukumbu yenyewe haitumii API tokens.
Inashughulikia pengo dogo lakini linalojitokeza kila mara. Unafunga kipindi cha kazi kwenye VPS yako Jumanne. Jumatano, Claude Code haijui chochote kuhusu Jumanne. Unaeleza tena mradi mwenyewe, au unaacha model isome nusu ya repository tena ili ielewe. Njia zote mbili hutumia tokens, na ya pili hutumia tokens nyingi.
Recall version 0.4.0 ndiyo ya sasa kufikia July 2026, na mradi umepewa leseni ya MIT. Ni plugin. Hakuna sehemu yake inayofanya network call.
Unachohitaji kwenye VPS
Hook za kunasa za Recall ni hati za Python zinazosambazwa pamoja na plugin. Hazina vitegemezi vya wahusika wengine, kwa hiyo hitaji pekee la msingi ni interpreter.
python3 -VUbuntu 24.04 hujibu Python 3.12.3. Recall inasaidia Python 3.9 na matoleo mapya zaidi. Picha ndogo za kontena wakati mwingine hazina interpreter kabisa, na hapo shell hujibu python3: command not found. Sakinisha interpreter kabla ya kuendelea.
sudo apt update && sudo apt install -y python3NumPy ni kiongeza kasi cha hiari kwa hatua moja ya summarizer. Huhitaji.
python3 -c "import numpy"ModuleNotFoundError: No module named 'numpy' ni jibu linalokubalika hapa. Summarizer ina njia ya kutumia Python pekee, na seti ya majaribio ya mradi hukagua kwamba njia zote mbili huchagua sentensi zilezile.
Kumbukumbu ya kipindi ni muhimu zaidi kwenye server kuliko kwenye laptop, kwa sababu kazi za server huja katika ziara fupi zinazosambaa kwa siku kadhaa. Ikiwa tayari una Claude Code inayoendesha katika tmux kwenye VPS, Recall ndiyo sehemu inayohamisha kipindi cha jana hadi cha leo.
Sakinisha Recall kutoka kwenye soko la programu-jalizi
Amri mbili, zinazoandikwa ndani ya kipindi cha Claude Code:
/plugin marketplace add raiyanyahya/recall
/plugin install recall@recallAmri ya pili husoma plugin@marketplace. Majina yote mawili ni recall hapa. Hii inaweza kuonekana kama kosa la kunakili na kubandika, lakini si kosa.
Thibitisha usakinishaji kwa kuendesha mojawapo ya amri za programu-jalizi yenyewe:
/recall:show/recall:show huonyesha muhtasari wa sasa. Kwenye mradi mpya kabisa, bado hakuna chochote cha kuonyesha. Kwa hiyo, unachothibitisha hasa ni kwamba amri hiyo ipo. Ikiwa Claude Code haitambui /recall:show, programu-jalizi haijapakiwa na hakuna hook itakayoendeshwa.
Ili kuendesha kutoka kwenye checkout badala yake, clone hazina na uithibitishe kwanza:
git clone https://github.com/raiyanyahya/recall ~/recall
cd ~/recall && claude plugin validate .claude plugin validate . husoma manifesti katika .claude-plugin/ na kuripoti ikiwa programu-jalizi imeundwa kwa usahihi. Kisha anzisha Claude Code kutoka kwenye saraka ya mradi ukitumia claude --plugin-dir ~/recall.
Hooks huandika nini, na lini
Recall husajili hooks tatu za Claude Code. Kila hook huendesha script ya Python kutoka kwenye directory ya plugin.
SessionStarthuendeshwa wakati wa kuanza, kuendelea na kusafisha. Huonyeshacontext.mdili session ianze huku muhtasari wako ukiwa unaonekana.Stophuendeshwa kila Claude anapomaliza jibu. Huongeza zamu hiyo kwenye log.SessionEndhuendeshwa session inapofungwa, na inaweza kuzalisha upya muhtasari.
Faili mbili hutokana na mchakato huu. Zote ziko ndani ya .recall/.
history.mdni rekodi ya kuongeza pekee: prompts, majibu, faili zilizoguswa, na commands zilizotekelezwa.context.mdni muhtasari uliotengenezwa: lengo, muhtasari, hatua zinazofuata, faili zilizoguswa, commands zilizotekelezwa, na muktadha wa git.
Baada ya session moja halisi, angalia directory.
ls -la .recall/Unapaswa kuona history.md ikiwa na maudhui. Huenda usione context.md kabisa, na hiyo ndiyo tabia chaguomsingi, si hitilafu. auto_save_context ni off isipokuwa uiiweke, kwa hiyo muhtasari huandikwa tu unapouomba:
/recall:saveCommand hiyo huendesha summarizer ya ndani kwenye history.md na kuandika upya context.md. Algorithm ni upangaji wa alama wa TF-IDF (frequency ya istilahi, frequency kinyume ya nyaraka) unaolisha upangaji wa sentensi wa TextRank. Algorithm hii ni bainifu na ya kuchagua kutoka kwenye maandishi, kumaanisha kwamba huchagua sentensi ambazo tayari zipo kwenye log yako. Hakuna model inayoitwa, kwa hiyo hatua hii haina gharama na hufanya kazi bila kuunganisha mashine kwenye mtandao.
Sanidi Recall kwa mradi mmoja
Usanidi unaishi katika faili ya recall.config.json kwenye mzizi wa mradi. Hizi ndizo chaguo msingi zinazosambazwa:
{
"output_dir": ".recall",
"capture_history": true,
"summary_sentences": 8,
"redact": true,
"include_git": true,
"max_input_chars": 200000
}output_dirhuweka mahali ambapo faili hizo mbili zinapatikana. Iweke ndani ya mradi.capture_historyhuwasha na kuzima kumbukumbu yahistory.md.auto_save_contexthukubalioffauon_end, na hutumiaoffkwa chaguo-msingi.summary_sentenceshuweka idadi ya sentensi zinazobaki katikacontext.md. Kuongeza thamani hii hutoa muhtasari mrefu zaidi na mzigo mkubwa kidogo wakati wa kuanza kwa kikao.redacthuondoa mifumo ya kawaida ya siri kabla ya chochote kuandikwa kwenye diski.include_githuongeza tofauti ya sasa na commits za hivi karibuni kwenye muhtasari.max_input_charshuweka kikomo cha kiasi chahistory.mdambacho kifupisha muhtasari husoma kwa mpito mmoja.
Kwa mradi ulio kwenye VPS, mabadiliko muhimu ni kuhifadhi kiotomatiki, kwa sababu kikao kwenye seva mara nyingi huisha terminal inapokatika badala ya kuisha unapoamua kukisimamisha.
{
"auto_save_context": "on_end",
"summary_sentences": 12
}Ili kusitisha kunasa kwa muda bila kubadilisha usanidi, tengeneza alama ya kusitisha. Ifute ili kuanza kunasa tena.
touch .recall/.capture-pausedFanya hivi kabla ya kikao ambacho utashughulikia vitambulisho vya production, kwa sababu uondoaji wa data nyeti ni kichujio na si hakikisho. Mantiki hiyo hiyo ndiyo inayosababisha kuweka siri mbali na mawakala wa AI kwa ujumla: siri salama ni ile ambayo wakala haioni kamwe.
Recall huokoa tokeni ngapi?
Inategemea chaguo jingine lilikuwa lipi. Kupakia muhtasari mwanzoni mwa kikao kuna gharama ndogo. Kitu kinachobadilishwa kinaweza kuwa na gharama kubwa, kwa sababu modeli isiyokumbuka mradi wako huugundua upya kwa kusoma faili.
The data behind this chart
[
{
"label": "Recall context.md",
"char_count": "4,800",
"est_tokens": "1,200"
},
{
"label": "Hand-written CLAUDE.md",
"char_count": "3,200",
"est_tokens": "800"
},
{
"label": "Re-reading the repo",
"char_count": "120,000",
"est_tokens": "30,000"
},
{
"label": "Full transcript replay",
"char_count": "340,000",
"est_tokens": "85,000"
}
]Hizi ni takwimu za kawaida za mradi wa ukubwa wa kati, si kipimo cha mradi wako. Muhtasari wa Recall hupakiwa kwa takriban tokeni 1,200, jambo linalolingana na dai lililochapishwa na mradi la tokeni elfu moja hadi elfu mbili kwa ajili ya kuendelea na kikao. Kucheza tena nakala kamili ya mazungumzo ya awali hupakia upya mazungumzo yote, kwa takriban 85,000 tokeni. Kuiacha modeli igundue tena mradi kwa kusoma faili huwa katikati ya viwili hivyo, karibu 30,000 tokeni, na idadi hiyo huongezeka kadiri hazina ya msimbo inavyokua. Safu ya CLAUDE.md ipo kwa ajili ya kulinganisha ukubwa: ina gharama ndogo kwa sababu ni fupi na tuli, na huiambia modeli sheria zako za kudumu badala ya yaliyotokea jana usiku.
Pima takwimu zako mwenyewe. Tokeni moja ni takriban herufi nne za maandishi ya Kiingereza, na huwa chache kidogo kwa msimbo.
wc -c .recall/context.md .recall/history.md
echo $(( $(wc -c < .recall/context.md) / 4 ))Ndani ya kikao, /context huonyesha kilichopakiwa kwenye dirisha la muktadha kwa sasa, na /cost huripoti jumla za kikao. Anzisha kikao kimoja bila muktadha wa awali, kisha anzisha kinachofuata huku muhtasari ukiwa tayari, na ulinganishe. Kwa picha kamili ya mahali tokeni za kikao zinapotumika, jinsi Claude Code inavyotumia tokeni ina maelezo hayo.
Kuna tahadhari moja inayofanya dai hili liwe sahihi. Muhtasari hupakiwa mwanzoni mwa kila kikao, kwa hiyo muhtasari ambao huutumii ni gharama ndogo badala ya akiba. Weka summary_sentences karibu na thamani chaguo-msingi isipokuwa vikao vyako vidumu kwa muda mrefu.
Unda muhtasari upya bila kipindi
Ikiwa ulifanya clone ya hazina, summarizer ina entry point yake ya mstari wa amri. Hii ni muhimu kwenye VPS wakati kipindi kilikufa pamoja na terminal na bado unataka digest.
python3 ~/recall/scripts/make_context.py --helpMatokeo ya usaidizi yanaorodhesha flags inazokubali: --cwd kwa root ya mradi, --transcript kwa faili mahususi ya transcript, --quiet ya kuzuia output, na --harness ya kuchagua kati ya claude na opencode. Ielekeze kwenye mradi:
python3 ~/recall/scripts/make_context.py --cwd /srv/projects/apiInasoma transcript ya kipindi na history.md, kisha huandika context.md chini ya directory uliyopitisha. Ikiwa ulisakinisha kupitia marketplace, plugin huhifadhiwa kwenye directory inayodhibitiwa na Claude Code, na /recall:save ndiyo njia inayotumika kufanya kazi hiyo hiyo.
Kwa nini hakuna kinachoandikwa
Hakuna saraka ya .recall/ baada ya kipindi kamili. Hooks hazikuwahi kuendeshwa. Tumia /recall:show kuthibitisha kuwa plugin imepakiwa, kisha endesha python3 -V. Amri ya hook hujaribu python3 kwanza na python pili, hivyo mfumo usio na mojawapo ya hizo hauandiki chochote na hauonyeshi hitilafu kuhusu hilo.
history.md inaongezeka lakini context.md haibadiliki kamwe. auto_save_context ni off kwa chaguo-msingi. Endesha /recall:save, au weka key kuwa on_end na uiruhusu hook ya SessionEnd ifanye hivyo.
Faili zinaonekana chini ya mradi usio sahihi. Recall huandika kwa kutumia njia inayohusiana na saraka ambayo Claude Code ilianzishwa, kwa hiyo kuanzisha kipindi kutoka saraka yako ya nyumbani huweka kumbukumbu hapo. Anza kutoka kwenye mzizi wa mradi, kisha tumia ls -la .recall/ kutafuta mahali faili ziliwekwa.
Ukusanyaji umesimama na hakuna kilichokuonya. Angalia alama ya kusitisha kwa kutumia ls -a .recall/. Faili ya .capture-paused uliyounda wiki iliyopita bado inafanya kazi yake.
Muhtasari ni mfupi baada ya kipindi kirefu. max_input_chars hupunguza ingizo la summarizer kuwa herufi 200000, hivyo logi ndefu sana hukatwa. Izungushe.
mv .recall/history.md .recall/history-2026-07-30.mdEndesha kipindi kifupi kimoja baadaye, kisha angalia ls -la .recall/ tena ili kuthibitisha kuwa history.md mpya imetokea.
Recall inaishia wapi
Recall ni kumbukumbu ya log pamoja na muhtasari, na ni muhimu kueleza wazi mambo ambayo haijumuishi.
Muhtasari wake huchagua maandishi yaliyopo tayari. TextRank huchagua sentensi ambazo tayari ziko kwenye history.md, kwa hiyo haiwezi kutathmini kama uamuzi ulikuwa sahihi. Uamuzi mbaya uliorekodiwa Jumanne unasomeka sawa kabisa na uamuzi mzuri wa Jumatano. Madhara yanapokuwa makubwa, soma context.md na uisahihishe mwenyewe. Ni faili la markdown, na hakuna kinachokuzuia kulihariri.
Hakuna utafutaji. Unapata muhtasari mmoja wa sasa na log moja inayokua kwa kila mradi, si kumbukumbu inayoweza kuulizwa maswali katika miradi yote. Ikiwa swali ni ulichokiamua kuhusu database wiki tatu zilizopita, unatafuta ndani ya history.md kwa kutumia grep.
Haisaidii ndani ya session. Context window inayojazwa katikati ya session ni tatizo tofauti lenye suluhisho tofauti, na kusimamia context window ndani ya session moja ni makala inayoambatana na mwongozo huu.
Muhtasari huchukuliwa kuwa ingizo lisiloaminika kwa makusudi. context.md huingizwa ikiwa imezungushiwa fence na kuwekwa lebo, na Claude huuliza kabla ya kuitumia. Muundo huo upo kwa sababu directory ya .recall/ iliyocommitiwa ni mahali ambapo mtu yeyote mwenye ruhusa ya commit anaweza kuandika maandishi ambayo agent yako itasoma. Amua mara moja kama .recall/ ni ya kibinafsi au ya pamoja: iongeze kwenye .gitignore kwa kumbukumbu ya kibinafsi, au ifanye commit na ipitie kama mchango mwingine wowote. Ikiwa agent inaendeshwa bila uangalizi, kuendesha Claude Code kwa usalama kwenye VPS kunaeleza kwa upana zaidi mipaka hiyo.
Uondoaji wa taarifa nyeti hufanywa kwa juhudi bora. Unalenga mifumo ya kawaida kama API keys, tokens, vizuizi vya PEM na assignments za .env. Soma .recall/ kabla ya kufanya commit.
Nambari ya toleo inaonyesha kwa uaminifu kiwango cha ukomavu. Katika 0.4.0 mwezi Julai 2026, config keys na mpangilio wa faili bado vinaweza kubadilika kati ya releases, kwa hiyo soma changelog kabla ya kusasisha setup unayoitegemea.
FAQ
Je, Recall hutuma msimbo au nakala za mazungumzo mahali pengine?
Hapana. Vihamasa vya kunasa na kifupisha ni hati za Python zinazoendeshwa kwenye mashine yako mwenyewe, programu-jalizi haina ufunguo wa API, na haifanyi mawasiliano yoyote ya mtandao. Ufupishaji hutumia TF-IDF na TextRank badala ya modeli, kwa hiyo hatua hii haina gharama na hufanya kazi mashine ikiwa nje ya mtandao. Hasara ni kwamba muhtasari ni wa kunukuu: huchagua sentensi kutoka kwenye logi yako badala ya kuandika sentensi mpya.
Kwa nini .recall/context.md yangu haipo au imepitwa na wakati?
auto_save_context huwekwa kwa chaguo-msingi kuwa off, kwa hiyo muhtasari huzalishwa upya unapoendesha /recall:save pekee. Weka "auto_save_context": "on_end" katika recall.config.json ili iandikwe upya kila kipindi kinapomalizika. Ikiwa history.md pia haipo, vihamasa havifanyi kazi kabisa: thibitisha kuwa programu-jalizi imepakiwa kwa /recall:show, kisha thibitisha kuwa python3 -V inajibu kwenye seva hiyo, kwa sababu vihamasa ni hati za Python.
Recall huhifadhi kiasi gani kwa kila kipindi?
Kupakia muhtasari hugharimu takribani 1,200 tokeni, ikilinganishwa na takribani 30,000 tokeni kwa modeli inayolazimika kusoma tena hazina yako ili kutambua ilipo. Hizi ni takwimu za kawaida. Pima zako kwa wc -c .recall/context.md na amri ya /context ndani ya kipindi, ukilinganisha uanzishaji mpya na kipindi kinachoendelea kutoka kwenye muhtasari.
Je, bado ninahitaji faili ya CLAUDE.md?
Ndiyo, na zina kazi mbili tofauti. CLAUDE.md ni unachoandika kwa makusudi: kanuni za kudumu na amri za kujenga. context.md huzalishwa kutokana na yaliyotokea katika kipindi kilichopita, kwa hiyo huhifadhi uhamishaji ambao haukukamilika na ambao hungefikiria kuandika. Hifadhi zote mbili.
Je, VPS moja inaweza kuhifadhi kumbukumbu za miradi kadhaa?
Ndiyo. Recall huhifadhi kumbukumbu katika .recall/ ndani ya saraka ya kila mradi, kwa hiyo miradi miwili kwenye seva moja huwa na logi tofauti na mihtasari tofauti. Anzisha Claude Code kutoka kwenye mzizi wa mradi kila mara, kwa sababu faili hufuata saraka ya kazi, si akaunti ya mtumiaji.