Files
nanobot-runtime/plans/brain.md
2026-06-10 06:39:52 +02:00

6.5 KiB

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: origingit@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:

---
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