Make LLM Bot Great Again #92
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ideas For Gemma 4 Migration
Idea Index
/smodes, active article cache, and suggested follow-up actions via buttons. See: Existing Features To Improve.Implementation Priority
Phase 0: Project Hygiene And Delivery Baseline
Migrate to a standard project layout before larger feature work starts.
Introduce linting as a normal part of development and CI.
Add project rules in
AGENTS.md.Introduce tests as an explicit requirement for new or modified code.
AGENTS.mdeven if broad retroactive coverage is deferred.Move CI from Drone to Woodpecker and add quality tooling there.
Refactor logging before tool-calling and scheduler complexity increases.
Phase 1: Core Runtime Refactor
Introduce a backend abstraction with Ollama-native support while keeping the current OpenAI-compatible path as fallback.
go-openaiReplace the current ad-hoc in-memory maps with a universal privacy-first in-memory state layer.
Build a compact context-construction layer instead of continuing to grow prompt assembly inline in handlers.
Phase 2: Admin UX And Bot Control
Implement DM-based admin control for persona, prompts, and chat behavior.
Add the first persistent store slice for admin-managed configuration.
Phase 3: First Tool-Calling Feature Set
Add the first tool-calling slice with a small, useful toolset rather than trying to launch every tool idea at once.
Implement reminder persistence and scheduler recovery early, even if broader durable memory comes later.
Phase 4: Controlled Autonomy
Phase 5: Durable Memory And Long-Term Features
Core Migration And Runtime Architecture
As an operator, I want the bot to support both OpenAI-compatible and Ollama-native backends, so we can choose the path that gives better Gemma 4 performance and functionality.
go-openairequest types.As an operator, I want tight control over model runtime behavior, so Gemma 4 stays fast and does not waste compute on unnecessary thinking or oversized contexts.
off,auto, andforced.As an operator running on a 32k-context home model, I want the bot to stay compact by design, so new features do not slowly turn prompts into junk drawers.
As an operator, I want a privacy-first in-memory state layer, so the bot can become more capable without turning full chat history into stored data.
Persona, Prompting, And Chat UX
As a bot admin, I want to configure global and per-chat prompt/persona overrides from Telegram DMs, so I can change character behavior without restarts or history loss.
As a chat admin, I want the bot's persona, tone modes, and character names to be configurable, so one chat can keep the sociopathic kitsune while another can choose a calmer or differently named character.
default,helpful,chaotic,argumentative, or custom named modes.allow_teasingplus interactivity settings, but not richer participation personas yet.As a group chat participant, I want the bot to reply to the correct person without overloading the model with useless metadata, so multi-user chats stay coherent.
As a user in a Telegram supergroup with topics, I want the bot to understand topic boundaries better, so replies in one topic do not get confused by another active topic.
As a chat member, I want the bot to sometimes speak without being mentioned, so it feels alive in the room without becoming spammy.
mentions only,rarely spontaneous,interest-driven, orchaotic goblin.As a chat admin, I want the bot to ignore unknown chats unless explicitly allowed, so experimentation with tool calling does not create surprises elsewhere.
Existing Features To Improve
As a user of
/s, I want richer summary modes, so the command feels like a real assistant feature instead of a fixed shortener.brief,technical,critical,ELI5,pros/cons,key claims, andwhat changed.As a user discussing an already summarized article, I want better follow-up answers than "whatever the bot remembers from its own summary", so deeper article conversations stay useful.
As a user chatting with the bot, I want suggested follow-up actions as clickable buttons, so I can continue an interaction without typing out every next step.
summarize more,criticize this,compare sources,show active reminders, orexplain like I'm 5.As a user sending photos, screenshots, or memes, I want image understanding to work without wasting context, so multimodal support remains practical on Gemma 4.
meme explanation,screenshot debugging, anddescribe for the chat.Tool Calling And Interactive Features
As a user, I want the bot to call tools when needed instead of hallucinating, so it can inspect chat state, article caches, and Telegram actions before answering.
As a user, I want the bot to search recent and summarized chat memory when needed, so it can answer recall questions without storing the full history on disk.
search_historyandget_conversation_summary.search_summaries,get_topic_digest, andfind_user_quotes.As a user, I want the bot to optionally search the web when local context is not enough, so it can gather fresh external information when explicitly allowed.
As a chat member, I want the bot to perform harmless chat actions when asked, so it feels active without needing destructive powers.
create_poll.send_quiz,send_dice,send_sticker,reply_with_quote, andshow_followup_buttons.As a group chat user, I want the bot to turn active debates into polls or mini-games, so the chat becomes more interactive.
pick a side,guess the answer,who is right, andrate these options.As a user, I want the bot to manage reminders and recurring tasks, so it is useful even when nobody wants a joke.
list_chat_scheduleadd_schedule_itemremove_schedule_itemget_current_timeso the model can anchor time-sensitive reasoning without guessing.not_implementedscaffolding.As a power user, I want the bot to understand natural requests without memorizing slash commands, so I can ask for summaries, recalls, and actions conversationally.
Curated Durable Memory And Long-Term Fun
As a user, I want the bot to remember optional long-term facts about people and the chat, so it can keep inside jokes and recurring preferences without storing everything.
save_memory,search_memories,list_memories, andforget_memory.As a user, I want the bot to produce recurring chat artifacts such as recaps and lore dumps, so the room develops its own mythology over time.
As a user who likes sharper entertainment, I want the bot to maintain lightweight public persona sketches of chat members, so jokes and arguments become more context-aware.
Administration And Configuration Cleanup
As a bot admin, I want to administer the bot through natural language in DMs, so I do not need to memorize technical commands or touch config files for routine operations.
show me all chats you're inshow available interactivity modesset interactivity mode to playful for <chat>show me current chat loreforget everything about @user in this chatAs a bot admin, I want cross-chat administration to avoid accidental disclosure, so powerful introspection features do not leak where the bot is used.
As an operator, I want to break backward compatibility where it helps, so the bot can have a cleaner config and command model for Gemma 4.