The ai_assistant plugin provides OpenRouter-backed chat, voice synthesis (TTS), voice input (STT), emotion tracking, karma, and memory. It requires an OpenRouter API key configured in the [ai_assistant] section of config.toml.
| Command |
Description |
Roles |
Aliases |
Flags |
chat <message> |
Send a message to the AI assistant |
user |
ask |
--quiet, -q |
chatreset |
Clear your conversation history |
user |
— |
— |
speak |
Voice input: talk to the AI |
user |
— |
--quiet, -q |
speakcancel |
Cancel in-progress voice capture |
user |
— |
— |
chathistory [global] |
Show conversation history |
user |
— |
— |
chatnotes |
Show long-term memory notes |
user |
chatmemory, chatstore |
— |
chatforget |
Delete all your long-term notes |
user |
— |
— |
| Command |
Description |
Roles |
Aliases |
Flags |
chatkarma +1/-1/0 [note] |
Rate the last AI response |
user |
karma |
— |
chatkarmastats [global] |
Show karma statistics |
user |
— |
— |
chatemotion |
Show current mood state |
user |
emotion |
— |
chatemotionreset |
Reset all emotion to neutral |
admin |
— |
— |
feed <item> |
Feed the bot an item (AI judges it) |
user |
cookie, givecookie |
— |
| Command |
Description |
Roles |
Aliases |
Flags |
chatvoice |
Toggle TTS voice output on/off |
admin |
— |
— |
chatmodel [model_id] |
Show or set the chat model |
admin |
— |
— |
chatvoicemodel [model_id] |
Show or set the TTS model |
admin |
— |
— |
chatvoiceactor [voice_id] |
Show or set the TTS voice |
admin |
— |
— |
chatspeechprefix [prefix|clear] |
Set or clear the speech input prefix |
admin |
— |
— |
chattranscribemodel [model_id] |
Show or set the STT model |
admin |
— |
— |
chattranscribelanguage [lang|auto] |
Set or clear the transcription language |
admin |
— |
— |
| Command |
Description |
Roles |
Aliases |
Flags |
chatpersona [name|path|clear] |
Switch the AI personality |
admin |
persona |
— |
chatvoiceprofile [name|path|clear] |
Switch the TTS voice profile |
admin |
voiceprofile |
— |
chatcontext |
Dump the full prompt context for debugging |
admin |
context |
— |
- Quiet mode: The
--quiet / -q flag on chat and speak suppresses the bot’s text response, useful when you only want the voice output.
- Conversation history: Each user has their own conversation context.
chatreset clears only the caller’s history. chathistory with global shows history across all users.
- Long-term memory:
chatnotes retrieves persistent notes the AI has saved about a user. chatforget permanently deletes them.
- Karma: Users rate AI responses with
+1 (good), 0 (neutral), or -1 (bad), with an optional note. chatkarmastats shows aggregate ratings; add global to see stats across all users.
- Emotion: The AI tracks a mood state that evolves based on interactions and karma.
chatemotionreset returns it to neutral.
- Feed: The
feed command sends an item description to the AI, which humorously judges whether the bot “liked” it.
- Voice:
chatvoice toggles whether the bot speaks its responses aloud via TTS. Voice models, actors, and profiles can be changed at runtime.
- Personas:
chatpersona switches the AI’s personality. Accepts a built-in name, a file path to a custom system prompt, or clear to revert to default.
- Roles: Chat commands are available to all non-blacklisted users. Configuration and admin commands require the
admin role.