Files
clawd/memory/kb/projects/clawdbot-extrapaths-prompt.md
Echo 10fb3d6fb5 refactor: mutat kb/ -> memory/kb/ pentru memory search
- 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ă
2026-02-01 21:18:45 +00:00

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:

  1. Funcția extraPaths e menționată în documentație dar nu există în cod
  2. Clawdbot e instalat via npm în /usr/lib/node_modules/clawdbot/
  3. 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-package pentru 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:

  1. Schema config - adaugă extraPaths: z.array(z.string()).optional()

    • Caută în src/config/ fișierele cu zod-schema
  2. 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[]>
    
  3. Manager - src/memory/manager.ts:

    • Clasa MemoryIndexManager
    • Trebuie să paseze extraPaths și să adauge watcher
  4. Config resolution - src/agents/memory-search.ts:

    • Funcția mergeConfig - să includă extraPaths

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

  1. Evaluează opțiunile și recomandă cea mai bună pentru cazul meu
  2. Implementează soluția aleasă
  3. Testează că funcționează
  4. 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.