Files

5.2 KiB

Changes

v0.1.19 — 2026-06-17

  • Stripped all meta-instructions (Avoid, Blend, Vary) from all 19 personas to prevent fourth-wall breaking
  • Rewrote prompts as pure character voice descriptions

v0.1.18 — 2026-06-17

  • Added defaultCustomPersona fallback when textarea is empty
  • Simplified persona resolution to single clean code path
  • Added example prompt in help_text with blockquote formatting
  • Fixed Yoda persona (removed, was an outlier)
  • Fixed /ai persona list to show dropdown display names
  • Fixed @-mention resetting conversation history to prevent context bleed

v0.1.17 — 2026-06-17

  • Replaced persona library with 19 juxtaposed pop-culture characters with role inversions
  • Added Dolphin-Llama-optimized descriptions (350-token cap, cliché kill-switch, 30/70 blend)
  • Switched CustomPersona config field from single-line text to multiline textarea
  • Changed default persona from assistant to carlin
  • Removed 16 legacy personas without career-path suffix
  • Bumped version to v0.1.17

v0.1.16 — 2026-06-16

  • Fixed resolvePersona() to reject unknown persona IDs (misspellings now return "Unknown persona" instead of saving)
  • Updated Shakespeare persona to William Shakespeare himself with iambic pentameter
  • Removed /ai model commands (model selection is admin-only via System Console)
  • Removed persona description truncation in list output

v0.1.15 — 2026-06-16

  • Updated Shakespeare persona description

v0.1.14 — 2026-06-16

  • Removed model switching commands from help text and handler

v0.1.13 — 2026-06-16

  • Removed /resetmatty slash command (redundant with /ai new)
  • Wrapped persona list output in code block for proper Mattermost formatting

v0.1.12 — 2026-06-16

  • Rewrote help text with grouped sections (Chat, Personas, Other)
  • Updated title to "Matty -- forkless' annoying sidekick"

v0.1.11 — 2026-06-16

  • Fixed persona override bug — KV override value is now resolved through resolvePersona() before being used as the system prompt

v0.1.10 — 2026-06-16

  • Added /ai persona <name> command to switch personas (persisted to KV store)
  • Added /ai persona to show current active persona
  • Added /ai persona list to list all personas with descriptions
  • Added Debug Logging toggle (bool setting in System Console)
  • Wrapped all LogInfo calls with DebugLogging check
  • Added Ollama API call body logging (model, URL, full JSON payload)
  • Context trimming: Brevity now limits how much conversation history is sent
  • Token auto-calculation: Brevity auto-calculates num_predict for Ollama

v0.1.9 — 2026-06-16

  • Updated Trump persona with vocabulary of a 12 year old

v0.1.8 — 2026-06-16

  • Added context trimming based on Brevity setting (fewer sentences = less history)
  • Adjusted token auto-formula to 100 + brevity * 75

v0.1.7 — 2026-06-16

  • Added Ollama API call logging (model, URL, full request body)
  • Fixed OllamaClient to accept log function from plugin API
  • Updated infomercial persona to remove conflicting "BUT WAIT THERE'S MORE"
  • Added "Config loaded" error logging on configuration failures

v0.1.6 — 2026-06-16

  • Stable persona IDs (short IDs like "trump", "carlin" — never change)
  • resolvePersona() map in server/persona.go
  • Full config logging per Chat request (13 fields)
  • General instructions added to all personas

v0.1.5 — 2026-06-16

  • Adjusted Brevity auto-token curve
  • Added "only respond to latest message" instruction to system prompt

v0.1.4 — 2026-06-16

  • Brevity now more tightly enforced
  • Added penalty fields (repeat_penalty, frequency_penalty) as ints divided by 10

v0.1.3 — 2026-06-16

  • Added EngagementEngine (Sleep/Active states, 5-min timeout)
  • Added Persona dropdown with 18 personas + Custom Persona override
  • Added Model dropdown with 6 models from the user's Ollama server
  • Added Brevity dropdown (1, 2, 3, 5, 10, unlimited)
  • Added Repeat Penalty and Frequency Penalty number fields
  • Added /resetmatty slash command to clear context
  • Bot renamed to @matty (was @matterless)
  • Bot posts directly to channel (no thread replies)
  • Debug logging added (LogInfo for chat requests)
  • "Asleep" message when Ollama is unreachable

v0.1.2 — 2026-06-16

  • Fixed Brevity field type (string → int and back to string for dropdown compat)

v0.1.1 — 2026-06-16

  • Fixed config loading by changing RepeatPenalty/FrequencyPenalty from float64 to int
  • Added error logging to OnConfigurationChange()
  • Config loaded log now shows all settings on save

v0.1.0 — 2026-06-16

  • Project scaffolded: DESIGN.md, PROJECT.md, CHANGES.md, DECISIONS.md, README.md, .gitignore, Makefile
  • Plugin skeleton: main.go, plugin.go, configuration.go, command.go
  • Go module initialised with Mattermost SDK dependency
  • Ollama client with ChatCompletion and streaming
  • Conversation store with KV-backed context
  • Rate limiter with configurable requests/minute
  • Working @-mention detection via MessageHasBeenPosted
  • Slash command handler for /ai
  • Bot account auto-creation via API.CreateBot()
  • Stop word matching for natural disengagement
  • Streaming Ollama responses into channel posts
  • dev/docker-compose.yml with Mattermost 11.6.1 + PostgreSQL 16
  • DESIGN.md with @-mention interaction model
  • go-standards skill created in skill tree