Files

141 lines
5.2 KiB
Markdown

# 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