mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-06-19 04:03:45 +08:00
Previously, Discord agent mode ran without an explicit agent user, so tool behavior could differ from the selected agent's configured identity. This change runs Discord agents as their associated user and validates that Discord agent mode has one before it can be enabled.
616 lines
16 KiB
YAML
Vendored
616 lines
16 KiB
YAML
Vendored
discourse_ai:
|
|
discourse_ai_enabled:
|
|
default: false
|
|
client: true
|
|
ai_artifact_security:
|
|
client: true
|
|
type: enum
|
|
default: "strict"
|
|
choices:
|
|
- "disabled"
|
|
- "lax"
|
|
- "hybrid"
|
|
- "strict"
|
|
ai_default_llm_model:
|
|
default: ""
|
|
type: enum
|
|
allow_any: false
|
|
enum: "DiscourseAi::Configuration::LlmEnumerator"
|
|
validator: "DiscourseAi::Configuration::LlmValidator"
|
|
|
|
ai_sentiment_enabled:
|
|
default: false
|
|
client: true
|
|
ai_sentiment_model_configs:
|
|
default: ""
|
|
secret: true
|
|
json_schema: DiscourseAi::Sentiment::SentimentSiteSettingJsonSchema
|
|
ai_sentiment_sentiment_classification_strategy:
|
|
default: "classification_model"
|
|
type: enum
|
|
choices:
|
|
- classification_model
|
|
- agent
|
|
ai_sentiment_sentiment_agent:
|
|
default: "-36"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
ai_sentiment_emotion_classification_strategy:
|
|
default: "classification_model"
|
|
type: enum
|
|
choices:
|
|
- classification_model
|
|
- agent
|
|
ai_sentiment_emotion_agent:
|
|
default: "-37"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
ai_sentiment_backfill_maximum_posts_per_hour:
|
|
default: 2500
|
|
min: 0
|
|
max: 10000
|
|
hidden: true
|
|
ai_sentiment_backfill_post_max_age_days:
|
|
default: 60
|
|
hidden: true
|
|
|
|
ai_openai_embeddings_url:
|
|
hidden: true
|
|
default: "https://api.openai.com/v1/embeddings"
|
|
ai_openai_organization:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_endpoint:
|
|
hidden: true
|
|
default: ""
|
|
ai_hugging_face_tei_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_api_key:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_reranker_endpoint:
|
|
default: ""
|
|
ai_hugging_face_tei_reranker_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_hugging_face_tei_reranker_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_google_custom_search_api_key:
|
|
default: ""
|
|
secret: true
|
|
ai_google_custom_search_cx:
|
|
default: ""
|
|
ai_cloudflare_workers_account_id:
|
|
default: ""
|
|
secret: true
|
|
hidden: true
|
|
ai_cloudflare_workers_api_token:
|
|
default: ""
|
|
secret: true
|
|
hidden: true
|
|
ai_gemini_api_key:
|
|
default: ""
|
|
hidden: true
|
|
ai_llm_temperature_top_p_enabled:
|
|
default: false
|
|
hidden: true
|
|
client: true
|
|
ai_strict_token_counting:
|
|
default: false
|
|
hidden: true
|
|
|
|
ai_helper_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
area: "ai-features/ai_helper"
|
|
composer_ai_helper_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|11" # 3: @staff, 11: @trust_level_1
|
|
allow_any: false
|
|
refresh: true
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_allowed_in_pm:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/ai_helper"
|
|
post_ai_helper_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|11" # 3: @staff, 11: @trust_level_1
|
|
allow_any: false
|
|
refresh: true
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_automatic_chat_thread_title:
|
|
default: false
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_automatic_chat_thread_title_delay:
|
|
default: 5
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_enabled_features:
|
|
client: true
|
|
default: "suggestions|context_menu"
|
|
type: list
|
|
list_type: compact
|
|
allow_any: false
|
|
refresh: true
|
|
choices:
|
|
- "suggestions"
|
|
- "context_menu"
|
|
- "image_caption"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_proofreader_agent:
|
|
default: "-22"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_title_suggestions_agent:
|
|
default: "-23"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_explain_agent:
|
|
default: "-24"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_post_illustrator_agent:
|
|
default: "-21"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_smart_dates_agent:
|
|
default: "-19"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_translator_agent:
|
|
default: "-25"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_markdown_tables_agent:
|
|
default: "-20"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_custom_prompt_agent:
|
|
default: "-18"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_image_caption_agent:
|
|
default: "-26"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
ai_helper_chat_thread_title_agent:
|
|
default: "-35"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/ai_helper"
|
|
|
|
ai_embeddings_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::EmbeddingsModuleValidator"
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_selected_model:
|
|
type: enum
|
|
default: ""
|
|
allow_any: false
|
|
enum: "DiscourseAi::Configuration::EmbeddingDefsEnumerator"
|
|
validator: "DiscourseAi::Configuration::EmbeddingDefsValidator"
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_backfill_model:
|
|
type: enum
|
|
default: ""
|
|
allow_any: false
|
|
enum: "DiscourseAi::Configuration::EmbeddingDefsEnumerator"
|
|
hidden: true
|
|
ai_embeddings_per_post_enabled:
|
|
default: false
|
|
hidden: true
|
|
ai_embeddings_generate_for_pms:
|
|
default: false
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_related_topics_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_related_topics:
|
|
default: 5
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_related_include_closed_topics:
|
|
default: true
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_related_age_penalty:
|
|
default: 0.0
|
|
type: float
|
|
min: 0.0
|
|
max: 2.0
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_related_age_time_scale:
|
|
default: 365
|
|
type: integer
|
|
min: 1
|
|
max: 3650
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_backfill_batch_size:
|
|
default: 250
|
|
hidden: true
|
|
ai_embeddings_semantic_search_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_search_use_hyde:
|
|
default: false
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_quick_search_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/embeddings"
|
|
ai_embeddings_semantic_search_hyde_agent:
|
|
default: "-32"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/embeddings"
|
|
|
|
ai_embeddings_discourse_service_api_endpoint:
|
|
default: ""
|
|
hidden: true
|
|
ai_embeddings_discourse_service_api_endpoint_srv:
|
|
default: ""
|
|
hidden: true
|
|
ai_embeddings_discourse_service_api_key:
|
|
hidden: true
|
|
default: ""
|
|
secret: true
|
|
ai_embeddings_model:
|
|
hidden: true
|
|
type: enum
|
|
default: "bge-large-en"
|
|
allow_any: false
|
|
choices:
|
|
- all-mpnet-base-v2
|
|
- text-embedding-ada-002
|
|
- text-embedding-3-small
|
|
- text-embedding-3-large
|
|
- multilingual-e5-large
|
|
- bge-large-en
|
|
- gemini
|
|
- bge-m3
|
|
ai_embeddings_pg_connection_string:
|
|
default: ""
|
|
hidden: true
|
|
|
|
ai_admin_dashboard_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
area: "ai-features/admin_dashboard"
|
|
ai_admin_dashboard_highlights_agent:
|
|
default: "-38"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/admin_dashboard"
|
|
ai_summarization_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
area: "ai-features/summarization"
|
|
ai_summarization_agent:
|
|
default: "-11"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/summarization"
|
|
ai_pm_summarization_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: ""
|
|
area: "ai-features/summarization"
|
|
ai_summary_gists_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/summarization"
|
|
ai_summary_gists_agent:
|
|
default: "-12"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/summarization"
|
|
ai_summary_backfill_topic_max_age_days:
|
|
default: 30
|
|
min: 1
|
|
max: 10000
|
|
area: "ai-features/summarization"
|
|
ai_summary_backfill_maximum_topics_per_hour:
|
|
default: 0
|
|
min: 0
|
|
max: 10000
|
|
area: "ai-features/summarization"
|
|
ai_summary_backfill_minimum_word_count:
|
|
default: 200
|
|
area: "ai-features/summarization"
|
|
|
|
ai_bot_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/bot"
|
|
enable_ai_bot_starred_conversations:
|
|
default: false
|
|
hidden: true
|
|
client: true
|
|
upcoming_change:
|
|
status: "alpha"
|
|
impact: "feature,all_members"
|
|
learn_more_url: "https://meta.discourse.org/t/-/403285"
|
|
ai_bot_enabled_llms:
|
|
default: ""
|
|
client: true
|
|
type: list
|
|
list_type: compact
|
|
allow_any: false
|
|
enum: "DiscourseAi::Configuration::LlmEnumerator"
|
|
refresh: true
|
|
area: "ai-features/bot"
|
|
ai_bot_enable_chat_warning:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/bot"
|
|
ai_bot_debugging_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: ""
|
|
allow_any: false
|
|
area: "ai-features/bot"
|
|
ai_bot_allowed_groups:
|
|
type: group_list
|
|
list_type: compact
|
|
default: "3|14" # 3: @staff, 14: @trust_level_4
|
|
area: "ai-features/bot"
|
|
ai_bot_public_sharing_allowed_groups:
|
|
client: false
|
|
type: group_list
|
|
list_type: compact
|
|
default: "1|2" # 1: admins, 2: moderators
|
|
allow_any: false
|
|
refresh: true
|
|
area: "ai-features/bot"
|
|
ai_bot_add_to_header:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/bot"
|
|
ai_bot_add_to_community_section:
|
|
default: true
|
|
client: true
|
|
area: "ai-features/bot"
|
|
ai_bot_github_access_token:
|
|
default: ""
|
|
secret: true
|
|
area: "ai-features/bot"
|
|
ai_bot_enable_docked_composer:
|
|
default: false
|
|
hidden: true
|
|
client: true
|
|
area: "ai-features/bot"
|
|
upcoming_change:
|
|
status: "alpha"
|
|
impact: "feature,all_members"
|
|
learn_more_url: "https://meta.discourse.org/t/-/403327"
|
|
ai_discover_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/search"
|
|
ai_discover_agent:
|
|
default: "-34"
|
|
type: enum
|
|
client: true
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/search"
|
|
ai_automation_max_triage_per_minute:
|
|
default: 60
|
|
hidden: true
|
|
ai_automation_max_triage_per_post_per_minute:
|
|
default: 2
|
|
hidden: true
|
|
ai_discord_search_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::DiscordSearchAgentValidator"
|
|
area: "ai-features/discord"
|
|
ai_discord_app_id:
|
|
default: ""
|
|
client: false
|
|
area: "ai-features/discord"
|
|
ai_discord_app_public_key:
|
|
default: ""
|
|
client: false
|
|
area: "ai-features/discord"
|
|
ai_discord_search_mode:
|
|
default: "search"
|
|
type: enum
|
|
choices:
|
|
- search
|
|
- agent
|
|
validator: "DiscourseAi::Configuration::DiscordSearchAgentValidator"
|
|
area: "ai-features/discord"
|
|
ai_discord_search_agent:
|
|
default: ""
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
validator: "DiscourseAi::Configuration::DiscordSearchAgentValidator"
|
|
area: "ai-features/discord"
|
|
ai_discord_allowed_guilds:
|
|
type: list
|
|
list_type: compact
|
|
default: ""
|
|
area: "ai-features/discord"
|
|
|
|
ai_spam_detection_enabled:
|
|
default: false
|
|
validator: "DiscourseAi::Configuration::SpamDetectionValidator"
|
|
ai_spam_detection_user_id:
|
|
default: ""
|
|
hidden: true
|
|
ai_spam_detection_max_post_count:
|
|
default: 3
|
|
min: 1
|
|
max: 100
|
|
ai_spam_detection_max_trust_level:
|
|
default: 1
|
|
type: enum
|
|
choices:
|
|
- 0
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
ai_rag_images_enabled:
|
|
default: false
|
|
hidden: true
|
|
|
|
ai_translation_enabled:
|
|
default: false
|
|
client: true
|
|
validator: "DiscourseAi::Configuration::LlmDependencyValidator"
|
|
area: "ai-features/translation"
|
|
ai_translation_locale_detector_agent:
|
|
default: "-27"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/translation"
|
|
ai_translation_post_raw_translator_agent:
|
|
default: "-28"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/translation"
|
|
ai_translation_topic_title_translator_agent:
|
|
default: "-29"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/translation"
|
|
ai_translation_short_text_translator_agent:
|
|
default: "-30"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/translation"
|
|
ai_translation_backfill_hourly_rate:
|
|
default: 50
|
|
min: 0
|
|
max: 100000
|
|
client: false
|
|
area: "ai-features/translation"
|
|
ai_translation_excluded_categories:
|
|
type: category_list
|
|
default: ""
|
|
client: false
|
|
area: "ai-features/translation"
|
|
ai_translation_personal_messages:
|
|
type: enum
|
|
default: "none"
|
|
choices:
|
|
- "none"
|
|
- "group"
|
|
- "all"
|
|
client: false
|
|
area: "ai-features/translation"
|
|
ai_translation_include_bot_content:
|
|
default: false
|
|
client: false
|
|
area: "ai-features/translation"
|
|
ai_translation_max_post_length:
|
|
default: 10000
|
|
client: false
|
|
area: "ai-features/translation"
|
|
ai_translation_backfill_max_age_days:
|
|
default: 5
|
|
min: 0
|
|
max: 20000
|
|
client: false
|
|
area: "ai-features/translation"
|
|
|
|
ai_translation_backfill_parallel_jobs:
|
|
default: 1
|
|
min: 1
|
|
max: 10
|
|
hidden: true
|
|
area: "ai-features/translation"
|
|
|
|
ai_translation_verbose_logs:
|
|
default: false
|
|
client: false
|
|
hidden: true
|
|
area: "ai-features/translation"
|
|
|
|
inferred_concepts_enabled:
|
|
default: false
|
|
client: true
|
|
area: "ai-features/inference"
|
|
inferred_concepts_background_match:
|
|
default: false
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_daily_topics_limit:
|
|
default: 20
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_min_posts:
|
|
default: 5
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_min_likes:
|
|
default: 10
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_min_views:
|
|
default: 100
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_lookback_days:
|
|
default: 30
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_daily_posts_limit:
|
|
default: 30
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_post_min_likes:
|
|
default: 5
|
|
client: false
|
|
area: "ai-features/inference"
|
|
inferred_concepts_generate_agent:
|
|
default: "-15"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/inference"
|
|
inferred_concepts_match_agent:
|
|
default: "-16"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/inference"
|
|
inferred_concepts_deduplicate_agent:
|
|
default: "-17"
|
|
type: enum
|
|
enum: "DiscourseAi::Configuration::AgentEnumerator"
|
|
area: "ai-features/inference"
|
|
ai_artifact_kv_value_max_length:
|
|
default: 5000
|
|
hidden: true
|
|
ai_artifact_max_keys_per_user_per_artifact:
|
|
default: 100
|
|
hidden: true
|
|
|
|
ai_usage_rollup_after_days:
|
|
default: 7
|
|
min: 0
|
|
client: false
|
|
hidden: true
|
|
|
|
ai_audit_logs_purge_after_days:
|
|
default: 180
|
|
min: 0
|
|
client: false
|