- Mutat toate fișierele din kb/ în memory/kb/ - Actualizat toate referințele în fișiere (.md, .py, .html) - Actualizat 10 joburi cron cu noi căi - Memory search indexează acum 58 fișiere din memory/ - TOOLS.md actualizat cu documentație completă
4.0 KiB
4.0 KiB
Prompt pentru Claude Code - Implementare extraPaths în Clawdbot
Problema
Clawdbot memory search indexează doar MEMORY.md și memory/**/*.md.
Vreau să pot indexa și alte directoare (ex: kb/) pentru semantic search, dar:
- Funcția
extraPathse menționată în documentație dar nu există în cod - Clawdbot e instalat via npm în
/usr/lib/node_modules/clawdbot/ - Orice modificare directă va fi suprascrisă la următorul
npm update
Obiectiv
Găsește și implementează cea mai bună soluție pentru a adăuga suport extraPaths care:
- Să supraviețuiască update-urilor npm
- Să fie ușor de menținut
- Să funcționeze cu versiunea curentă (2026.1.24-3)
Opțiuni de evaluat
Opțiunea 1: Fork oficial + PR
- Fork repo-ul Clawdbot
- Implementez feature-ul
- Fac PR upstream
- Pro: Soluție permanentă, ajută comunitatea
- Contra: Durează până e acceptat
Opțiunea 2: Patch cu patch-package
- Folosesc
patch-packagepentru a aplica un patch persistent - Patch-ul se re-aplică automat după npm install
- Pro: Supraviețuiește update-urilor
- Contra: Poate necesita actualizare la versiuni noi
Opțiunea 3: Plugin/Extension custom
- Verific dacă Clawdbot suportă extensii pentru memory
- Creez un plugin care extinde funcționalitatea
- Pro: Nu modific core-ul
- Contra: Poate să nu fie posibil arhitectural
Opțiunea 4: Post-install hook
- Script în package.json care aplică modificările după install
- Pro: Automatizat
- Contra: Fragil
Opțiunea 5: Sync script (workaround)
- Script care copiază/sincronizează
kb/→memory/kb/ - Rulează periodic sau la modificări (inotify/fswatch)
- Pro: Zero modificări în Clawdbot
- Contra: Duplicare fișiere, nu e elegant
Configurația dorită
{
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"extraPaths": ["kb", "docs/notes"]
}
}
}
}
Fișierele relevante din Clawdbot
Dacă alegi să modifici codul:
-
Schema config - adaugă
extraPaths: z.array(z.string()).optional()- Caută în
src/config/fișierele cuzod-schema
- Caută în
-
Listare fișiere -
src/memory/internal.ts:// Funcția actuală: export async function listMemoryFiles(workspaceDir: string): Promise<string[]> // Trebuie modificată să accepte: export async function listMemoryFiles( workspaceDir: string, extraPaths?: string[] ): Promise<string[]> -
Manager -
src/memory/manager.ts:- Clasa
MemoryIndexManager - Trebuie să paseze
extraPathsși să adauge watcher
- Clasa
-
Config resolution -
src/agents/memory-search.ts:- Funcția
mergeConfig- să includă extraPaths
- Funcția
Comportament dorit
extraPaths: ["kb"]→ indexeazăworkspace/kb/**/*.md- Path-uri relative la workspace
- Urmărește symlink-uri (opțional)
- Watcher monitorizează și directoarele extra
- Directoare inexistente → ignoră silențios
- Path-uri în afara workspace → warning și ignoră
Pași de testare
# 1. Adaugă în config
# extraPaths: ["kb"]
# 2. Creează fișier test
echo "# Test\nConținut unic pentru testare extraPaths" > kb/test-extrapaths.md
# 3. Reindexează
clawdbot memory reindex
# 4. Verifică indexul
clawdbot memory status
# 5. Testează căutarea
clawdbot memory search "conținut unic testare"
# Ar trebui să găsească kb/test-extrapaths.md
Context sistem
- OS: Linux (LXC container)
- Clawdbot: 2026.1.24-3 (instalat global cu npm)
- Locație:
/usr/lib/node_modules/clawdbot/ - Config:
~/.clawdbot/clawdbot.json - Workspace:
/home/moltbot/clawd/
Ce aștept de la tine
- Evaluează opțiunile și recomandă cea mai bună pentru cazul meu
- Implementează soluția aleasă
- Testează că funcționează
- Documentează cum să mențin soluția la update-uri viitoare
Începe prin a explora codul Clawdbot și a înțelege arhitectura, apoi propune soluția.