2. Agent客户端
2.7 聊天渠道
聊天渠道让你在Telegram或微信里跟这台机器上的Agent对话:和聊天页上是同一种对话,只是从手机上发过来。聊天渠道在侧边栏里位于聊天下方,只有管理员能看到。
渠道是从这台机器主动往外轮询平台的,所以不需要公网地址。一台在家用路由器或公司防火墙后面的笔记本也没问题。
添加渠道
添加渠道会打开这张表单:
| 字段 | 是什么 |
|---|---|
| 名称 | 这个渠道在这里的名字,保存后不能再改 |
| 平台 | Telegram或微信,保存后不能再改 |
| Bot令牌 | 仅Telegram:@BotFather给你的令牌。编辑时留空则沿用已保存的 |
| 微信登录 | 仅微信:见下文 |
| Agent | 新对话跟哪个Agent说话。可选的Agent和聊天页一样 |
| 工作目录 | 那个Agent在哪里工作。留空是用户主目录 |
| 允许的用户 | 谁能驱动这个Agent——见下文 |
| 监听中 | Gateway到底要不要监听这个渠道 |
页面上每一行会显示渠道是监听中、未监听、已关闭,或者平台拒绝时返回的错误。
微信登录
微信没有令牌可以粘贴。先给渠道起个名字,然后点显示二维码:Gateway会先保存这个渠道,再向微信申请一个登录二维码并画出来。用要承载这个机器人的微信账号扫码,微信确认后页面会显示已登录。凭据直接写进这个渠道,不经过浏览器。
这是微信官方为个人账号提供的机器人接口,不是第三方协议。它只支持一对一聊天。
谁能驱动这个Agent
允许的用户是平台自己的用户ID列表:Telegram上是数字形式的用户ID,微信上是微信机器人接口给发送者的ID。其他人发来的消息会被直接忽略,不会有回复。
留空表示任何找到这个机器人的人都能驱动你机器上的Agent,而且拥有那个Agent对你文件的访问权限。只有在试用一个别人都不知道的机器人时才留空。
跟它对话
每个聊天都有自己的对话,由第一条消息按渠道的Agent和工作目录开启,一直持续到你开始新的对话。
以/开头的是命令:
| 命令 | 作用 |
|---|---|
/new | 开始一段新对话 |
/status | 当前是哪个Agent、哪个目录、第几轮,以及上一次的错误 |
/agents | 这台机器上能被驱动的Agent |
/agent <id> | 从下一条消息起换一个Agent |
/dir <path> | 从下一条消息起换一个工作目录 |
/model <name> | 选一个模型;留空则回到Agent自己的模型 |
/stop | 停下Agent正在做的事 |
/help | 显示这张列表 |
换Agent、换目录或换模型都会结束当前对话、开一段新的:Agent是在启动时被告知工作目录的,把做了一半的对话带进另一个项目只会误导它。
同一时间只回答一条消息。Agent还在忙的时候再发一条,会被拒绝,并提示你用/stop结束上一条。
回答怎么送达
| Telegram | 微信 | |
|---|---|---|
| Agent工作期间 | 回答在原消息里逐步变长,每隔几秒改写一次 | 显示"正在输入",回答写完之前什么都不发 |
| 格式 | 渲染Markdown:加粗、代码、链接、列表 | 纯文本,因为微信不显示Markdown |
| 很长的回答 | 拆成每条最多4096个字符的多条消息 | 拆成每条最多2000个字符的多条消息 |
每一段渠道对话也会列在聊天页上,运行时可以在那里连同工具调用一起旁观。
下一节:3.1 供应商。