-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.jsonc
More file actions
180 lines (159 loc) · 6.44 KB
/
Copy pathconfig.example.jsonc
File metadata and controls
180 lines (159 loc) · 6.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
{
// Global configuration shared across all bot instances.
"global": {
// Task queue settings for managing concurrent task execution.
"taskQueue": {
// The number of times to retry a failed task.
// Required: Optional
// Default: 10
// Type: Integer
"numAttempts": 10,
// The delay in milliseconds between task retry attempts.
// Required: Optional
// Default: 1000
// Type: Integer
"retryDelayMs": 1000,
// Determines if tasks can execute concurrently or must run one at a time.
// If your system can handle executing both large language models (Ollama)
// *and* media generation (ComfyUI) at the same time, set this to "parallel".
// Systems on separate hosts will execute in parallel always.
// Required: Optional
// Default: "serial"
// Values: "serial" | "parallel"
"strategy": "serial",
// If true, even if systems are on separate hosts, Musebot will force tasks
// to execute in a serial manner across all hosts.
// Required: Optional
// Default: false
// Type: Boolean
"forceSerialAcrossHosts": false
}
},
// Per-bot configuration. Each object in the array defines a separate bot instance.
"bots": [
{
// A unique identifier for this bot instance. Used for logging and workflow paths.
// Required: Required
// Type: String
"botId": "bot-1",
// The current Node environment.
// Required: Required
// Values: "production" | "development"
"nodeEnvironment": "production",
// Musebot primary functionality — determines the bot's main mode of operation.
// "chat" — for large language model integration (Ollama)
// "media" — for audio/images/video/etc. generation (ComfyUI)
// Required: Required
// Values: "chat" | "media"
"mode": "chat",
// Whether the bot requires users to @mention it to reply.
// Required: Optional
// Default: true
// Type: Boolean
"requiresMention": true,
// If requiresMention is false, what percentage of the time should it respond?
// Affects public responses only.
// Required: Optional
// Default: 100
// Values: 1-100
// Type: Integer
"responseRate": 100,
// A custom error message to display when a render fails.
// Required: Optional
// Default: "An error occurred while processing your request. Please try again later."
// Type: String
"errorMessage": "An error occurred while processing your request. Please try again later.",
// Discord configuration. Token and channel settings for the bot's Discord connection.
"chatApis": {
"discord": {
// The Discord App Token used to authenticate as the bot created in the
// Discord developer portal.
// Required: Required
// Type: String
"token": "YOUR_DISCORD_BOT_TOKEN_HERE",
// The Discord channel IDs the bot is allowed to reply in.
// If left empty, all channels will be allowed.
// Required: Optional
// Type: Array of string (channel IDs)
"channels": [
"YOUR_CHANNEL_ID_1",
"YOUR_CHANNEL_ID_2"
],
// The Discord channel IDs the bot is not allowed to reply in.
// If the bot is simultaneously allowed and disallowed in a channel,
// the disallowed rule takes precedence.
// Required: Optional
// Type: Array of string (channel IDs)
"channelsDisallowed": [],
// Which users, if any, are allowed to message the bot privately.
// Ensure this is the username, not the display name. Case-sensitive.
// Required: Optional
// Type: Array of string (usernames)
"privateMessageUsers": [
"USER_ID_1",
"USER_ID_2"
]
}
},
// ComfyUI configuration for media generation. Required when mode is "media".
"comfyUi": {
// The base URL(s) of the ComfyUI instance(s). Can be a list for multiple hosts.
// Required: Required when mode="media"
// Type: Array of string (URLs)
"hosts": [
"http://localhost:8188"
]
},
// Ollama configuration for large language model chat. Required when mode is "chat".
"ollama": {
// The base URL(s) of the Ollama instance(s). Can be a list for multiple hosts.
// Required: Required when mode="chat"
// Type: Array of string (URLs)
"hosts": [
"http://localhost:11434"
],
// The name(s) of the large language model(s) to use. Can be a list for multiple models.
// Required: Required when mode="chat"
// Type: Array of string (model names)
"models": [
"llama2",
"mistral"
],
// The system prompt used to give the LLM context or a custom persona.
// Musebot also pulls the current channel topic as part of its system prompt.
// Required: Optional
// Type: String
"systemPrompt": "You are a helpful assistant.",
// Whether Musebot can stream the Ollama response or not.
// This determines if the response shows up all at once at the end or in
// batches of tokens, making it seem like Musebot is typing in real time.
// Note: This is experimental and may not be stable.
// Required: Optional
// Default: false
// Type: Boolean
"streamsResponse": false
},
// ComfyUI advanced settings. Optional overrides.
"comfyUiGuidanceScaleInterval": 0.5,
// Multi-modal settings for cross-capable features.
"multiModal": {
// Random prompts used for the randomize button when both ComfyUI
// and Ollama APIs are available. One will be chosen at random.
// Required: Optional
// Default: ["Describe something or someone with extraordinary detail."]
// Type: Array of string
"randomPrompts": [
"Describe something or someone with extraordinary detail."
]
},
// Per-bot task queue overrides. If provided, these take priority over
// the global taskQueue settings.
"taskQueue": {
"numAttempts": 10,
"retryDelayMs": 1000,
"strategy": "serial",
"forceSerialAcrossHosts": false
}
}
]
}