141 lines
5.2 KiB
Markdown
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
|