配置项
本节介绍了主插件 (chatluna
) 可用的配置项。对于其他插件的配置项,请前往 生态 参考对应的文档。
Bot 配置
botNames
- 类型:
string[]
- 默认值:
[香草]
Bot 的昵称,该昵称可用于下方的 关键词唤醒 对话。
如果设置了多个昵称,只有第一个昵称会作为 bot 的名称。其他关键词仅用于触发会话。
isNickName
- 类型:
boolean
- 默认值:
false
是否可从昵称唤醒对话。当开启后,如发出的消息开头含有 botNames 属性,将自动触发对话。
isNickNameWithContent
- 类型:
boolean
- 默认值:
false
是否允许在对话内容里任意匹配 bot 配置中的昵称来触发对话。
开启后,当消息内容里包含 bot 昵称,将自动触发对话。
对话行为选项
allowPrivate
- 类型:
boolean
- 默认值:
true
是否能在私聊中调用 ChatLuna,开启后将可以在私聊中通过命令调用 ChatLuna。
allowAtReply
- 类型:
boolean
- 默认值:
true
当 @Bot 时是否响应回复,开启后将会在 @Bot 时触发回复。
isReplyWithAt
- 类型:
boolean
- 默认值:
false
Bot 回复时是否引用原消息回复。开启后 Bot 的回复都会引用原触发消息。
isForwardMsg
- 类型:
boolean
- 默认值:
false
是否让消息以合并消息的形式发送。开启后,当 Bot 回复时,将会回复一个转发消息组。
forwardMsgMinLength
- 类型:
number
- 默认值:
0
当开启 isForwardMsg 选项时,当消息长度超过该值时,将消息以合并消息的形式发送。为 0 表示总是合并消息。
privateChatWithoutCommand
- 类型:
boolean
- 默认值:
false
是否能直接不调用任何命令在私聊里和 Bot 对话。
开启后,在私聊里的其他非命令调用都会被识别成和 Bot 对话,触发对话。
allowChatWithRoomName
- 类型:
boolean
- 默认值:
false
是否允许使用房间名前缀触发对话。注意:启用此选项可能会显著影响 ChatLuna 的性能,建议配合过滤器仅在特定群组中启用。
includeQuoteReply
- 类型:
boolean
- 默认值:
false
是否在回复内容中包含引用消息的内容。开启后,将会引用触发模型生成的消息。
randomReplyFrequency
- 类型:
number
- 默认值:
0.0
- 最大值:
1.0
随机回复频率。
插件会对每条消息,生成一个随机数,当该随机数小于该频率时,会触发随机回复。
对话响应选项
sendThinkingMessage
- 类型:
boolean
- 默认值:
true
当模型生成耗时过长时发送一条消息。
可用于提示用户模型正在生成回复,同时也能知道前方队列的排队情况。
sendThinkingMessageTimeout
- 类型:
number
- 默认值:
15000
- 单位:毫秒(ms)
当经过该时间后模型仍在生成文本时,基于sendThinkingMessage
选项的状态发送一条消息。
msgCooldown
- 类型:
number
- 默认值:
5
- 最小值:
1
- 最大值:
3600
- 单位:
秒(s)
全局冷却时间。 开启后,当响应一跳消息后,在此时间内,Bot 不会再响应任何消息。
messageQueue
- 类型:
boolean
- 默认值:
true
是否启用消息队列。 当发送了多条消息,并且模型未响应消息时,会将多条消息合并成一条消息,等待模型响应后再次发送。
messageQueueDelay
- 类型:
number
- 默认值:
0
消息队列的延迟时间,为 0 则不启用延迟。 开启延迟后,等待指定时间后才发送消息给模型。此期间存在未处理的消息时,会将消息缓存合并成一条消息,发送给模型。
showThoughtMessage
- 类型:
boolean
- 默认值:
false
在使用 Agent 模式时,是否显示模型调用工具的过程。 此选项同样作用于思考模型,当你接入的 API 返回了标准的 reasoning_content
字段时,会将其发送到群聊。
提示
对于思考模型,此选项不支持非标准的 <think></think>
标签。 ChatLuna 不会对非标准的 <think></think>
内思考消息进行适配。
消息渲染选项
outputMode
类型:
'raw'|'text'|'image'|'voice'|'mixed-image'|'mixed-voice'
插件会把模型生成的回复文本基于选中的输出格式进行渲染。下面是每个选项的介绍:
raw
:输出模型生成的原始文本。text
:将模型生成的文本渲染成 Koishi 支持的 Markdown 格式后发送image
:将模型生成的文本渲染成图片后发送(图片里为模型原文本)该选项需要你的 Koishi 在运行提供了 puppeteer 服务的插件。我们需要 puppeteer 渲染 html 文件。
voice
:将模型生成的文本转化成语音后发送(语音里为模型原文本)该选项需要你的 Koishi 在运行提供了 vits 服务的插件。我们需要 vits 服务将文本转化成语音文件。
mixed-image
: 基于 Markdown 语法识别,对于某些 Markdown 语法(如列表,代码块)会渲染图片,其他的某些 Markdown 语法(如纯文本的自然段)会直接作为文本发送。和
image
选项一样,该选项需要你的 Koishi 在运行提供了 puppeteer 服务的插件。mixed-voice
: 将模型生成的文本同时渲染成 Markdown 格式和语音后发送。和
voice
选项一样,该选项需要你的 Koishi 在运行提供了 vits 服务的插件。
默认值:
'text'
警告
如你开启了 流式传输,那么输出格式请选择默认的 text
。 否则可能出现意想不到的渲染结果。
splitMessage
- 类型:
boolean
- 默认值:
false
切割消息发送。
开启后会将模型生成的文本基于 Markdown 语法切割成多个文本块,发送成多条消息。 配合流式传输使用,可实现更优的体验。
提示
本选项开启后,outputMode 选项只推荐设置为 text
。 并且引用消息回复可能会无效。
censor
- 类型:
boolean
- 默认值:
false
文本审核。
开启后会对模型生成的文本进行文本审核,基于 Koishi 的 censor 服务。
streamResponse
- 类型:
boolean
- 默认值:
false
流式响应。开启后将使用流式响应,类似 ChatGPT 的打字机效果。对于不支持的平台,会自动进行分句多段发送。
黑名单选项
blackList
- 类型:
koishi 条件属性
- 默认值:``
黑名单列表。可以选择对群,用户或平台开启。只需在满足对于条件的分支上打开开关即可。
该列表为全局机制,进入该名单的用户或平台将无法使用 ChatLuna 的各项功能。(扩展插件除外)
历史记录选项
messageCount
- 类型:
number
- 默认值:
40
- 最小值:
10
- 最大值:
100
数据库里存储的单个对话的最大消息数量,超出后会自动删除最久远的历史聊天消息。
autoDelete
- 类型:
boolean
- 默认值:
false
开启后将自动删除久远未使用的历史消息。
autoDeleteTimeout
- 类型:
number
- 默认值:
30
- 单位: 秒(s)
设置自动删除久远未使用历史消息的时间。
模型选项
defaultEmbeddings
ChatLuna 默认使用的嵌入向量模型。
可用于长期记忆,知识库。
defaultVectorStore
ChatLuna 默认使用的向量数据库。
用于长期记忆,知识库。
模版房间选项
autoCreateRoomFromUser
- 类型:
boolean
- 默认值:
false
是否默认为每个用户隔离创建私有房间。 当开启后,每个用户将默认在和 Bot 聊天时自动创建一个私有房间。 此选项用于隔离用户之间的对话。
defaultChatMode
- 类型:
chat
|browsing
|plugin
... - 默认值:
chat
模版克隆房间里默认使用的聊天模式。
ChatLuna 扩展开放了聊天链接口,任何插件都可以编写自己的聊天模式相关链接入到 ChatLuna 中。
下面介绍 ChatLuna 内置的几个聊天模式:
- chat: 普通聊天模式,不支持工具调用,支持大部分扩展插件,没有联网权限。
- browsing: 浏览模式,不支持工具调用,可以通过与用户的聊天内容从网络上搜索信息。
- plugin: Agent 模式,支持工具调用,模型可以调用各种工具如网络搜索插件,可以自主获取网络上的消息,执行某些操作。
defaultModel
模版克隆房间里默认使用的模型。
如想接入模型,可以查看目录里的 模型平台。
defaultPreset
模版克隆房间里默认使用的预设。
如需了解预设,可查看 预设。
autoUpdateRoomMode
- 类型:
all
|manual
|disable
- 默认值:
manual
房间跟随模版克隆房间的更新模式。
- all: 所有房间都跟随模版克隆房间的更新。
- manual: 只有 ChatLuna 自动创建的房间跟随模版克隆房间的更新。
- disable: 所有房间都不跟随模版克隆房间的更新,且不会自动更新。
杂项
isProxy
- 类型:
boolean
- 默认值:
false
是否开启代理模式。
开启后所有 ChatLuna 相关的请求都会通过设置的代理服务器进行转发。
推荐所有国内用户开启该配置项配置代理。
voiceSpeakId
- 类型:
number
- 默认值:
0
设置 vits 服务默认使用的发音人。
isLog
- 类型:
boolean
- 默认值:
false
调试模式。
开启后将会输出更多的调试 log。
代理设置
proxyAddress
- 类型:
string
代理地址。需要附上端口信息。
目前支持 HTTP(s) / SOCKS5 代理。
请注意格式,填写好地址。如 http://127.0.0.1:7890
。