简要总结
Session Tools
这页说明书讲的是“会话工具”。你可以把它们想象成一套小积木,专门用来帮你管理不同的聊天对话。比如,你可以用它们看看现在有哪些对话、看看某次对话里都说了什么,或者把一句话发给另一个对话。当你的智能助手需要和其他对话互动时,这些工具就派上用场啦。
五岁小孩版解释
会话工具就像一套小积木,让你的智能助手能管理不同的聊天对话。它们有四个主要积木块,名字分别是:sessions_list(列出对话)、sessions_history(查看对话历史)、sessions_send(发送消息到另一个对话)和 sessions_spawn(派一个小助手去干活)。
每个对话都有一个“钥匙”,就像房间的门牌号。最常见的对话钥匙就是 "main",代表你正在聊天的这个助手自己。还有给群聊用的钥匙,样子像 agent:<agentId>:<channel>:group:<id>。给定时任务用的钥匙像 cron:<job.id>。这些钥匙很重要,因为很多工具都需要你告诉它要去哪个“房间”。
现在,我们来看看每个工具积木怎么用。
用
sessions_list看看有哪些对话 这个工具就像拿一个望远镜,看看周围有哪些聊天房间。你可以告诉它你想看哪种房间,比如只看群聊("group")或者定时任务("cron")。你还可以让它只显示最近几分钟有动静的房间。如果你想知道房间里最后几句话说了什么,可以设置messageLimit大于0。不过,它不会显示工具自己说的话,想看那些得用下一个工具。用
sessions_history查看一个对话的完整记录 这个工具就像翻开一本聊天日记。你需要告诉它要看哪个房间的日记,把房间的“钥匙”或者房间ID(sessionId)给它。它会把这个房间里所有的对话内容都给你看。你可以选择要不要看工具自己说的话,通过设置includeTools为true或false。用
sessions_send给另一个对话发消息 这个工具就像让邮递员送一封信到另一个房间。你需要告诉邮递员信送到哪个房间(sessionKey),还要把信的内容(message)写好。你可以选择要不要等回信。如果你设置timeoutSeconds为0,就是“寄出不管”,送了信就回来。如果你设置一个大于0的等待时间,邮递员就会在门口等一会儿,看看收信人会不会回信。这里要小心,如果等太久超时了,邮递员会先回来告诉你“超时了”,但收信人可能还在里面回信,你可以晚点再用sessions_history去看看他回了什么。另外,两个助手之间可能会来回聊好几轮,直到有人说“不聊了”(REPLY_SKIP)或者达到最大聊天轮数。用
sessions_spawn派一个小助手去干活 这个工具就像你派一个分身去完成一个小任务。你需要告诉分身要做什么事(task),还可以给它起个名字(label)方便你记住。这个分身会在一个单独的小房间里工作,不会打扰你。它干完活之后,会把结果告诉你。这里要小心,分身不能再去派别的分身,而且如果派分身的人自己在一个受保护的“沙盒”里,它也只能派别的“沙盒”分身去干活。你可以设置任务完成后,是保留(keep)还是删除(delete)那个小房间。
最后,还有一个重要的安全规则,叫做“发送政策”(sendPolicy)。这就像一个大管家,可以规定哪些房间不能互相发消息。比如,可以规定所有Discord的群聊("discord" 和 "group")都不允许互相发信。这个规则可以在每个房间单独设置,也可以有一个总的默认规则。