Commit Graph

95 Commits

Author SHA1 Message Date
Jaakko Vanhala
6a587cd080 Terminaalin status-rivit tiivistetty: yksi rivi per tehtävä jota päivitetään
Ennen (3 riviä):
  → qwen-coder käsittelee...
  → Reititetty solmulle #2
  ✓ Qwen2.5-Coder-0.5B-Instruct (75 tok)

Jälkeen (1 rivi jota päivitetään):
  → qwen-coder käsittelee...  →  → Reititetty solmulle #2 ▌  →  ✓ Qwen2.5-Coder 75 tok · 12.0s · 6.3 tok/s

Sama div päivitetään pyynnön elinkaaren läpi: käsittelee → reititys → valmis/virhe.
task_routed-viestit päivittävät samaa riviä uusien rivien sijaan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 18:34:07 +03:00
Jaakko Vanhala
f17fcf0f9d Terminaalin koodivastaus tiivistetty yhdelle riville, klikkaus laajentaa
Tuloste näyttää ensimmäisen koodirivin + "(+N riviä)":
  ✓ Qwen2.5-Coder (75 tok)
  ▶ fn fibonacci(n: usize) -> usize { (+8 riviä)

Klikkaus laajentaa/sulkee koko koodin highlight.js-korostuksella
ja vasemman reunan indikaattoriviivalla.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 18:29:18 +03:00
Jaakko Vanhala
7a15cacebf Malli säilyy refreshin yli: automaattinen uudelleenlataus IndexedDB-cachesta
- coderSize tallennetaan localStorageen (valinta säilyy)
- Kun malli on kerran ladattu, 'kpn-coder-loaded' lippu asetetaan
- Sivulatauksessa: jos lippu on asetettu, ensureCoderNode() käynnistyy
  automaattisesti — painot tulevat IndexedDB-cachesta, ei verkosta
- Radio-napit asetetaan oikeaan tilaan localStoragesta

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 18:13:33 +03:00
Jaakko Vanhala
27135a8f14 Numeroidut mallilistat: kpn models ja kpn load tukevat numerovalintaa
kpn models näyttää:
  1  qwen-coder     Qwen2.5-Coder:0.5B  ~990 MB
  2  qwen-coder-3b  Qwen2.5-Coder:3B    ~6.2 GB
  3  smollm-135m    SmolLM 135M         ~270 MB
  ...

kpn load näyttää ladattavat mallit ja hyväksyy numeron:
  kpn load     → näytä lista
  kpn load 1   → lataa 0.5B
  kpn load 2   → lataa 3B
  kpn load 3b  → toimii myös nimellä

Jo ladattu malli merkitään ✓-merkillä.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 17:58:50 +03:00
Jaakko Vanhala
e28a715f32 Max tokens 128→256 + coder-3b malli agents-terminaaliin
- Oletustokenimäärä nostettu 256:een (monimutkaisemmat vastaukset mahtuvat)
- kpn run coder-3b "..." käynnistää 3B-mallin (parempi koodinlaatu)
- kpn load 3b lataa 3B-mallin (~6.2 GB)
- Tab-completion tukee coder-3b + esimerkkipromptit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 17:56:56 +03:00
Jaakko Vanhala
24d29d9ba9 Avatar-aktivointi vain omille agents-tehtäville, ei broadcast-viesteille
Agenttiavatarit vilkkuivat itsestään koska llm_prompt-handler reagoi kaikkiin
broadcastattuihin viesteihin (hubin automaattiset 10s-tehtävät, warmup jne.).
Nyt avatar-logiikka laukeaa VAIN jos viestissä on task_id joka löytyy
activeStreams:stä — eli kyseessä on käyttäjän oma agents-pipelinen tehtävä.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 13:55:58 +03:00
Jaakko Vanhala
3d1b406e8d Alasvetovalikko kpn-terminaalin autocompletioniin
TAB avaa dropdown-valikon käytettävissä olevista vaihtoehdoista:
- Nuolilla (ylös/alas) navigointi
- Enter tai TAB valitsee korostetun vaihtoehdon
- Esc sulkee valikon
- Klikkaus valitsee suoraan
- Yksi vaihtoehto → täydennetään suoraan ilman valikkoa

Valikko näyttää kontekstin mukaan: alikomennot, mallit/agentit
tai esimerkkiprompteja. Sulkeutuu automaattisesti kun klikataan muualle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:53:47 +03:00
Jaakko Vanhala
aa6c4739dd Shift-TAB poistaa viimeisen sanan kpn-terminaalissa
Poistaa viimeisen sanan tai lainausmerkeissä olevan kokonaisuuden:
- "kpn run coder " → Shift-TAB → "kpn run "
- 'kpn run coder "hello world"' → Shift-TAB → "kpn run coder "

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:51:39 +03:00
Jaakko Vanhala
cbbf427a93 Tab-completion kpn-terminaaliin: ennustava komennonsyöttö sana kerrallaan
TAB täydentää kontekstin mukaan:
- tyhjä → "kpn "
- "kpn " → "kpn help", "kpn run", "kpn pipeline" jne.
- "kpn run " → agentit ja mallit (coder, manager, qwen-coder...)
- "kpn run coder " → esimerkkiprompteja ("hello world in python")
- "kpn pi" → "kpn pipeline "
- osittainen sana → yhteinen etuliite tai ainoa vaihtoehto

Tukee myös kpn pipeline -esimerkkiprompteja.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:51:01 +03:00
Jaakko Vanhala
0a216f19e2 Laskentasolmun käynnistys käyttäjän hallinnassa: nappi + cancel + kpn load
Status-palkissa "Alusta laskentasolmu" -nappi joka:
- Klikkaa → käynnistää kielimallin latauksen omalle koneelle
- Latauksen aikana muuttuu "Peruuta"-napiksi (punainen)
- Valmis → vihreä "✓ Valmis" -tila
Myös kpn load -komento terminaalissa tekee saman.
Agents-sivulla ei enää automaattista käynnistystä — käyttäjä valitsee itse.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:50:07 +03:00
Jaakko Vanhala
a2e7ed53ff Laskentavalmiuden indikaattori agents-sivulle + kpn load -komento
Status-palkissa näkyy nyt Hub-yhteyden lisäksi laskentasolmun tila:
- Harmaa "Ei käynnissä ⟩" — klikkaa käynnistääksesi
- Keltainen "Ladataan mallia..." — malli latautuu
- Vihreä "Valmis (Qwen2.5-Coder)" — valmis laskentaan

Kaksi tapaa käynnistää:
1. Klikkaa compute-statusta status-palkissa
2. Kirjoita terminaaliin: kpn load

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:48:50 +03:00
Jaakko Vanhala
950cae9d96 Agents-sivu käynnistää oman laskentasolmun: käyttäjän kone valjastetaan laskentaan
Kun käyttäjä avaa #agents-sivun, käynnistetään automaattisesti Wasm coder-node
jotta tehtävät reitittyvät omalle koneelle eikä ulkoisille solmuille.
Sama logiikka kuin codelabissa (ensureCoderNode + warmup).
Toimii sekä suoralla #agents-navigoinnilla että tab-vaihdolla.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:45:29 +03:00
Jaakko Vanhala
ff3a720b8d Proaktiivinen mallin esilataus: warmup-prompt käynnistyksessä
Kun coder-node yhdistyy hubiin, lähetetään automaattisesti 1 tokenin
warmup-prompt joka triggeröi mallin latauksen (painot + rakennus).
Pipeline-tilakone merkkaa kaikki vaiheet valmiiksi logiviestien perusteella
ilman että käyttäjän tarvitsee odottaa ensimmäiseen prompttiin asti.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:38:02 +03:00
Jaakko Vanhala
6f14614af8 Syntaksikorostus agents-terminaalin ja network-näkymän LLM-vastauksiin
Highlight.js:n automaattinen kielentunnistus nyt myös agents-terminaalin
koodivastauksissa ja network-näkymän chatBoxissa (aiemmin vain codelabissa).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:28:24 +03:00
Jaakko Vanhala
6bc7d03676 Reitityksen tilatieto UI:ssa: task_routed-viestit terminaaliin ja codelab-latausindikaattoriin
Näyttää "Reititetty solmulle #N" tai "Kaikki N solmua varattuja — odotetaan..."
sekä agents-terminaalissa että koodilaboratorion lataustekstissä.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:25:43 +03:00
Jaakko Vanhala
38054452e2 Pipeline-tilakone: matchaa myös [Storage]-prefiksin tokenizer-logit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:19:03 +03:00
Jaakko Vanhala
50ff34cb09 Highlight.js koodin syntaksikorostukseen (automaattinen kielentunnistus) + markdown-strippaus
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:43:20 +03:00
Jaakko Vanhala
949f34833f Markdown-wrapper strippaus LLM-vastauksista + hub-status tooltip
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:41:23 +03:00
Jaakko Vanhala
88fd31ca8c Hub-yhteyden tila omaksi status-palkiksi terminaalin yläpuolelle (agents-näkymä)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:39:48 +03:00
Jaakko Vanhala
57c6506f91 Bugikorjaukset ja tietoturvaparannukset: broadcast lag, busy-reititys, rate limiting, gamification-validointi, XSS, base64, DOM-vuoto
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:25:13 +03:00
Jaakko Vanhala
12fd3c4eae Viestien säätöä 2026-04-05 08:09:35 +03:00
Jaakko Vanhala
1845ddf8c2 viestien siistimistä 2026-04-05 08:00:13 +03:00
Jaakko Vanhala
133ff38fa4 tilakoneen fiksailuja 2026-04-04 21:22:46 +03:00
Jaakko Vanhala
3ada8949d0 Päivitetty juttuja 2026-04-04 21:13:20 +03:00
2e7ddf6f1e Puhuvat päät agenteille: ? merkki jos agentti kysyy jotain. Lisäksi simulaatio näistä + chattiloki 2026-04-03 12:50:31 +03:00
f266c121c2 Puhuvat päät agenteille: ? merkki jos agentti kysyy jotain. Lisäksi simulaatio näistä + chattiloki 2026-04-03 12:46:52 +03:00
f83ea9d90a Puhuvat päät agenteille: ! ja puhekupla vuorovaikutuksen lisäämiseksi 2026-04-03 12:38:45 +03:00
2ea24c6248 Layout-hiplailuja agenttinäkymään 2026-04-03 12:05:12 +03:00
2d065ee0bf Layout-päivitys agenttinäkymään 2026-04-03 10:01:08 +03:00
3d2b2342e0 FI/SV/EN kielituki about valmis (testaamatta) 2026-04-03 09:56:18 +03:00
2a242efbd8 FI/SV/EN kielitukea lisää 2026-04-03 09:33:56 +03:00
f687351f69 FI/SV/EN kielitukea lisää 2026-04-03 09:29:27 +03:00
0d3e0ff86a agents-näkymän tuunailua ja FI/SV/EN kielituen hahmottelua 2026-04-03 09:07:00 +03:00
057d464fdd lisätty pikku pörriäiset 2026-04-03 08:55:07 +03:00
185a40dbdf agentic office 2026-04-02 20:27:37 +03:00
31995fb278 hyvä siitä tulee 2026-04-02 18:16:41 +03:00
6cdd695a3b kylä lähtee! 2026-04-02 16:19:57 +03:00
e1326b145e hetki ennen webgpu inferenssiä 2026-04-02 12:49:40 +03:00
d2920e5ab4 koodilabran v0.1.1 2026-04-02 11:40:38 +03:00
8e20b06344 koodilabran v0.1 2026-04-02 10:07:48 +03:00
11bd802be5 tooltipit eri toimille 2026-04-02 07:27:37 +03:00
b693542116 on tämä työmaa 2026-04-02 00:50:29 +03:00
9a72d35081 toka toimiva vedos 2026-04-01 23:52:39 +03:00
02f6684378 eka toimiva 2026-04-01 22:14:48 +03:00
46848ee027 eka vedos 2026-04-01 17:54:08 +03:00