• ctrl/chat_llm.ini chat_llm_greeting.utf8 chat_llm_opening_persona.utf8

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Fri May 29 00:55:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/39502cc1fffaa3994cf0ef9b
    Added Files:
    ctrl/chat_llm.ini chat_llm_greeting.utf8 chat_llm_opening_persona.utf8 chat_llm_persona.utf8 exec/chat_llm.js chat_llm_irc.js llm_external_archives.json llm_index.js exec/llm_index/dokuwiki.js filebase.js msgbase.js exec/llm_tools.js exec/llm_tools/_common.js bbs_directory.js external_archives.js relay_message.js this_bbs.js
    Log Message:
    chat_llm: introduce LLM-backed chat engine with tool calling and RAG

    Adds an Ollama-backed chat infrastructure for the BBS guru:

    exec/chat_llm.js -- chat engine: dispatch, classifier,
    tool loop, RAG injection, postprocess
    exec/chat_llm_irc.js -- IRC bot adapter (joins channels, runs
    chat_session on direct address or
    high-confidence intervention, queues
    and delivers relay messages)
    exec/llm_tools.js -- tool registry: loads exec/llm_tools/*.js
    and registers each via llm_tool_register
    ({name, execute, def})
    exec/llm_tools/_common.js shared helpers
    exec/llm_tools/bbs_directory.js sbbslist lookup + finger probe
    exec/llm_tools/this_bbs.js local subs/libs/dirs/doors/stats
    exec/llm_tools/external_archives.js curated BBS-era archive index
    exec/llm_tools/relay_message.js deferred-delivery message queue
    exec/llm_index.js -- RAG index builder (BM25)
    exec/llm_index/dokuwiki.js DokuWiki page crawler
    exec/llm_index/filebase.js file-base description crawler
    exec/llm_index/msgbase.js message-base post crawler
    exec/llm_external_archives.json archive data
    ctrl/chat_llm.ini engine + chat config
    ctrl/chat_llm_persona.utf8 system prompt, normal turns
    ctrl/chat_llm_opening_persona.utf8 system prompt, opening turn
    ctrl/chat_llm_greeting.utf8 user-role greeting trigger

    Adding a tool = drop a file in exec/llm_tools/; the loader picks
    it up automatically. Runtime files derive from <persona>_<protocol>
    base (default "guru_irc") so multiple bots can coexist in data/.

    The engine speaks Ollama's OpenAI-compat /api/chat endpoint; tested
    against qwen2.5:7b with the Synchronet wiki + filebases as RAG sources.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net