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ă
This commit is contained in:
Echo
2026-02-01 21:18:45 +00:00
parent 02c4a1ca1c
commit 10fb3d6fb5
72 changed files with 807 additions and 170 deletions

View File

@@ -0,0 +1,136 @@
# 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ă
```json
{
"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`:
```typescript
// 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
```bash
# 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.