MooChat icon

MooChat

Maintained by Brian Pool
Add AI-powered chatbots to your course sidebars. Create custom AI assistants with unique personalities, avatars, and rate limiting. Works seamlessly with Moodle's core AI subsystem - no external services required.
Price option: Free

Supports Moodle 4.5-5.1 See all versions
Latest release: 5 months ago
Installations: 57
Downloads (last 90 days): 40

Frankenstyle name: block_moochat
Blocks

Comments

Comments are no longer open for new posts. Existing comments remain available to read.

Oh, mine does not include the student information. However, I do access the grade level in AICheck (local plugin) to try to give grade-specific feedback. I would look at modifying the Moochat mod. It is larger (physically) and can be either in the center of the course (like a label) or linked (like an assignment.)
I apologize for not seeing this earlier. My Moochat MOD does exactly what you are suggesting. It is a full mod and allows you to include all the section content in the AI. I use it specifically as a tutor. It only embeds the section because including more would result in a huge amount of data being passed to the AI. It is selectable whether the Moodle section content is included. Take a look at the Mod by the same name as the block.
Hello Brian,
I’m currently using MooChat on Moodle 4.5 for an institutional LMS, and first of all, thank you for a clean and well-structured plugin.
I’m exploring a custom extension where the chatbot acts as an AI tutor, with access to student context (name, custom profile fields like major), course info, and grade summary, injected into the system prompt.
Before going further, I wanted to ask a few architectural questions:
1- Is classes/local/send_message.php the intended place to enrich the prompt with additional context (student/course data)?
2- Are there any Moodle-side limitations or best practices you recommend when passing contextual data into core_ai\aiactions\generate_text?
3- From your perspective, is MooChat better forked for this use case, or extended directly?
I’m not asking for custom development, just validation that this approach aligns with how you intended the plugin to be extended.
Thanks again for your work any guidance would be appreciated.
This was implemented with a locally hosted Ollama server.
Approval issue created: CONTRIB-10160