Skip to content

Commit 1abd60b

Browse files
committed
feat: friendlier NL assistant — play along with creative on-topic requests (v0.14.3)
1 parent d10439d commit 1abd60b

6 files changed

Lines changed: 18 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
All notable changes to UnraidMonitor will be documented in this file.
44

5+
## [0.14.3] - 2026-06-05
6+
7+
### Changed
8+
- **Friendlier natural-language chat** — the NL assistant now plays along with creative, on-topic requests instead of refusing them. "Tell me a story about the server", "status as a captain's log", "roast my containers", "how's it doing in haiku" now get fulfilled by pulling the real stats with tools first, then answering in the requested style (grounded in actual numbers, never invented). It still declines genuinely off-topic asks (e.g. "write my essay") and stays scoped to the server, containers, array, and disks. Tone/personality guidance added to `SYSTEM_PROMPT` in `src/services/nl_processor.py`; action/tool behaviour unchanged.
9+
510
## [0.14.2] - 2026-06-05
611

712
### Fixed

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ src/utils/version_store.py - read/write data/announced_version.json for startup
9292

9393
## Project Overview
9494

95-
Unraid Server Monitor Bot (v0.14.2) - A Docker-based Telegram bot for monitoring Unraid servers. Monitors Docker containers (events, logs, resources) and Unraid server health (CPU, memory, disks, array, UPS). Uses multi-provider LLM support (Anthropic, OpenAI, Ollama) for AI-powered diagnostics and natural language interaction. Sends alerts via Telegram with quick-action buttons.
95+
Unraid Server Monitor Bot (v0.14.3) - A Docker-based Telegram bot for monitoring Unraid servers. Monitors Docker containers (events, logs, resources) and Unraid server health (CPU, memory, disks, array, UPS). Uses multi-provider LLM support (Anthropic, OpenAI, Ollama) for AI-powered diagnostics and natural language interaction. Sends alerts via Telegram with quick-action buttons.
9696

9797
**Version string lives in TWO places**`pyproject.toml` (`version`) and `src/__init__.py` (`__version__`). Both must be bumped together on release; `tests/test_version.py` guards against drift. `BOT_VERSION` (in `src/bot/health_command.py`) resolves from installed package metadata when available, else falls back to `src.__version__` — the package is not installed in the Docker image, so the `__version__` fallback is what runs in production.
9898

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "unraid-monitor-bot"
3-
version = "0.14.2"
3+
version = "0.14.3"
44
requires-python = ">=3.11"
55
dependencies = [
66
"docker>=7.0.0,<8.0.0",

src/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.14.2"
1+
__version__ = "0.14.3"

src/constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@
9797
# Shown once when BOT_VERSION first differs from data/announced_version.json.
9898
ANNOUNCED_VERSION_PATH = "data/announced_version.json"
9999
WHATS_NEW: dict[str, list[str]] = {
100+
"0.14.3": [
101+
"Chattier assistant - ask for the server status as a story, a captain's log, or a haiku and it'll play along with real numbers, while still staying focused on your server",
102+
],
100103
"0.14.2": [
101104
"Cleaner AI replies - chat and /diagnose answers now render bold, italics and code properly instead of showing raw ** asterisks",
102105
],

src/services/nl_processor.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,19 @@ def _evict_oldest(self) -> None:
109109
- Check array and disk health
110110
- Restart, stop, start, or pull containers (with user confirmation)
111111
112+
## Personality & tone
113+
- You're warm, a little witty, and happy to play along — not a stickler.
114+
- Lean toward saying YES. If a request is about this server, its containers, the array, or disks in ANY framing — even a playful or creative one — fulfil it. "Tell me a story about the server", "give me the status as a ship's captain's log", "roast my containers", "how's the server doing in haiku" → gather the real data with your tools first, then deliver it in the style asked.
115+
- Ground the fun in real numbers. Use your tools to pull actual status/stats and weave those into the creative answer — never invent values.
116+
- Only decline requests that have nothing to do with this server (e.g. "write my essay", "what's the weather"). Decline briefly and good-naturedly, then nudge toward what you can do.
117+
112118
## Guidelines
113-
- Be concise. Users are on mobile Telegram.
119+
- Default to concise — users are on mobile Telegram. A creative or playful request can run a little longer; match the effort to what was asked.
114120
- When investigating issues, gather relevant data before responding.
115121
- For "what's wrong" questions: check status, recent errors, and logs.
116122
- For performance questions: check resource usage first.
117123
- When the user wants an action (start, stop, restart, pull), call the appropriate tool immediately. Do NOT just suggest the action in text — the tool triggers the confirmation buttons the user needs.
118124
- If a container is protected, explain you can't control it.
119-
- If you can't help, suggest relevant /commands.
120125
121126
## Container name matching
122127
Partial names work: "plex", "rad" for "radarr", etc."""

0 commit comments

Comments
 (0)