Go to file
Sam e255c7a8f0
FEATURE: automation triage using personas (#1126)
## LLM Persona Triage
- Allows automated responses to posts using AI personas
- Configurable to respond as regular posts or whispers
- Adds context-aware formatting for topics and private messages
- Provides special handling for topic metadata (title, category, tags)

## LLM Tool Triage
- Enables custom AI tools to process and respond to posts
- Tools can analyze post content and invoke personas when needed
- Zero-parameter tools can be used for automated workflows
- Not enabled in production yet

## Implementation Details
- Added new scriptable registration in discourse_automation/ directory
- Created core implementation in lib/automation/ modules
- Enhanced PromptMessagesBuilder with topic-style formatting
- Added helper methods for persona and tool selection in UI
- Extended AI Bot functionality to support whisper responses
- Added rate limiting to prevent abuse

## Other Changes
- Added comprehensive test coverage for both automation types
- Enhanced tool runner with LLM integration capabilities
- Improved error handling and logging

This feature allows forum admins to configure AI personas to automatically respond to posts based on custom criteria and leverage AI tools for more complex triage workflows.

Tool Triage has been disabled in production while we finalize details of new scripting capabilities.
2025-03-06 09:41:09 +11:00
.github/workflows Initial commit 2023-02-17 11:33:47 -03:00
admin/assets/javascripts/discourse FEATURE: PDF support for rag pipeline (#1118) 2025-02-14 12:15:07 +11:00
app DEV: Updates to sentiment analysis reports (#1161) 2025-03-05 13:53:56 -08:00
assets DEV: Updates to sentiment analysis reports (#1161) 2025-03-05 13:53:56 -08:00
config FEATURE: automation triage using personas (#1126) 2025-03-06 09:41:09 +11:00
db FEATURE: PDF support for rag pipeline (#1118) 2025-02-14 12:15:07 +11:00
discourse_automation FEATURE: automation triage using personas (#1126) 2025-03-06 09:41:09 +11:00
evals Dev: eval improvements (#1162) 2025-03-04 16:12:25 +11:00
lib FEATURE: automation triage using personas (#1126) 2025-03-06 09:41:09 +11:00
public/ai-share UX: improve artifact styling add direct share link (#930) 2024-11-20 13:13:03 +11:00
spec FEATURE: automation triage using personas (#1126) 2025-03-06 09:41:09 +11:00
svg-icons UX: minor adjustments to search bot (#1146) 2025-02-21 19:40:53 -05:00
test/javascripts FEATURE: PDF support for rag pipeline (#1118) 2025-02-14 12:15:07 +11:00
tokenizers FEATURE: Gemini Tokenizer (#1088) 2025-01-23 18:20:35 -03:00
.discourse-compatibility DEV: Pin version for Discourse <3.5.0.beta1-dev (#1114) 2025-02-05 19:57:52 +01:00
.gitignore DEV: Extract configs to a yml file and allow local config (#1142) 2025-02-24 16:22:19 +11:00
.npmrc DEV: Switch to use pnpm (#833) 2024-10-14 13:37:20 +02:00
.prettierignore FEATURE: UI to update ai personas on admin page (#290) 2023-11-21 16:56:43 +11:00
.prettierrc.cjs DEV: Update linting configs (#280) 2023-11-03 11:30:09 +00:00
.rubocop.yml DEV: Expose AI spam scanning metrics (#1077) 2025-01-27 11:57:01 +08:00
.streerc DEV: Update linting configs (#280) 2023-11-03 11:30:09 +00:00
.template-lintrc.cjs DEV: Update linting (#326) 2023-11-29 23:01:48 +01:00
Gemfile DEV: Update linting configs (#280) 2023-11-03 11:30:09 +00:00
Gemfile.lock Build(deps-dev): Bump rack from 3.1.6 to 3.1.10 (#1124) 2025-02-13 12:09:04 +11:00
LICENSE DEV: Update license (#1147) 2025-02-24 11:20:06 +08:00
README.md DEV: Extract configs to a yml file and allow local config (#1142) 2025-02-24 16:22:19 +11:00
about.json DEV: Expose AI spam scanning metrics (#1077) 2025-01-27 11:57:01 +08:00
eslint.config.mjs DEV: Update eslint config (#917) 2024-11-19 11:57:40 +01:00
package.json DEV: Bump dependencies and fix linting (#1115) 2025-02-06 17:42:32 +01:00
plugin.rb FEATURE: automation triage using personas (#1126) 2025-03-06 09:41:09 +11:00
pnpm-lock.yaml DEV: Bump dependencies and fix linting (#1115) 2025-02-06 17:42:32 +01:00
translator.yml UX: Display the indexing progress for RAG uploads (#557) 2024-04-09 11:03:07 -03:00

README.md

Discourse AI Plugin

Plugin Summary

For more information, please see: https://meta.discourse.org/t/discourse-ai/259214?u=falco

Evals

The directory evals contains AI evals for the Discourse AI plugin. You may create a local config by copying config/eval-llms.yml to config/eval-llms.local.yml and modifying the values.

To run them use:

cd evals ./run --help

Usage: evals/run [options]
    -e, --eval NAME                  Name of the evaluation to run
        --list-models                List models
    -m, --model NAME                 Model to evaluate (will eval all models if not specified)
    -l, --list                       List evals

To run evals you will need to configure API keys in your environment:

OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key GEMINI_API_KEY=your_gemini_api_key