214 lines
6.5 KiB
Markdown
214 lines
6.5 KiB
Markdown
# Brain — LLM Wiki Deployment Plan
|
|
|
|
> Vytvoreno: 2026-05-28
|
|
> Cil: Nasadit a pouzivat plugin `praneybehl/llm-wiki-plugin` (Karpathy LLM Wiki pattern) jako osobni knowledge base "brain" napric pocitaci, s uchovavanim vseho contentu v gitu a integraci do nanobota.
|
|
|
|
---
|
|
|
|
## 1. Architektura
|
|
|
|
### 1.1 Repo
|
|
- **Nazev:** `brain`
|
|
- **Host:** Gitea self-hosted (`https://git.fnet.cz`)
|
|
- **URL:** `git@git.fnet.cz:lachtan/brain.git`
|
|
- **Viditelnost:** private
|
|
- **Branch:** `main` (primarni, ingest jde rovnou sem)
|
|
|
|
### 1.2 Lokalni cesta na tomto stroji
|
|
- `/home/nanobot/brain/`
|
|
- Uvnitr standardni `wiki/` struktura z pluginu (plugin hardcoduje `wiki/`, pozdeji lze patchnout)
|
|
|
|
### 1.3 Stroje
|
|
| Stroj | Role | Claude Code | Nanobot |
|
|
|-------|------|-------------|---------|
|
|
| home pc | primary dev | ano (GUI) | ne |
|
|
| office pc | secondary dev | ano (GUI) | ne |
|
|
| wood.hell | server/CLI | ano (CLI only) | ne |
|
|
| tento LXC | nanobot host | ne | ano |
|
|
|
|
### 1.4 Sync mechanismus
|
|
- Git push/pull mezi vsemi instancemi
|
|
- Okamzity `git commit && git push` po kazdem zapisu nanobotem
|
|
- Ostatni stroje si pulluji pri startu nebo periodicke
|
|
|
|
---
|
|
|
|
## 2. Git & SSH
|
|
|
|
### 2.1 SSH klic pro nanobot
|
|
- Vygenerovan: `/home/nanobot/.ssh/id_ed25519` (ed25519, bez passphrase)
|
|
- Public key: pridat do Gitea repo `brain` jako deploy key nebo k uzivatelskemu uctu
|
|
- Fingerprint: `SHA256:iMrDLkVKxNAGPo+xOup0Abi7c/49/D/rZx/MPUIPt4U`
|
|
|
|
### 2.2 Git config
|
|
- `user.name`: `nanobot`
|
|
- `user.email`: `nanobot@git.fnet.cz`
|
|
- Remote: `origin` → `git@git.fnet.cz:lachtan/brain.git`
|
|
|
|
---
|
|
|
|
## 3. Struktura wiki
|
|
|
|
Plugin vytvari adresar `wiki/` s nasledujici strukturou:
|
|
|
|
```
|
|
wiki/
|
|
index.md # hlavni index, sharded pri >300 radku
|
|
indexes/ # per-type indexy pri >150 strankach
|
|
pages/ # strukturovane stranky (vysledky ingestu)
|
|
sources/ # raw sources (vstupy pro ingest)
|
|
references/ # scaling playbook, schema docs
|
|
```
|
|
|
|
Kazda stranka ma YAML frontmatter:
|
|
```yaml
|
|
---
|
|
title: "Nazev"
|
|
type: concept | source | summary | index
|
|
tags: [tag1, tag2]
|
|
created: YYYY-MM-DD
|
|
updated: YYYY-MM-DD
|
|
sources: [slug-zdroje]
|
|
---
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Nanobot integrace
|
|
|
|
### 4.1 Rozliseni zapisu
|
|
- "zapis do brain" / "do wiki" / "brain-write" → zapis do `brain/wiki/`
|
|
- Bez klicoveho slova → zapis do `MEMORY.md` (soucasne chovani)
|
|
|
|
### 4.2 Slash commands / skill tools
|
|
| Operace | Popis | Auto commit |
|
|
|---------|-------|-------------|
|
|
| `/brain-write` | Zapis raw source nebo stranky s YAML frontmatter | ano, okamzite |
|
|
| `/brain-search` | Fulltext search pres markdown soubory (grep/BM25) | neni potreba |
|
|
| `/brain-ingest` | Full LLM ingest — zkompiluje raw source do stranek | ano, okamzite |
|
|
|
|
### 4.3 Frontmatter
|
|
- `/brain-write` automaticky pridava YAML frontmatter:
|
|
- `created`, `updated` (datum)
|
|
- `source` (napr. `telegram`, `web`, `user-input`)
|
|
- `tags` (volitelne, zadane uzivatelem)
|
|
- `type` (`source` pro raw, `concept` pro zpracovane)
|
|
|
|
### 4.4 Ingest workflow
|
|
- Nanobot cte raw source z `wiki/sources/`
|
|
- Vola LLM (qwen-3.6-plus) pro strukturalni analyzu
|
|
- Vytvari/aktualizuje stranky v `wiki/pages/`
|
|
- Aktualizuje `wiki/index.md` a cross-references
|
|
- Commit + push do `main`
|
|
|
|
---
|
|
|
|
## 5. Modely
|
|
|
|
### 5.1 Dostupne modely (cloud pres OpenRouter/Ollama gateway)
|
|
- `deepseek-v3.2`
|
|
- `glm-5.1`
|
|
- `kimi-k2.6`
|
|
- `minimax-m2.7`
|
|
- `qwen-3.6-plus`
|
|
- `qwen3.5`
|
|
|
|
### 5.2 Model pro ingest
|
|
- **Primarni:** `qwen-3.6-plus-openrouter` — dobry reasoning/coding, cena
|
|
- **Fallback:** `kimi-k2.6-openrouter` — pro velke sources (>32K tokenu)
|
|
|
|
### 5.3 Ollama role
|
|
- Ollama na `nvidia.hell` slouzi jako gateway/proxy pro cloud modely
|
|
- Zadny lokalni inference pro ingest (vsechny modely jsou cloud)
|
|
|
|
---
|
|
|
|
## 6. Skripty a tooling
|
|
|
|
### 6.1 Pluginove skripty (z `praneybehl/llm-wiki-plugin`)
|
|
- `init_wiki.py` — inicializace wiki struktury
|
|
- `wiki_search.py` — BM25 search s frontmatter filtry
|
|
- `wiki_lint.py` — strukturalni lint (velikost stranek, odkazy)
|
|
- `wiki_stats.py` — statistiky a scaling thresholds
|
|
- `wiki_graph_*.py` — optional graph layer (vyzaduje PyYAML)
|
|
|
|
### 6.2 Nasazeni skriptu
|
|
- Skripty budou pripraveny v Claude Code a zkopirovany do `brain/skills/llm-wiki/scripts/`
|
|
- Nanobot skill wrapper je bude volat pres `exec` nebo jako tool
|
|
|
|
### 6.3 Skill wrapper pro nanobot
|
|
- Pripraven v Claude Code jako nanobot-compatible skill
|
|
- Minimalni sada na startu: `write`, `search`, `ingest`
|
|
- Rozsireni pozdeji podle potreby (lint, stats, graph)
|
|
|
|
---
|
|
|
|
## 7. Scaling & udrzba
|
|
|
|
### 7.1 Automaticke sharding
|
|
- `wiki/index.md` se sharduje pri >300 radcich
|
|
- Per-type indexy v `wiki/indexes/` pri >150 strankach
|
|
- BM25 search fallback pri >300 strankach
|
|
|
|
### 7.2 Velikostni limity
|
|
- Stranka: soft cap 400 radku, hard cap 800 radku
|
|
- Ingest velkych sources: chunked (po castech)
|
|
|
|
### 7.3 Safety
|
|
- Ingest jde rovnou do `main`
|
|
- Git history jako pojistka pro revert
|
|
- Chybne ingesty se opravuji v Claude Code
|
|
|
|
---
|
|
|
|
## 8. Implementacni kroky
|
|
|
|
### Faze 1: Zaklad
|
|
1. [ ] Pridat SSH public key do Gitea repo `brain`
|
|
2. [ ] Naklonovat `brain` do `/home/nanobot/brain/`
|
|
3. [ ] Nastavit git config (user.name, user.email)
|
|
4. [ ] Inicializovat wiki strukturu (`init_wiki.py` nebo rucne)
|
|
5. [ ] Otestovat git push/pull
|
|
|
|
### Faze 2: Nanobot skill
|
|
1. [ ] Pripravit skill wrapper v Claude Code
|
|
2. [ ] Implementovat `/brain-write` s frontmatter
|
|
3. [ ] Implementovat `/brain-search`
|
|
4. [ ] Testovat zapis a search
|
|
|
|
### Faze 3: Ingest
|
|
1. [ ] Otestovat modely na ingest (qwen-3.6-plus)
|
|
2. [ ] Implementovat `/brain-ingest`
|
|
3. [ ] Otestovat full workflow: raw source → ingest → stranka
|
|
|
|
### Faze 4: Rozsireni
|
|
1. [ ] Pridat pluginove skripty (lint, stats, graph)
|
|
2. [ ] Nastavit cron pro periodicke lint/stats
|
|
3. [ ] Integrovat s ostatnimi stroji (home pc, office pc, wood.hell)
|
|
|
|
---
|
|
|
|
## 9. Rozhodnuti z grill-me session
|
|
|
|
| Tema | Rozhodnuti |
|
|
|------|-----------|
|
|
| Nazev projektu | `brain` (repo), uvnitr `wiki/` (plugin default) |
|
|
| Lokalni cesta | `/home/nanobot/brain/` |
|
|
| Git workflow | Okamzity commit+push do `main` |
|
|
| SSH auth | Novy klic pro `nanobot` uzivatele |
|
|
| Zapis bez keywordu | MEMORY.md |
|
|
| Zapis s "brain/wiki" | `brain/wiki/` |
|
|
| Frontmatter | Automaticky pridavat |
|
|
| Ingest scope | Full LLM ingest (ne jen light) |
|
|
| Ingest model | qwen-3.6-plus (fallback kimi-k2.6) |
|
|
| Safety | Rovnou do `main`, git history jako pojistka |
|
|
| Skripty | Pripravit v Claude Code, integrovat pozdeji |
|
|
|
|
---
|
|
|
|
## 10. Odkazy
|
|
|
|
- Plugin: https://github.com/praneybehl/llm-wiki-plugin
|
|
- Karpathy gist: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
|
|
- Gitea: https://git.fnet.cz/lachtan/brain
|