|
1 | 1 | # 聊天模式 |
2 | 2 |
|
3 | | -聊天模式是 ChatLuna 中一个非常重要的模块,每个房间都可以选择不同的聊天模式,不同的聊天模式下,可以使用不同的工具,Prompt 等,多样的聊天模式可以满足不同的聊天场景。 |
| 3 | +聊天模式决定了 ChatLuna 在一轮对话中的行为方式。不同的模式下,模型的能力范围不同。 |
4 | 4 |
|
5 | | -## 可用模式 |
| 5 | +目前 ChatLuna 支持以下几种聊天模式: |
6 | 6 |
|
7 | | -ChatLuna 中内置了以下几种聊天模式: |
| 7 | +- **chat**:基础聊天模式。适用于普通对话,同时支持预设中的常见能力,如世界书、作者注释和长期记忆。 |
| 8 | +- **agent**:工具调用模式。模型可以在对话中调用工具、拆分任务和执行操作。 |
| 9 | +- **browsing**:联网检索模式。模型会先从外部获取信息,再结合检索结果进行回答。适用于查询最新信息或处理网页相关的轻量任务。 |
8 | 10 |
|
9 | | -- **chat**: 默认,也是最基本的聊天模式,支持预设的全部功能(世界书,作者注释等),并且也支持长期记忆。 |
| 11 | +## 配置 |
10 | 12 |
|
11 | | -- **agent**: 基于 LangChain 的 Agent 提供的聊天模式。可以让模型调用多样化的工具,大幅扩展模型的能力。 |
| 13 | +### chat |
12 | 14 |
|
13 | | -不仅如此,ChatLuna 团队还维护以下聊天模式: |
| 15 | +`chat` 是主插件内置模式,无需额外安装。 |
14 | 16 |
|
15 | | -- **browsing**: 基于聊天模式增强的网页浏览模式,模型可以从外部获取最新信息。 |
| 17 | +### agent |
16 | 18 |
|
17 | | -下面我们介绍如何配置和使用这些聊天模式。 |
| 19 | +`agent` 也是主插件内置模式。 |
18 | 20 |
|
19 | | -## 配置 |
| 21 | +该模式本身只提供"允许模型调用工具"的能力,工具需要另行安装。 |
20 | 22 |
|
21 | | -### chat |
| 23 | +:::tip 提示 |
| 24 | +ChatLuna 主插件不内置可供 `agent` 模式使用的工具。 |
22 | 25 |
|
23 | | -chat,也就是最主要的聊天模式。ChatLuna 的主插件已经内置此模式,无需额外配置。 |
| 26 | +一般需要安装 [`chatluna-plugin-common`](../../ecosystem/introduction.md) 或 [`chatluna-mcp-client`](../../ecosystem/plugin/mcp-client.md) 等插件来提供工具支持。 |
| 27 | +::: |
24 | 28 |
|
25 | | -### agent |
| 29 | +### browsing |
26 | 30 |
|
27 | | -agent 模式也是 ChatLuna 主插件中内置的聊天模式。 |
| 31 | +`browsing` 是官方维护的聊天模式,但未打包进主插件。 |
28 | 32 |
|
29 | | -agent 模式让模型可以调用工具,并根据工具的返回结果,继续调用工具,直到完成任务。能实现复杂的任务。 |
| 33 | +需要额外安装 `chatluna-search-service` 才能使用。安装方式参见 [生态介绍](../../ecosystem/introduction.md)。 |
30 | 34 |
|
31 | | -> [!TIP] |
32 | | -> ChatLuna 主插件中没有内置可供 agent 聊天模式使用的工具。 |
33 | | -> |
34 | | -> 你需要安装 [`chatluna-plugin-common`](../../ecosystem/introduction.md) 或 [`chatluna-mcp-client`](../../ecosystem/plugin/mcp-client.md) 插件来为 agent 模式提供可用的工具。 |
| 35 | +## 修改聊天模式 |
35 | 36 |
|
36 | | -### browsing |
| 37 | +ChatLuna 提供了多种方式来修改聊天模式,适用于不同场景。 |
| 38 | + |
| 39 | +### 新建会话时指定 |
| 40 | + |
| 41 | +在创建会话时通过 `-c` 参数直接指定聊天模式: |
| 42 | + |
| 43 | +```powershell |
| 44 | +chatluna.new [title:text] -c <chatMode:string> |
| 45 | +``` |
| 46 | + |
| 47 | +<chat-panel> |
| 48 | + <chat-message nickname="User">chatluna.new 调试会话 -c plugin</chat-message> |
| 49 | + <chat-message nickname="Bot">已创建并切换到新会话 调试会话。</chat-message> |
| 50 | +</chat-panel> |
| 51 | + |
| 52 | +此操作只影响新建的会话,不会修改已有会话。 |
| 53 | + |
| 54 | +### 修改当前会话 |
| 55 | + |
| 56 | +在已有会话中切换聊天模式,使用 `chatluna.use.mode`: |
| 57 | + |
| 58 | +```powershell |
| 59 | +chatluna.use.mode <mode:string> -p <preset:string> |
| 60 | +``` |
| 61 | + |
| 62 | +| 参数 | 说明 | |
| 63 | +| --- | --- | |
| 64 | +| `mode` | 目标聊天模式 | |
| 65 | +| `-p` | 目标预设通道。仅在需要操作其他通道时指定 | |
| 66 | + |
| 67 | +<chat-panel> |
| 68 | + <chat-message nickname="User">chatluna.use.mode browsing</chat-message> |
| 69 | + <chat-message nickname="Bot">已将当前会话切换为 browsing 模式。</chat-message> |
| 70 | +</chat-panel> |
| 71 | + |
| 72 | +如果存在多条预设通道,也可以单独修改其中一条: |
| 73 | + |
| 74 | +```powershell |
| 75 | +chatluna.use.mode plugin -p translator |
| 76 | +``` |
| 77 | + |
| 78 | +### 修改当前作用域的默认模式 |
| 79 | + |
| 80 | +修改当前群聊或私聊作用域中,后续新建会话所使用的默认聊天模式,使用 `chatluna.rule.mode`: |
| 81 | + |
| 82 | +```powershell |
| 83 | +chatluna.rule.mode [mode:string] -f -c |
| 84 | +``` |
| 85 | + |
| 86 | +| 参数 | 说明 | |
| 87 | +| --- | --- | |
| 88 | +| `mode` | 要设置的默认聊天模式 | |
| 89 | +| `-f` | 与 `mode` 一起使用时,将该模式固定到当前作用域 | |
| 90 | +| `-c` | 清除当前作用域上的模式规则 | |
37 | 91 |
|
38 | | -浏览模式是官方维护的聊天模式,但由于体积原因,默认没有集成到 ChatLuna 主插件中。 |
| 92 | +<chat-panel> |
| 93 | + <chat-message nickname="User">chatluna.rule.mode browsing</chat-message> |
| 94 | + <chat-message nickname="Bot">已将当前作用域的新会话默认模式设置为 browsing。</chat-message> |
| 95 | +</chat-panel> |
39 | 96 |
|
40 | | -你需要额外安装 `chatluna-search-service`,才能使用此聊天模式。 |
| 97 | +如需将模式锁定,防止被修改: |
41 | 98 |
|
42 | | -阅读 [此文档](../../ecosystem/introduction.md) 了解如何安装和配置 `chatluna-search-service`。 |
| 99 | +```powershell |
| 100 | +chatluna.rule.mode plugin -f |
| 101 | +``` |
43 | 102 |
|
44 | | -## 使用 |
| 103 | +:::warning 注意 |
| 104 | +单独使用 `-f` 没有实际效果。`-f` 只有与具体模式一起传入时才会生效。 |
| 105 | +::: |
45 | 106 |
|
46 | | -使用聊天模式与预设类似,分为两种场景。 |
| 107 | +## 全局默认值 |
47 | 108 |
|
48 | | -### 普通房间 |
| 109 | +主插件配置中的 [`defaultChatMode`](../useful-configurations.md#defaultchatmode) 是全局层面的默认值: |
49 | 110 |
|
50 | | -使用 [`chatluna.room.set -c <chatmode>`](../useful-commands.md#设置房间) 命令,对当前你所在的房间切换为你想要使用的聊天模式即可。 |
| 111 | +- 当当前作用域没有额外规则时,新会话会使用该值 |
| 112 | +- 不会覆盖已有会话的设置 |
| 113 | +- 不会替代 `chatluna.rule.mode` 设置的规则 |
51 | 114 |
|
52 | | -### 模版克隆房间 |
| 115 | +各层级的优先级如下: |
53 | 116 |
|
54 | | -前往 Koishi 控制台,找到 ChatLuna 主插件的配置项,在 [`defaultChatMode`](../useful-configurations.md#defaultchatmode) 选项里选择你需要使用的聊天模式即可。 |
| 117 | +| 层级 | 说明 | |
| 118 | +| --- | --- | |
| 119 | +| `defaultChatMode` | 整个插件的全局默认值 | |
| 120 | +| `chatluna.rule.mode` | 当前作用域的默认值 | |
| 121 | +| `chatluna.new -c` | 新建会话时的显式指定 | |
| 122 | +| `chatluna.use.mode` | 当前会话的即时修改 | |
0 commit comments