From f3bbb69b25d1b1619f7bd9d5861480af7e9e834f Mon Sep 17 00:00:00 2001 From: Agando Date: Fri, 23 Oct 2026 18:20:29 +0200 Subject: fix(newos4): tokenised body-aware skill search for load_skills (v4.6.62) Packet 4. The matcher tested the whole query as one substring against name+description+tags: word order decided the outcome ("telemetry dashboard" = 0 while "telemetry" = 1), a sentence could never match, and skill bodies were never searched at all. - _skillTokens(): lowercase, split on non-word chars, drop <3-char words and a stopword list; a query made only of stopwords keeps its literal form - scoring: name 3, description 2, tags 2, body 1 + up to 1.0 for repeated hits, multiplied by token coverage (0.5 + 0.5 * matched/total), +3 phrase bonus so word order can never zero a real hit - results carry score and matchedTokens ("2/3"); top 3 by score, name as tiebreak - zero results now name the tokens searched and the closest skill names instead of "No matching skills found" Verified live on v4.6.62 via the real runTool entry point: "telemetry dashboard" and "dashboard telemetry" both return the same 2 skills (was 0 and 0); "how do I regenerate the skill index" returns skills-system-guide first (8.96, 2/3) where a sentence previously matched nothing; "info" returns 3 body matches; a nonsense query returns 0 with the tokens and closest names. --- help.html | 3 +- main.html | 6 +-- modules/core/core-bundle.js | 83 +++++++++++++++++++++++++++++++++++++---- modules/core/module-aiassist.js | 83 +++++++++++++++++++++++++++++++++++++---- modules/core/module-loader.js | 2 +- 5 files changed, 158 insertions(+), 19 deletions(-) diff --git a/help.html b/help.html index 60dbf4a..815727b 100644 --- a/help.html +++ b/help.html @@ -1672,12 +1672,13 @@ listmods

๐Ÿ“‹ Changelog

-
v4.6.57โ€“60 โ€” October 20262026-10-23
+
v4.6.57โ€“62 โ€” October 20262026-10-23
diff --git a/main.html b/main.html index ffac150..21f6eaa 100644 --- a/main.html +++ b/main.html @@ -1349,13 +1349,13 @@ - + - + - +