SSD Nodes Learn Hosting plans →
Mwongozo Matt ConnorNa Matt Connor

Jinsi ya kuweka kumbukumbu ya Claude Code kwenye VPS

Tumia Recall kuhifadhi vipindi vya kazi vya Claude Code kwenye VPS yako. Plugin hii inatengeneza muhtasari wa ndani wa mradi ili kupunguza matumizi ya token za API kila unapoanza.

Verified Every command ran end-to-end on a fresh Ubuntu 24.04 server, July 30, 2026.

Kile Recall hufanya kwa memory ya Claude Code

Recall ni plugin ya Claude Code inayoupa kila project memory inayodumu kati ya sessions. Huandika files mbili za markdown kwenye folder ya .recall/ ndani ya project yako: log ya append-only inayoeleza yaliyotokea, na summary fupi ya mahali ulipoishia. Zote hutengenezwa kwenye machine unayofanyia kazi na local Python summarizer, kwa hiyo memory yenyewe haitumii API tokens.

Inaziba pengo dogo linalojitokeza kila mara. Unafunga session kwenye VPS yako Jumanne. Jumatano, session mpya haipakii mazungumzo ya Jumanne kiotomatiki, ingawa auto memory iliyojengwa ndani ya Claude Code inaweza kuhifadhi notes kati ya sessions. Ikiwa notes hizo hazielezi mahali ulipoishia, unaeleza project tena kwa mkono, au unaacha model isome tena nusu ya repository ili ielewe hali yake. Njia zote mbili hutumia tokens, na ya pili hutumia tokens nyingi.

Recall version 0.4.0, iliyotolewa tarehe 18 July 2026, bado ndiyo release ya hivi karibuni kufikia October 2026, na project ina leseni ya MIT. Ni plugin. Hakuna kitu ndani yake kinachofanya network call.

Unachohitaji kwenye VPS

Hook za kunasa data za Recall ni hati za Python zinazosafirishwa pamoja na plugin hii. Hakuna utegemezi wa wahusika wengine, kwa hivyo hitaji pekee la msingi ni interpreter.

python3 -V

Ubuntu 24.04 inajibu Python 3.12.3. Recall inasaidia Python 3.9 na matoleo mapya zaidi. Picha za container ndogo wakati mwingine hazina interpreter yoyote, na hapo shell inajibu python3: command not found. Sakinisha moja kabla ya kuendelea.

sudo apt update && sudo apt install -y python3

NumPy ni kiongeza kasi cha hiari kwa hatua moja ya summarizer. Huna haja nayo.

python3 -c "import numpy"

ModuleNotFoundError: No module named 'numpy' ni jibu linalokubalika hapa. Summarizer ina njia ya Python pekee, na suite ya majaribio ya mradi huu inathibitisha kuwa njia zote mbili huchagua sentensi zilezile.

Kumbukumbu ya session ni muhimu zaidi kwenye seva kuliko kwenye laptop, kwa sababu kazi za seva hufika katika ziara fupi zilizotawanyika kwa siku kadhaa. Ikiwa tayari unayo Claude Code inayofanya kazi ndani ya tmux kwenye VPS, Recall ndiyo sehemu inayohamisha session ya jana hadi leo.

Sakinisha Recall kutoka kwenye soko la plugin

Amri mbili, zilizoandikwa ndani ya kipindi cha Claude Code:

/plugin marketplace add raiyanyahya/recall
/plugin install recall@recall

Amri ya pili inasomeka plugin@marketplace. Majina yote mawili ni recall hapa, jambo ambalo linaonekana kama kosa la kunakili na kubandika lakini si kosa.

Thibitisha usakinishaji kwa kuendesha moja ya amri za plugin hiyo:

/recall:show

/recall:show huchapisha muhtasari wa sasa. Kwenye mradi mpya kabisa hakuna cha kuchapisha bado, kwa hivyo unachokagua hasa ni kama amri hiyo ipo. Ikiwa Claude Code haitambui /recall:show, plugin hiyo haijapakiwa, na hakuna hook itakayofanya kazi.

Ili kuendesha kutoka kwenye checkout badala yake, clone repository hiyo na uithibitishe kwanza:

git clone https://github.com/raiyanyahya/recall ~/recall
cd ~/recall && claude plugin validate .

claude plugin validate . inasoma manifest iliyo kwenye .claude-plugin/ na kutoa taarifa kama plugin hiyo imesanifiwa vizuri. Kisha anzisha Claude Code kutoka kwenye saraka ya mradi wako kwa kutumia claude --plugin-dir ~/recall.

Hiki ndivyo hooks huandika, na wakati gani

Recall husajili Claude Code hooks tatu. Kila moja huendesha script ya Python kutoka kwenye saraka ya plugin.

  • SessionStart huendeshwa wakati wa kuanza, kuendelea na kusafisha. Huonyesha context.md ili session ifunguke huku muhtasari wako ukionekana.
  • Stop huendeshwa kila Claude inapokamilisha jibu. Huongeza turn hiyo kwenye log.
  • SessionEnd huendeshwa session inapofungwa, na inaweza kuzalisha upya muhtasari.

Faili mbili hutokana na mchakato huu. Zote ziko ndani ya .recall/.

  • history.md ni rekodi ya append-only: prompts, majibu, faili zilizoguswa na commands zilizotekelezwa.
  • context.md ni digest iliyozalishwa: lengo, muhtasari, hatua zinazofuata, faili zilizoguswa, commands zilizotekelezwa na muktadha wa git.

Baada ya session moja halisi, angalia saraka.

ls -la .recall/

Capture ikiwa imewashwa, hakuna pause marker na transcript inapatikana, unapaswa kuona history.md ikiwa na maudhui. Huenda usione context.md kabisa, na hiyo ndiyo tabia ya kawaida, si hitilafu. auto_save_context ni off isipokuwa uiiweke, kwa hiyo muhtasari huandikwa tu unapouomba:

/recall:save

Command hiyo huendesha summarizer ya ndani kwenye history.md na kuandika upya context.md. Algorithm ni alama za TF-IDF (term frequency, inverse document frequency) zinazoingiza upangaji wa sentensi kwa TextRank. Ni deterministic na extractive, ambayo ina maana kwamba huchagua sentensi ambazo tayari zipo kwenye log yako. Hakuna model inayoitwa, kwa hiyo hatua hii haina gharama na hufanya kazi mashine ikiwa offline.

Sanidi Recall kwa mradi mmoja

Usanidi unaishi kwenye faili ya recall.config.json iliyo kwenye mzizi wa mradi. Hizi ndizo thamani chaguo-msingi zinazotolewa:

{
  "output_dir": ".recall",
  "capture_history": true,
  "summary_sentences": 8,
  "redact": true,
  "include_git": true,
  "max_input_chars": 200000
}
  • output_dir huweka mahali ambapo faili hizo mbili zinahifadhiwa. Iweke ndani ya mradi.
  • capture_history huwasha na kuzima logi ya history.md.
  • auto_save_context hukubali off au on_end, na chaguo-msingi ni off.
  • summary_sentences huweka idadi ya sentensi zinazobaki ndani ya context.md. Kuongeza thamani hii hutengeneza muhtasari mrefu zaidi na huongeza kidogo mzigo wakati wa kuanza session.
  • redact huondoa mifumo ya kawaida ya siri kabla ya chochote kuandikwa kwenye disk.
  • include_git huongeza takwimu za diff ya sasa na commits za hivi karibuni kwenye muhtasari.
  • max_input_chars huweka kikomo cha kiasi cha history.md ambacho summarizer husoma kwa kila hatua.

Kwa mradi ulio kwenye VPS, mabadiliko muhimu ni kuwezesha saving ya kiotomatiki, kwa sababu session kwenye server mara nyingi huisha terminal inapokatika, badala ya kuisha unapoamua kuisimamisha.

{
  "auto_save_context": "on_end",
  "summary_sentences": 12
}

Ili kusitisha capture kwa muda bila kubadilisha config, tengeneza pause marker. Ifute ili kuanza capture tena.

touch .recall/.capture-paused

Fanya hivi kabla ya session ambayo utashughulikia production credentials, kwa sababu redaction ni filter, si guarantee. Mantiki hiyo hiyo ndiyo msingi wa kuweka secrets nje ya AI agents kwa ujumla: secret salama ni ile ambayo agent haioni kamwe.

Je, Recall huhifadhi tokens kiasi gani?

Inategemea njia iliyotumika badala yake. Kupakia muhtasari mwanzoni mwa session ni nafuu. Kile unachobadilisha kinaweza kuwa ghali, kwa sababu model isiyokumbuka project yako huilazimu kuigundua tena kwa kusoma files.

ChatiTypical cost of resuming work, per session
Data iliyo nyuma ya chati hii
[
  {
    "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 project ya ukubwa wa kati, si kipimo cha project yako. Muhtasari wa Recall hupakiwa kwa takriban tokens 1,200, jambo linalolingana na dai lililochapishwa la project kwamba resume hutumia tokens elfu moja hadi elfu mbili. Kucheza tena transcript kamili ya awali hupakia mazungumzo yote, takriban tokens 85,000. Kuiacha model igundue tena project kwa kusoma files huwa katikati ya hizo mbili, karibu tokens 30,000, na idadi hiyo huongezeka kadiri repository inavyokua. Mstari wa CLAUDE.md umewekwa kwa ajili ya kulinganisha ukubwa: ni nafuu kwa sababu ni mfupi na tuli, na huiambia model sheria zako za kudumu badala ya yaliyojiri jana usiku.

Pima namba zako mwenyewe. Token moja ni takriban characters nne za maandishi ya Kiingereza, na huwa chache kidogo kwa code. Ikiwa pia unapeleka muhtasari huo kwa local model kwenye VPS ileile, kagua window ambayo muhtasari unaingizwa kabla ya kuamini resume, kwa sababu urefu chaguo-msingi wa context wa Ollama hutegemea VRAM inayopatikana.

wc -c .recall/context.md .recall/history.md
echo $(( $(wc -c < .recall/context.md) / 4 ))

Ndani ya session, /context huonyesha kilichopakiwa kwenye context window kwa sasa, na /cost huripoti jumla za session. Anzisha session moja bila taarifa za awali, kisha anzisha nyingine ikiwa na muhtasari, na ulinganishe. Kwa picha kamili ya mahali tokens za session zinatumika, jinsi Claude Code inavyotumia tokens ina maelezo ya mgawanyo huo.

Kuna tahadhari moja inayofanya dai hili liwe sahihi. Muhtasari hupakiwa mwanzoni mwa kila session, kwa hiyo muhtasari ambao hauutumii ni gharama ndogo badala ya akiba. Weka summary_sentences karibu na thamani chaguo-msingi isipokuwa sessions zako ziwe ndefu. Session tulivu husaidia upande mwingine wa hesabu, kwa sababu agent anayelenga kufanya mabadiliko madogo zaidi yanayofanya kazi huacha log fupi zaidi kwa summarizer kuipanga.

Jenga upya muhtasari bila session

Ikiwa umekopi (clone) hazina (repository), zana ya muhtasari ina sehemu yake ya kuingilia kupitia mstari wa amri (command line). Hii ni muhimu kwenye VPS wakati session imekufa pamoja na terminal na bado unataka muhtasari huo.

python3 ~/recall/scripts/make_context.py --help

Maelezo ya usaidizi (help output) yanaorodhesha flag zinazokubalika: --cwd kwa ajili ya mzizi wa mradi (project root), --transcript kwa ajili ya faili mahususi ya transcript, --quiet ili kuzuia matokeo (suppress output), na --harness ili kuchagua kati ya claude na opencode. Ielekeze kwenye mradi:

python3 ~/recall/scripts/make_context.py --cwd /srv/projects/api

Inasoma transcript ya session na history.md, kisha inaandika context.md chini ya saraka (directory) uliyopitisha. Ikiwa uliisakinisha kupitia marketplace, plugin hiyo hukaa kwenye saraka inayodhibitiwa na Claude Code, na /recall:save ndiyo njia inayoungwa mkono ya kufanya kazi hiyo hiyo.

Kwa nini hakuna chochote kinachoandikwa

Hakuna saraka ya .recall/ baada ya session nzima. Kagua ikiwa capture imezimwa, saraka ya matokeo imewekwa mahali pengine, au hakuna transcript iliyopatikana kabla ya kuhitimisha kuwa hooks hazikuwahi kuendeshwa. Andika /recall:show ili kuthibitisha kuwa plugin imepakiwa, kisha endesha python3 -V. Amri ya hook hujaribu python3 kwanza na python pili, kwa hiyo mashine isiyo na mojawapo hushindwa na stderr pamoja na exit status 127. Claude Code huonyesha taarifa ya hitilafu ya hook isiyozuia utendaji, ikiwa na mstari wa kwanza wa stderr.

history.md inaongezeka lakini context.md haibadiliki kamwe. auto_save_context ni off kwa default. Endesha /recall:save, au weka key kuwa on_end na uiruhusu SessionEnd hook ifanye hivyo.

Files zinaonekana chini ya project isiyo sahihi. Recall huandika kwa kutumia path inayohusiana na directory ambayo Claude Code ilianzishwa, kwa hiyo kuanzisha session kutoka home directory yako huweka memory hapo. Anza kutoka project root, na utumie ls -la .recall/ kupata mahali files ziliwekwa kwa kweli.

Capture ilisimama na hakuna kilichokuarifu. Kagua pause marker kwa ls -a .recall/. File ya .capture-paused uliyounda wiki iliyopita bado inafanya kazi yake.

Muhtasari ni mfupi baada ya session ndefu. max_input_chars huweka kikomo cha summarizer input kuwa characters 200000, kwa hiyo log ndefu sana hukatwa. Izungushe.

mv .recall/history.md .recall/history-2026-07-30.md

Endesha session moja fupi baadaye na ukague ls -la .recall/ tena ili kuthibitisha kuwa history.md mpya imeonekana.

Mahali Recall inaposimama

Recall ni log pamoja na zana ya kutengeneza muhtasari. Ni muhimu kueleza wazi mambo ambayo mfumo huu haujumuishi.

Zana ya kutengeneza muhtasari huchagua maandishi yaliyopo tayari. TextRank huchagua sentensi ambazo tayari zimo kwenye history.md, kwa hiyo haitathmini kama uamuzi ulikuwa sahihi. Uamuzi mbaya uliorekodiwa Jumanne husomeka sawa kabisa na uamuzi mzuri wa Jumatano. Madhara yanapokuwa makubwa, soma context.md na urekebishe mwenyewe. Hii ni faili la markdown, na hakuna kinachokuzuia kulihariri.

Hakuna utafutaji. Unapata muhtasari mmoja wa sasa na log moja inayokua kwa kila project, badala ya kumbukumbu inayoweza kutafutwa katika projects zote. Ikiwa swali ni uliamua nini kuhusu database wiki tatu zilizopita, unatafuta kwa grep ndani ya history.md. Haitoi uratibu wa moja kwa moja: sessions mbili katika project moja hushiriki faili la log, lakini Recall haipeleki entries mpya za log kwenye context ya session nyingine. Kwa hiyo, moja inapohitaji kujua nyingine inafanya nini, sessions zinaweza kutumiana maandishi moja kwa moja zinapoendelea.

Haisaidii ndani ya session. Context window inapojaza nafasi katikati ya session, hilo ni tatizo tofauti lenye suluhisho tofauti, na usimamizi wa context window ndani ya session moja ni makala inayokamilisha mwongozo huu.

Muhtasari huchukuliwa kuwa input isiyoaminika kwa makusudi. context.md huingizwa ikiwa imezungushiwa fence na kuwekewa lebo, kisha Claude huuliza kabla ya kuitumia. Muundo huu upo kwa sababu directory ya .recall/ iliyocommitiwa ni mahali ambapo mtu yeyote mwenye commit access anaweza kuandika maandishi ambayo agent yako itasoma. Kiwango ambacho agent huacha kuuliza kuhusu inachosoma huamuliwa na permission mode ambayo session huanza nayo. Kwa Claude Code v2.1.283 au toleo la baadaye, auto mode tayari ni mode ya kuanzia iliyojengwa ndani kwa sessions za interactive terminal na VS Code kwenye kila plan na provider, kwa hiyo classifier badala yako hukagua actions nyingi; organizations zenye usanidi wa HIPAA bado huanza katika Manual mode. Amua mara moja kama .recall/ ni ya kibinafsi au ya pamoja: iongeze kwenye .gitignore kwa memory ya kibinafsi, au i-commit na uikague kama contribution nyingine yoyote. Ikiwa agent inaendeshwa bila uangalizi, kuendesha Claude Code kwa usalama kwenye VPS kunaeleza boundary pana zaidi.

Redaction hufanywa kwa juhudi bora. Hulenga patterns za kawaida kama API keys, tokens, PEM blocks na assignments za .env. Soma .recall/ kabla ya kui-commit.

Nambari ya version inaonyesha kwa uaminifu kiwango cha ukomavu wa mfumo. Katika 0.4.0, ambayo bado ndiyo release ya hivi karibuni zaidi mnamo October 2026, config keys na mpangilio wa files bado vinaweza kubadilika kati ya releases. Kwa hiyo, soma changelog kabla ya ku-upgrade setup unayoitegemea.

FAQ

Je, Recall hutuma code yangu au transcripts mahali pengine?

Hapana. Capture hooks na summarizer ni Python scripts zinazoendeshwa kwenye mashine yako mwenyewe, plugin haina API key, na haifanyi network call. Summarising hutumia TF-IDF na TextRank badala ya model, kwa hiyo hatua hii haina gharama na hufanya kazi mashine ikiwa offline. Hasara yake ni kwamba summary ni extractive: huchagua sentensi kutoka kwenye log yako badala ya kuandika mpya.

Kwa nini .recall/context.md yangu haipo au imepitwa na wakati?

auto_save_context huweka chaguo-msingi kuwa off, kwa hiyo summary hutengenezwa upya tu unapoendesha /recall:save. Weka "auto_save_context": "on_end" katika recall.config.json ili iandikwe upya kila session inapoisha. Ikiwa history.md pia haipo, kagua capture_history, marker ya .capture-paused na kama transcript ya session inapatikana: hooks zinazoendeshwa huruka kuandika history katika hali hizo. Thibitisha kuwa plugin imepakiwa kwa /recall:show, kisha thibitisha kuwa python3 -V inajibu kwenye mashine hiyo, kwa sababu hooks ni Python scripts.

Je, Recall huhifadhi kiasi gani kwa kila session?

Kupakia summary hugharimu takribani 1,200 tokens, ikilinganishwa na takribani 30,000 tokens kwa model inayolazimika kusoma repository yako tena ili kubaini ilipo. Hizi ni takwimu za kawaida. Pima matumizi yako kwa wc -c .recall/context.md na command ya /context ndani ya session, ukilinganisha cold start na session inayoendelea kutoka kwenye summary.

Je, bado ninahitaji faili ya CLAUDE.md?

Ndiyo, na kila moja ina kazi tofauti. CLAUDE.md ni unachoandika kwa makusudi: rules za kudumu na build commands. context.md hutengenezwa kutokana na yaliyotokea katika session iliyopita, kwa hiyo huhifadhi migration iliyoachwa katikati ambayo huenda usifikirie kuiandika. Hifadhi zote mbili.

Je, VPS moja inaweza kuhifadhi memory kwa miradi kadhaa?

Ndiyo. Recall huhifadhi memory katika .recall/ ndani ya directory ya kila project, kwa hiyo miradi miwili iliyo kwenye server moja huhifadhi logs tofauti na summaries tofauti. Anzisha Claude Code kutoka project root kila mara, kwa sababu faili hufuata working directory, si user account.

Je, makala hii ilikusaidia?