第 5 章

机器人助手

2026-06-26更新 2026-08-10

机器人助手把主页插件的 AI Agent 接入微信、QQ 或飞书。配置完成后,不需要先打开思源中的聊天窗口,直接在常用聊天软件里发送自然语言,就能查询笔记、记录账目、管理纪念日、收藏、复习和日记任务。

它不是一套独立的“机器人命令系统”,而是本地 AI Agent 的远程输入和输出端:模型、工具、上下文与写操作确认仍由主页插件处理,微信、QQ 和飞书只负责收发消息。

这是新版机器人助手教程

旧版教程中的外部 Node.js、本地飞书网关和数字菜单已经停用。当前版本不需要单独安装 Node.js,也没有“启动本地网关”按钮。请以本章的新流程为准。

一、先选择合适的渠道和运行环境

三个渠道使用同一套 Robot Core 和 Agent 能力,但运行位置不同。

渠道可以运行的位置适合的场景
微信思源桌面客户端、桌面浏览器端、服务器或 NAS 上的思源 Docker个人长期使用、跨设备访问、需要 24 小时在线
QQWindows、macOS、Linux 的思源桌面客户端已经在 QQ 开放平台创建机器人,并且电脑会保持在线
飞书Windows、macOS、Linux 的思源桌面客户端团队或企业账号、需要飞书私聊和群聊

QQ 和飞书依赖思源桌面客户端提供的 Electron 环境,因此不能在 Docker 浏览器端或思源移动客户端中建立连接。关闭对应的桌面客户端后,机器人也会离线。

微信运行在思源 Kernel 中,不依赖桌面窗口。把思源部署在 NAS 或服务器后,只要容器和网络保持运行,即使关闭浏览器,微信机器人仍然可以继续收消息和执行任务。

微信是后续主要维护方向

微信覆盖普通电脑、浏览器端和 NAS / Docker 等主要使用环境,也是后续机器人助手优先维护和扩展的方向。对于需要全天候工作的个人机器人,建议优先选择微信,并把运行设备设为长期在线的 NAS 或服务器。

手机只负责发消息

思源移动客户端不会启动机器人助手,也不提供机器人运行设置。手机上的微信、QQ 或飞书只是远程聊天入口;真正读取笔记、调用模型和执行工具的是你指定的电脑或 NAS。

二、开始前完成 AI 模型配置

机器人助手复用“AI 知识库”中已经配置的模型,不需要单独填写另一套 API 地址和密钥。

开始前建议先完成以下检查:

  1. 在“AI 知识库 → 大模型配置”中添加模型提供商;
  2. 填写并保存 API Key;
  3. 对准备使用的模型运行“测试连接”;
  4. 再运行“测试 Agent”,确认模型支持工具调用;
  5. 在本地 AI 对话中完成一次普通问答和一次工具调用。

“测试连接”成功,只代表模型可以回答问题;机器人需要调用知识库、记账等工具,因此还要通过 Agent 兼容性测试。模型能够普通聊天,但不支持工具调用时,远程机器人也无法完成实际操作。

先确保本地 Agent 正常

机器人助手只是把本地 Agent 的聊天框搬到远程聊天软件。若本地 AI 对话本身无法调用模型或工具,应先修复 AI 知识库配置,再测试机器人。

三、开启机器人并指定唯一运行设备

打开“主页设置 → 机器人助手 → 总体设置”。

机器人助手总体设置
在总体设置中启用机器人助手、选择当前渠道并查看运行状态

1. 启用 Robot Core

打开“启用机器人助手”,确认 Robot Core 状态变为“运行中”。如果显示内核未运行或初始化失败,请先重启思源与插件,再查看思源内核日志。

2. 选择当前使用的机器人

微信、QQ 和飞书的配置可以同时保存,但同一时间只会连接一个渠道。在“当前使用的机器人”中选择微信、QQ、飞书或“不使用机器人”。

切换渠道不会删除其他渠道的 App ID、密钥、绑定状态和白名单。需要改用另一渠道时,直接切换即可。

为什么一次只运行一个渠道?

同时让多个平台和多台设备处理同一批笔记任务,容易产生重复回复、重复记账和同步冲突。单一当前渠道可以明确消息入口,也便于确认究竟是哪一台设备执行了任务。

3. 指定运行设备

如果同一个思源工作空间同时在台式机、笔记本或 Docker 上打开,必须指定一台“运行设备”。只有该设备会连接当前机器人,其他设备显示待机,不会抢消息或重复回复。

准备更换设备时:

  1. 先让最新设置和笔记数据完成同步;
  2. 在新设备中打开机器人助手总体设置;
  3. 点击“设为当前设备”;
  4. 确认旧设备进入待机,新设备上的 Robot Core 和渠道状态正常。

思源同步不是实时数据库。设置先上传到云端,再由另一台设备下载,中间可能存在几十秒延迟。切换期间不要同时发送写入任务,确认新设备接管后再继续使用。

4. 调整运行限制

总体设置还可以调整:

  • 单条消息与回复的最大长度;
  • 全局 Agent 并发数量;
  • 单次模型响应超时;
  • 整轮 Agent 任务超时。

普通使用建议先保留默认值。模型响应较慢时可以适当增加超时,但不要通过无限增大并发来解决消息积压,否则更容易触发模型服务限流。

四、配置微信机器人(推荐)

微信不需要前往开放平台创建应用,主要流程是扫码绑定和批准允许使用的账号。

1. 扫码绑定

  1. 在总体设置中把当前机器人切换为“微信机器人”;
  2. 进入“微信机器人”标签页;
  3. 点击“扫码绑定微信”;
  4. 使用手机微信扫描二维码,并在手机上确认;
  5. 等待设置页显示“微信已绑定,消息监听运行中”。
微信机器人扫码绑定页面
使用手机微信扫码,并在手机上确认登录

登录状态会保存下来。以后重启插件或重新打开设置页时,已经连接的账号会自动恢复,不会重复显示二维码。只有点击“重新扫码绑定”或“解除绑定”时,才会清除原绑定并进入新的扫码流程。

二维码过期时点击刷新即可;如果手机要求输入配对数字,按照页面提示填写并提交。

2. 设置私聊、群聊和白名单

可以分别控制:

  • 是否允许私聊;
  • 是否允许群聊;
  • 群聊中是否必须 @ 机器人;
  • 允许使用机器人的用户 ID;
  • 允许使用机器人的聊天 ID。

不建议把机器人直接开放给所有联系人。点击“捕获下一条私聊”,再从准备授权的微信账号发送一条普通消息。设置页捕获到用户 ID 和聊天 ID 后,检查账号信息并点击允许,最后保存设置。

微信机器人已连接并捕获账号
微信连接成功后,可捕获并批准允许使用机器人的账号

捕获只用于识别和批准账号,不会把这条测试消息当成正式 Agent 任务。微信、QQ 和飞书各自拥有独立的捕获区域,不会把微信捕获结果显示到其他渠道中。

3. 在 NAS 上保持 24 小时运行

使用 NAS / Docker 时,建议这样配置:

  1. 确保思源容器能够访问互联网,并设置为自动启动;
  2. 通过电脑浏览器打开这台 Docker 思源的设置页;
  3. 在 Docker 对应的设置页完成微信扫码绑定;
  4. 把 Docker 设备设为机器人当前运行设备;
  5. 确认微信状态在线后关闭浏览器进行测试。

浏览器只是管理界面,真正的微信监听位于思源 Kernel。浏览器关闭不会中断机器人,但停止或重启思源容器会造成短暂离线,服务恢复后会自动尝试重新连接。

五、配置飞书机器人

飞书仍然使用企业自建应用和官方长连接 SDK。下面的开放平台配置步骤与旧版基本一致,但插件端已经不再使用外部 Node.js 网关。

飞书开放平台
创建并管理机器人助手使用的企业自建应用。
open.feishu.cn

1. 创建应用并开启机器人能力

登录飞书开放平台,创建企业自建应用,然后开启机器人能力。

在飞书应用中开启机器人能力
开启飞书机器人能力

2. 添加消息权限

按照开放平台提示,为应用添加机器人收发消息所需的权限。

机器人助手所需的飞书权限
添加机器人收发消息权限

3. 配置长连接事件

在“事件与回调”中选择长连接接收事件,并添加消息接收事件。

飞书机器人长连接事件设置
配置长连接接收消息事件

4. 发布应用

完成配置后创建版本并发布应用。应用未发布、权限未生效或机器人不可见时,插件即使成功连接,也可能收不到消息。

发布飞书机器人应用
发布飞书机器人应用

5. 在插件中保存凭据

回到思源桌面客户端:

  1. 在总体设置中选择“飞书机器人”;
  2. 进入“飞书机器人”标签页;
  3. 填写 App ID 和 App Secret;
  4. 配置私聊、群聊、群聊 @ 要求和白名单;
  5. 点击“保存飞书设置”;
  6. 等待右上角状态变为“已连接”。
飞书机器人插件设置
在思源桌面客户端中保存飞书凭据和访问规则

App Secret 输入框留空时,会保留已经加密保存的密钥,不会把旧密钥清除。需要更换密钥时再填写新的 App Secret 并保存。

接下来点击“捕获下一条私聊”,从自己的飞书账号给机器人发送一条消息,确认捕获到的用户与聊天 ID 后加入白名单。

保护 App Secret

App Secret 属于敏感凭据。不要把完整密钥放进截图、聊天记录或公开仓库;怀疑泄露时,应立即在飞书开放平台重置并回到插件更新。

六、配置 QQ 机器人

QQ 机器人需要先在 QQ 开放平台创建,然后通过 App ID 和 App Secret 接入主页插件。

QQ 开放平台
创建 QQ 机器人并获取 App ID 与 App Secret。
q.qq.com
QQ 机器人接入文档
查看机器人发布、权限、事件和网络要求。
bot.q.qq.com

完成开放平台中的机器人创建、权限和发布流程后:

  1. 在总体设置中选择“QQ 机器人”;
  2. 进入“QQ 机器人”标签页;
  3. 填写 App ID 和 App Secret;
  4. 配置允许的私聊、群聊、用户 ID 和群 ID;
  5. 点击“保存 QQ 设置”;
  6. 等待状态显示已连接;
  7. 使用“捕获下一条私聊”批准自己的 QQ 账号。

QQ 开放平台中的“连接第三方 Agent 服务”或扫码页面,不等于主页插件已经取得机器人凭据。主页插件当前使用 App ID 和 App Secret 通过官方 SDK 建立连接,应以插件设置页的连接状态为准。

QQ 开放平台开发设置
在 QQ 开放平台的开发设置中获取 App ID 和 App Secret,并使用 WebSocket 接收事件
QQ 机器人插件设置
回到思源桌面客户端填写 QQ 凭据、白名单和群聊规则

部分 QQ 机器人会要求配置公网出口 IP。更换网络、使用代理或切换电脑后突然无法连接时,请根据控制台提示和 QQ 开放平台后台检查 IP 白名单。

七、选择 Agent 模型和远程工具

进入“机器人助手 → Agent 设置”。

1. 选择执行模型

“执行模型”会列出 AI 知识库中已经配置并启用的模型,可以选择:

  • 跟随 AI 知识库默认模型:本地默认模型改变后,机器人也跟随切换;
  • 指定模型:机器人始终使用选中的提供商和模型,不影响本地聊天框的默认选择。

选择后,模型配置和对应 API Key 会同步到 Robot Core。已经删除、停用或尚未同步到当前设备的模型会显示为暂不可用。

机器人 Agent 模型与工具权限设置
可以跟随 AI 知识库默认模型,也可以为机器人指定模型并逐项控制远程工具

远程 Agent 需要稳定的工具调用能力。长思考模型、纯补全模型或仅支持普通聊天的接口,不一定适合作为机器人模型,选择前应先在 AI 知识库中运行“测试 Agent”。

2. 控制工具权限

机器人可以使用的工具包括知识库查询、日记任务、数据库、文档编辑、目录结构、文档属性、资源文件、Riff 卡片,以及主页插件的快速笔记、专注清单、记账、固定资产、纪念日、收藏和复习等能力。

具体工具会随插件版本变化,并受会员权限和当前配置影响。可以逐项关闭“允许远程使用”,也可以为写操作选择:

  • 写操作需确认:先展示准备执行的操作,收到确认后再写入;
  • 写操作拒绝:远程聊天只能查询,不能执行该工具的写入动作。

建议只开放自己确实会远程使用的工具。涉及删除或批量修改时,应先在电脑端检查目标内容。

八、通过聊天使用 AI Agent

授权完成后,直接发送自然语言即可。例如:

帮我记一笔账,今天午饭 18 元,账户是微信。

查一下知识库里关于主页插件发布流程的笔记,先总结,不要修改。

新建一个纪念日:项目上线,日期是 8 月 20 日,每年提醒。

机器人会根据问题选择允许的工具,并把最终结果回复到当前聊天。

写操作必须确认

记账、新建或修改笔记等写操作会先返回操作摘要。请检查目标、金额、日期和影响范围,再在两分钟内严格回复:

  • 确认:继续执行;
  • 取消:放弃操作。

确认后会先收到“已确认,正在执行”,随后再收到最终结果。确认已经过期时,原操作不会执行,需要重新发送原始请求。

微信机器人写操作确认与执行结果
写操作先返回摘要,用户确认后才会执行并回复最终结果

等待确认期间发送其他文字,不会被当成确认,也不会偷偷排到后面执行。机器人会提醒只回复“确认”或“取消”。重复发送确认、平台重复投递同一条消息,也不会造成同一写操作重复执行。

内部命令

机器人支持以下平台无关命令:

  • 帮助#help:查看当前使用方式;
  • 状态#status:查看渠道和模型状态;
  • 新会话#new:创建并切换到空白上下文;
  • 确认#confirm:批准当前等待确认的操作;
  • 取消#cancel:取消当前等待确认的操作。

“取消”只用于正在等待确认的写操作,不能强制中断已经提交给模型的普通问答。

九、连续上下文与会话管理

同一渠道、机器人账号、聊天和联系人会使用同一个默认远程会话。下次继续给机器人发消息时,会继承原来的上下文,不会因为关闭设置页或闲置一段时间自动清空。

远程会话使用与本地 Agent 相同的消息和工具调用上下文格式。较长对话会进行存储级上下文整理,不会把所有历史原文无限塞回模型;用户可见的近期聊天记录和工具摘要仍会保留,便于检查执行过程。

进入“机器人助手 → 会话管理”可以:

  • 按渠道和机器人账号筛选会话;
  • 在左侧选择已有对话;
  • 在右侧查看用户消息、Agent 回复和工具执行记录;
  • 新建、重命名或删除对话;
  • 把某个对话设为当前聊天的默认会话。

发送“新会话”只会切换到新的空白上下文,旧对话不会丢失,可以稍后在会话管理中重新设为默认。

远程 Agent 会话管理
左侧选择远程对话,右侧查看消息、Agent 回复和工具执行记录

十、消息延迟、连续发送和消息日志

手机网络延迟或平台重试可能让多条消息短时间集中到达。Robot Core 会按同一聊天中的接收顺序串行处理:上一条尚未完成时,后续消息进入短队列,并提示前面还有多少条等待处理。

队列不是无限的。消息积压过多或等待超过安全时限时,机器人会拒绝或取消该条消息,让用户重新发送,避免过期指令在很久以后突然执行。不同会话可以在总体并发限制内同时处理。

进入“机器人助手 → 消息日志”可以查看最近的消息接收、过滤、执行、回复和失败状态。日志只保留最近 20 条,并对用户和聊天 ID 做掩码,不会无限增长。需要排查“平台收到了但没有回复”时,先查看这里,再检查渠道状态和思源日志。

机器人助手消息日志
消息日志用于排查接收、过滤、排队、执行和回复状态

十一、常见问题

扫码后仍显示等待登录

先等待几秒并刷新状态。手机必须完成扫码后的确认步骤;二维码过期后应重新生成。已经绑定成功时不应重复扫码,只有更换微信账号才使用“重新扫码绑定”。

机器人显示已连接,但发消息没有回复

依次检查:

  1. 当前使用的机器人是否选中了这个渠道;
  2. 当前设备是否为唯一运行设备;
  3. 发送账号和聊天是否已经加入白名单;
  4. 私聊、群聊和群聊 @ 规则是否允许;
  5. Agent 模型是否配置并同步成功;
  6. 消息日志中是被过滤、排队、执行失败还是回复失败。

飞书已连接但收不到消息

检查应用是否已经发布、机器人能力是否开启、消息权限是否生效,以及事件订阅是否选择长连接并添加了消息接收事件。飞书只在思源桌面客户端运行,浏览器和 Docker 页面不能建立飞书连接。

QQ 提示机器人未连接

确认 App ID 与 App Secret 已保存,机器人已经在 QQ 开放平台发布,并检查平台要求的公网出口 IP。QQ 连接依赖思源桌面客户端,关闭客户端后会离线。

从早期测试版升级后,如果页面提示 App Secret 无法读取,说明旧密文与当前设备的安全主密钥不一致。旧密文不能安全还原,请重新填写一次 App Secret 并保存;新版会统一由 Robot Core 加密,之后切换渠道不需要重复填写。

Docker 与电脑同时打开后重复回复

在总体设置中只保留一个当前渠道,并明确指定一台运行设备。等待思源完成设置同步,确认另一台设备显示待机后再发送新消息。长期在线场景建议让 NAS 运行微信机器人,电脑只作为管理端使用。

确认后没有执行

确认必须来自发起操作的同一账号和聊天,并在两分钟内严格回复“确认”。如果已经过期、Robot Core 重启或回复了其他文字,原写操作都会安全失效,需要重新发送原始请求。

建议从只读任务开始测试

第一次接入时,先发送“帮助”和“状态”,再尝试知识库查询。确认收发、白名单、模型和会话都正常后,再测试记账或新建笔记等写操作。