与 AI 员工协作:NocoBase 对话面板入口、会话操作与员工/模型切换实战
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
AI 员工(AI Employees)是 NocoBase 内置插件@nocobase/plugin-ai提供的智能体能力,它不仅是聊天机器人,还能在业务界面中感知页面、区块与数据结构,直接执行查询、分析、填写、配置等操作。本文以「与 AI 员工协作」为主题,完整讲解 NocoBase 中唤起 AI 对话的三种入口、对话面板的基础操作,以及会话内切换 AI 员工与模型(AI Employee Switcher、Model Switcher)的原理与实操,并引入源码级证据说明模型偏好如何按员工维度持久化。读完本文,你将掌握在日常业务页面中与 AI 员工持续协作的完整流程。
前置条件
在开始协作之前,需要先完成两项基础配置(详见 AI 员工概述 的 5 分钟上手路径):
- 配置至少一个 LLM 服务:进入
系统设置 -> AI 员工 -> LLM service,支持 OpenAI、Gemini、Claude、DeepSeek、Qwen、Kimi 以及 Ollama 本地模型。配置步骤与「Enabled Models」「Test flight」可用性测试详见 配置 LLM 服务。 - 启用至少一个 AI 员工:进入
AI employees管理页,打开Enabled开关即可启用预置员工,详见 启用 AI 员工。
完成上述配置后,启用过的员工会出现在可用入口(如右下角快捷入口或特定场景入口)中,此时即可开始协作。
协作入口
创建并启用 AI 员工后,可在业务页面中通过以下三类入口与其协作:
- 右下角主入口:在业务页面右下角唤起 AI 对话面板,适合通用问答与跨区块协作。这是默认的全局入口,Atlas 等员工可直接在此使用。
- 区块 Action 入口:在支持
Actions的区块中,通过Actions -> AI employees添加 AI 员工,适合针对当前区块执行任务(例如填写表单区块等场景)。这是「快捷任务」的基础——绑定后每次进入页面,区块 Actions 区域会展示与该区块绑定的 AI 员工,详见 快捷任务。 - 特定入口:开发类员工(如 Nathan、Lina、Dara)会在 JS 区块、图表区块或本地化管理等特定场景提供专属入口,与通用对话面板相互独立。
右下角主入口
右下角悬浮球是 NocoBase 默认的 AI 对话入口,适用于不限定业务区块的通用问答。以内置员工 Atlas 为例,其角色定位就是「团队领导」:负责理解用户需求,并根据任务类型协调合适的 AI 员工参与处理;当你不确定该找哪个员工时,直接向 Atlas 描述需求即可(见 Atlas:团队领导)。
区块 Action 入口
在支持Actions的区块上,进入 UI 编辑模式后选择Actions下的AI employees菜单,即可挑选一个 AI 员工与当前区块绑定。这种入口适合「针对当前区块执行任务」的场景,例如在表单区块中让 AI 员工辅助填写。绑定后还可以继续为员工配置快捷任务,让用户一键开始任务处理,不必每次都手动选择区块和输入指令。
特定入口
Nathan(代码开发)、Lina(本地化)、Dara 等开发类员工会在对应的专业场景(JS 区块、图表区块、本地化管理)中提供专属入口,方便在具体业务上下文中直接唤起对应的员工能力。
对话基础操作
AI 对话面板(含右下角主入口与 AI Chat box 区块)支持以下常见操作:
- 发送消息:在发送区输入问题并点击发送,AI 员工将基于当前上下文回复。
- 上传附件:通过发送区的上传入口为对话附加文件,AI 员工可基于附件内容处理问题。
- 查看历史会话:点击会话列表入口(区块左上角或浮动面板对应位置)查看当前 Scope 下的历史会话。
- 新建会话:随时开始一段新的连续交互,旧会话保留在历史列表中。
- 编辑系统提示词:通过
Edit chat box设置中的「Background」附加到 AI 员工定义之后的系统提示词,用于补充当前页面的角色、目标或回答要求;对话过程中也可按需调整。
关于对话面板更完整的区块化形态(含 Scope 会话隔离、Work context、隐藏消息区使用右侧面板等),详见 AI Chat box 区块。
会话内切换员工与模型
大部分情况下直接和 Atlas 对话即可,它会协调合适的 AI 员工协助处理问题。但当你需要指定某个 AI 员工协作时,可以使用发送框中的两个核心切换器:
AI 员工切换器(AI Employee Switcher)
点击发送框中的 AI 员工下拉列表,即可在当前会话中切换协作员工。从源码看,该组件位于 AIEmployeeSwitcher.tsx:
- 员工列表来自
useAIConfigRepository()提供的aiEmployees,并通过allowedUsernames进行过滤——这意味着在 AI Chat box 区块中配置「AI employees」限制后,切换器只会展示被允许的员工。 - 选中员工后调用
switchAIEmployee(employee, { clear: {...} }),且默认clear配置为不清理发送框草稿、附件与上下文项,即切换员工不会丢失你正在编辑的输入内容。
模型切换器(Model Switcher)
模型切换器用于在会话中切换模型,并按员工维度保存偏好:模型会按员工维度保存偏好,下一次进入时优先恢复。这一行为在源码中有完整实现,见 ModelSwitcher.tsx 与 model.ts:
偏好存储键:
MODEL_PREFERENCE_STORAGE_KEY定义为'ai_model_preference_',实际存储键为ai_model_preference_ + 员工 username,即每个员工拥有独立的模型偏好记录。写入时机:在
handleSelect中,用户手动选择模型后通过app.apiClient.storage?.setItem(MODEL_PREFERENCE_STORAGE_KEY + currentEmployee.username, getModelKey(target))持久化,getModelKey返回服务名:模型ID格式(如openai:gpt-4o)。恢复逻辑:
resolveModel在进入会话时按如下优先级解析模型:- 若当前会话已指定且有效的模型(
currentOverride)优先使用; - 若员工配置了
modelSettings.enabled(固定模型),则使用该员工模型的第一个; - 否则读取缓存偏好(
ai_model_preference_<username>),兼容服务:模型与纯模型 ID 两种存储格式; - 均未命中时回退到员工可用模型列表的第一个。
- 若当前会话已指定且有效的模型(
候选范围:模型下拉菜单只展示当前员工「可用服务」中的「启用模型」(
getAIEmployeeModelServices与enabledModels过滤),菜单内按 LLM 服务分组展示,并始终保留「Add LLM service」入口(无配置权限的普通用户会收到「请联系管理员配置模型」的提示)。
需要注意的是,切换员工与切换模型是两个独立的操作:员工切换器决定协作对象,模型切换器决定该员工使用的模型;且模型偏好跟随员工,而不是跟随会话或页面。
补充上下文:选择区块
除了切换员工与模型,还可以在发送前为对话补充「应用上下文」:点击发送框左下角的添加上下文按钮,选择选择区块,应用页面会进入区块选择状态,悬停时可发送的区块颜色会改变;选中区块后,区块上下文信息会附加在对话框中,随消息一起发送给 AI 员工,回复内容将基于区块信息生成(详见 添加上下文 - 区块)。这与 AI Chat box 中的「Work context」机制一致——后者可以将区块设为新会话的默认工作上下文。
协作扩展:AI Chat box 区块与快捷任务
如果希望为某个业务页面提供固定入口的 AI 助手,而不是依赖右下角全局浮动面板,可以在页面中添加AI Chat box区块(UI 编辑模式 -> Add block -> Other blocks -> AI chat box)。每个 AI Chat box 区块都有独立的当前会话和输入状态,页面搭建者可以限制可选的 AI 员工、模型、文件上传、联网搜索和工作上下文。其核心设置项包括:
| 设置项 | 作用 |
|---|---|
| Scope | 控制哪些 AI Chat box 共享会话列表,默认使用区块 UID 隔离会话 |
| Background | 附加到 AI 员工定义后的系统提示词 |
| Default user message | 新会话开始时预填的默认用户消息 |
| Work context | 默认放入新草稿的页面区块 |
| AI employees | 限制可在区块中选择的员工,留空表示允许全部可用员工 |
| Models | 限制可在区块中选择的模型,留空表示允许全部可用模型 |
在 AI Chat box 顶部还可以添加Actions(JS Action 或 AI employee),为绑定员工配置快捷任务。快捷任务支持设置任务标题(Title)、系统提示词(Background)、默认用户消息(Default user message)、工作上下文(Work context)、技能与工具(Skills/Tools 的 Preset 或 Customer 模式),并可通过「Chat box uid」指定任务在哪个 AI Chat box 中运行(详见 快捷任务)。AI Chat box 的完整配置流程详见 AI Chat box 区块。
注意事项
- 浮动面板与区块互不干扰:右下角的全局浮动 chatbox 与 AI Chat box 区块是两个独立入口,当前会话和输入状态不会自动同步。
- 切换员工不丢输入:切换员工时发送框草稿、附件与上下文项默认保留,可放心切换。
- 模型偏好跟随员工:模型选择偏好按员工 username 持久化(存储键
ai_model_preference_<username>),下次与该员工对话时会优先恢复其上次使用的模型。 - 入口可见性依赖启用状态:只有处于
Enabled状态的员工才会出现在右下角快捷入口、区块 Action 或特定场景入口中。
通过右下角主入口、区块 Action 入口与特定入口的组合使用,配合会话内员工/模型切换、区块上下文补充与快捷任务,即可在 NocoBase 业务系统中获得完整的「数字同事」协作体验。
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考