Skip to content

Commit 7162805

Browse files
authored
Merge pull request #26 from CookSleep/docs/model-tool-reply-field-20260405
更新 character 工具调用回复配置文档
2 parents a4043d6 + 47fa378 commit 7162805

2 files changed

Lines changed: 18 additions & 10 deletions

File tree

docs/development/connect-to-core-services/model-tool.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ plugin.registerTool('web_search', {
217217

218218
[chatluna-character](../../ecosystem/other/character.md) 伪装插件支持一种实验性的「工具调用回复」模式。在该模式下,模型不再通过 XML 块输出回复内容,而是通过调用一个名为 `character_reply` 的工具来完成状态更新、消息发送、触发条件设置等操作。
219219

220+
`character_reply` 的内置字段会受到当前会话配置影响。例如,关闭 `toolCallReplyThinkTag``toolCallReplyStatusTag``toolCallReplyNextReply``toolCallReplyWakeUpReply` 后,对应字段将不会出现在工具参数中,对应标签或触发器也不会再被渲染和处理。
221+
220222
外部插件可以通过 `ctx.chatluna_character.registerReplyToolField()` 方法,向 `character_reply` 工具注册额外的自定义参数字段。
221223

222224
> [!TIP] 最佳实践

docs/ecosystem/other/character.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@
3131

3232
**标准预设**`default.yml`)要求模型以 XML 文本块输出状态更新、思考过程、操作和消息内容。插件解析模型的纯文本输出来提取各部分。
3333

34-
**工具调用预设**`default-tool-call.yml`)让模型通过调用 `character_reply` 工具来完成回复、消息相关操作等,而非 XML 文本。由于工具的参数说明中已经涵盖了各种等价于输出格式说明的内容,工具调用预设中无需像标准预设那样自行补充/修改它们。并且,相关描述会伴随工具的开关、可用性动态增减,无需手动维护。
34+
**工具调用预设**`default-tool-call.yml`)让模型通过工具调用完成状态更新、回复消息等原本依赖 XML 块的操作。由于回复工具的参数说明中已经涵盖了各种等价于输出格式的内容,所以在工具调用预设中,你无需再像标准预设那样自行补充/修改各种输出格式。并且,相关参数说明文本会伴随工具的开关、可用性动态增减,无需手动维护。
35+
36+
> [!TIP] 提示
37+
> 使用“工具调用回复”功能时,请尽可能使用模型官方(推荐的)API 格式(如:Gemini 使用 Gemini 适配器,Claude 及其他支持 Anthropic API 的模型使用 Claude 适配器),否则可能遇到无法正常完成回复的问题(尤其是 Minimax 等模型)。
3538
3639
::: details default.yml(标准预设)
3740
<<< ../../public/resources/character_preset.yml
@@ -232,15 +235,6 @@ input 会把最近群聊的聊天记录和状态等信息作为格式化输入
232235

233236
应用到的群组 ID 列表。
234237

235-
#### experimentalToolCallReply
236-
237-
* 类型: `boolean`
238-
* 默认值: `false`
239-
240-
是否启用实验性"工具调用回复"功能。开启后,模型将通过调用 `character_reply` 工具来完成状态更新、回复消息等原本依赖 XML 块的操作。
241-
242-
需同时开启所有会话配置中的 `toolCalling`,否则插件会报错。建议搭配工具调用预设(`CHARACTER(工具调用)`)使用。
243-
244238
#### disableChatLuna
245239

246240
* 类型: `boolean`
@@ -327,6 +321,11 @@ input 会把最近群聊的聊天记录和状态等信息作为格式化输入
327321
* `statusPersistence`:是否将状态变量持久化到数据库,默认 `true`
328322
* `historyPull`:是否在缺失历史消息时自动拉取历史消息,默认 `true`
329323
* `toolCalling`:是否启用工具调用功能,默认 `true`
324+
* `experimentalToolCallReply`:是否启用实验性“工具调用回复”,默认 `false`
325+
* `toolCallReplyThinkTag`:是否在工具调用回复中启用 `think` 字段并渲染 `<think>` 标签,默认 `true`
326+
* `toolCallReplyStatusTag`:是否在工具调用回复中启用 `status` 字段并渲染 `<status>` 标签,默认 `true`
327+
* `toolCallReplyNextReply`:是否在工具调用回复中启用 `next_reply` 字段,默认 `true`
328+
* `toolCallReplyWakeUpReply`:是否在工具调用回复中启用 `wake_up_reply` 字段,默认 `true`
330329
* `image`:是否允许输入图片,默认 `false`
331330
* `imageInputMaxCount`:最大输入图片数量,默认 `9`,范围 `1-15`
332331
* `imageInputMaxSize`:最大输入图片大小(MB),默认 `20`,范围 `1-100`
@@ -341,6 +340,8 @@ input 会把最近群聊的聊天记录和状态等信息作为格式化输入
341340
* `largeTextTypingTime`:大文本消息每个字的输入时长(毫秒),默认 `10`,范围 `10-1500`
342341
* `muteTime`:关键词触发闭嘴时的沉默时长(秒),默认 `60`
343342

343+
其中,`experimentalToolCallReply` 依赖同一条会话配置中的 `toolCalling`
344+
344345
### 全局群聊配置
345346

346347
`globalGroupConfig` 用于定义所有群聊默认配置,分群配置会在此基础上覆盖。
@@ -439,6 +440,11 @@ input 会把最近群聊的聊天记录和状态等信息作为格式化输入
439440
* `statusPersistence`
440441
* `historyPull`
441442
* `toolCalling`
443+
* `experimentalToolCallReply`
444+
* `toolCallReplyThinkTag`
445+
* `toolCallReplyStatusTag`
446+
* `toolCallReplyNextReply`
447+
* `toolCallReplyWakeUpReply`
442448
* `image`
443449
* `imageInputMaxCount`
444450
* `imageInputMaxSize`

0 commit comments

Comments
 (0)