消息渠道与远程控制
在设置里直接连接 QQ 与 Telegram,或通过渠道插件、手动 Webhook 把 ACECode 会话接到其他消息平台。
连接 QQ、微信、飞书、钉钉、Telegram、Discord 与 LINE
在 设置 > 集成 > 消息通道 中直接连接 QQ 官方机器人、微信、飞书、钉钉、Telegram、Discord 与 LINE,不需要安装插件或 Node.js;除 LINE 外都由本机主动连出,不需要公网地址,所有连接都跟随 ACECode 的代理设置。页面上每个平台一张卡片:点连接,还没配好的平台会弹出三步向导(创建机器人 → 连接 → 绑定机主),配好的直接连上;连上后按钮变成取消连接,点一下立即断开。卡片只显示简要状态和待批准请求,连接失败的原因、群隐私模式、收发计数等细节写在后台进程的日志里(数据目录下 logs/daemon-日期.log,带 [channels/…] 前缀)。
| 平台 | 配置方式 |
|---|---|
| 点连接后向导直接显示二维码,用手机 QQ 扫码并确认,机器人会自动创建并配置,扫码人成为机主。也可以改为手动填写 AppID / AppSecret,保存前会先验证。未经个人认证的机器人只有管理员本人能使用,并且只能加入管理员担任群主的群。 | |
| Telegram | 向导第一步说明如何在 @BotFather 创建机器人,粘贴 Token 后会先验证。连上后在“绑定机主”一步用手机相机扫码(Telegram 自带的扫码只能登录设备,扫不了这个),在 Telegram 里点开始即成为机主;电脑上登录了 Telegram 也可以直接点链接,或点复制链接。 |
| 微信 | 点连接后用微信扫码并在手机上确认,扫码的微信号自动成为机主,也是唯一能使用它的人。微信机器人只支持私聊;登录失效时卡片会提示,重新扫码即可。 |
| 飞书 | 在飞书开放平台创建企业自建应用、添加机器人能力并开通 im:message 等权限,填入 App ID 与 App Secret(可选飞书或 Lark)。连上之后回到开放平台,把订阅方式保存为使用长连接接收事件、添加接收消息 v2.0事件并发布版本(飞书要求长连接在线时才能保存)。 |
| 钉钉 | 在钉钉开放平台创建企业内部应用、添加机器人并选择 Stream 模式,开通机器人发送消息权限后发布,填入 Client ID 与 Client Secret。 |
| Discord | 在 Discord 开发者后台新建应用,在 Bot 页复制 Token 并打开 Message Content Intent,粘贴 Token 后用向导给出的邀请链接把机器人拉进服务器。私信与频道里 @机器人 都能用。 |
| LINE | 在 LINE Official Account Manager 建官方账号并启用 Messaging API,填入 Channel ID 与 Channel secret;在控制台打开 Use webhook、关闭自动回应。LINE 只能回调公网地址:公网地址留空时 ACECode 用 cloudflared 自动建立临时隧道(先用 winget install --id Cloudflare.cloudflared 安装),也可以填写自己的 HTTPS 地址。 |
默认拒绝所有人。陌生人私聊只会收到配对提示,平台卡片上出现待批准请求(Desktop 窗口不在前台时弹出系统通知),请求 10 分钟后失效。群要先批准,群里只处理 @机器人 的消息,群成员也要单独批准。飞书、钉钉、Discord、LINE 连上后,向导会给出 6 位绑定码,私聊机器人发送这串数字即成为机主(10 分钟内有效,只能用一次)。飞书和钉钉会把每条消息随机交给同一应用的某一个连接,同一个应用不要再同时接到别的工具上,否则会悄悄分走一部分消息。在卡片的管理里可以更换机器人或撤销授权;撤销会立即停止处理对方的消息,并中止其会话正在进行的回合。
| 在聊天中发送 | 作用 |
|---|---|
/help | 列出可用命令。 |
/status | 查看会话、位置、模型、是否忙碌和待处理事项。 |
/stop | 停止当前回合。 |
/new | 在当前会话所在的位置新建会话。 |
/sessions、/resume 编号 | 列出并切换会话;机主可以切到任意会话,其他人只能切换自己创建的会话。 |
/model 名称 | 从下一回合起切换模型。 |
/approve 编号、/deny 编号、/aq | 处理权限请求与提问,与 Desktop 先答者生效。 |
每个私聊(或群里的每位成员)绑定一个 ACECode 会话,第一条消息会自动新建无项目会话并使用默认权限。被绑定的会话在侧栏显示电脑图标;在 Desktop 里向它输入时,回复也会发到聊天。图片和文件会导入会话附件,QQ 语音使用平台识别出的文字。通道由后台进程托管:在“常规”中勾选“退出 ACECode 后继续运行后台进程”时,关闭 Desktop 后通道仍然在线。
准备并连接消息渠道
先按渠道插件的说明安装它的可执行程序、完成平台认证并取得 manifest 文件。ACECode 使用 remote_control.channels 保存插件配置,使用 remote_control.default_channel 指定默认渠道。只输入消息平台名称不会自动安装插件。
{
"remote_control": {
"default_channel": "my-channel",
"channels": {
"my-channel": {
"manifest_path": "/absolute/path/to/channel-plugin.json",
"timeout_ms": 10000,
"settings": {}
}
}
}
}在要绑定的会话中提交 /rc,它是 /remote-control 的别名,会激活默认渠道。确认返回已连接状态后,从消息平台发一条简单请求,检查是否进入目标会话并能收到回复。
在渠道中切换会话
daemon 托管的已连接渠道可使用以下会话导航命令。这些控制命令由后台处理,不会作为普通问题交给当前模型。
| 在渠道发送 | 结果 |
|---|---|
/sessions | 列出最近十个普通、未归档会话。 |
/sessions more 或 /sessions all | 查看完整目录。 |
/sessions search 关键词 | 搜索最多五个匹配结果。 |
/sessions 2 | 选择最近一次列表中的第 2 个会话。 |
/session 和 /resume 是同一组渠道导航的别名。列表包含有工作区与无工作区的普通任务,不包含已归档任务和子代理。切换成功后以确认信息中的会话名称为准,再发送后续工作。
目标会话无法恢复时,原连接会保留。运行中的控制请求还在处理时,不要连续发送大量列表和切换命令。桌面前端可以收到切换提示,但渠道本身的会话选择不依赖桌面窗口保持打开。
查看状态、解绑与手动接入
/rc show
/rc offshow 展示当前连接、入站与出站状态,内容可能包含认证信息,不要直接公开截图。off 解除当前绑定。daemon 托管模式会保存绑定会话并在后续启动时尝试恢复,单纯关闭桌面窗口不等于主动解绑。
手动集成使用 /remote-control on 启动本地入站服务,再通过 /remote-control url <webhook-url> 指定出站地址。入站使用 POST /rc/send、X-ACECode-RC-Token 请求头和 {"text":"消息"} 正文;按 show 的实际地址接入。