连接微信
通过手机授权建立的微信消息连接向 Ghast 发送任务,并在电脑上的 Ghast 运行期间接收回复。入口是 设置 → 渠道 → 微信。
这是扫码授权的机器人连接,不是导入你的微信账号。不要期待它同步全部联系人、个人聊天、群聊或历史消息。当前连接按远端发送者 ID 路由收到的消息,没有独立的群聊或话题线程工作流。
登录前准备
- 配置可用的 Provider,完成所需的 充值,并 启用模型。登录微信不会同时开通模型或提供额度。
- 准备不含敏感资料的 本地工作区。接收第一条消息前,检查 设置 → 通用 → 默认工作区:没有单独绑定的发送者可能使用这个默认值。
- 保持 Ghast 运行并能联网。这是本地连接,不是退出应用后仍独立运行的托管服务。
- 准备使用自己的手机扫码,并检查手机上的授权内容。账号是否符合要求、授权后应进入哪个消息入口,以手机实际提供的流程为准;此设置页没有可用账号目录或微信最低版本说明。
Ghast 没有微信发送者允许列表、配对审批、群组允许列表或仅提及回复开关。应把消息能够到达该连接的每个发送者都视为能够发起任务。工作区绑定只选择工作区,不会拒绝其他发送者。如果无法确定连接的可达用户范围,或这些消息不应交给所选模型与工具处理,就不要授权该连接。
1. 设置模型和工作区

- 启用微信桥接: 确认模型和工作区后打开并保存。只打开草稿开关、尚未保存时,登录面板也会出现。
- 默认模型: 从已启用、已认证的 Provider 中选择模型。没有可用选项时先完成 Provider 配置。
- 未绑定的聊天使用: 检查此处显示的实际回退工作区。如果范围过大,先修改通用设置中的默认工作区。
- 会话 ID: 选择已知外部会话,或填写准确的远端 ID。显示名称、手机号或猜测的微信号不能代替它。
- 工作区: 为该 ID 选择一个已存在、非临时的本地工作区。
- 添加: 把 ID 与工作区加入设置草稿。两项未填齐时按钮不可用;之后仍需保存。
实际由哪个模型回复?
单独设置的微信默认模型优先于已有会话保存的模型。没有单独设置时,先使用已有会话的模型,再回退到 Chat 默认模型。没有保存微信专用默认值时,选择器也可能显示 Chat 的回退值;看到模型名称不等于已经设置了独立覆盖值。
在这里选择模型不会启用模型或续期认证。先在 Provider/模型设置中测试,再在连接完成后单独测试微信消息。本地模型测试成功不代表外部消息已经送达。
绑定发送者的会话
- 已经记录过该发送者时,打开 会话 ID,搜索并选择对应条目;也可以手动填写准确 ID。
wxid_xxxxx是示例提示,不是让你按这个格式自行拼接 ID。 - 选择 工作区,点击 添加。
- 检查新增行后点击 保存。修改已有绑定时,移除旧行、添加正确的一对,再保存。移除绑定不会删除聊天记录,也不会拒绝该发送者。
- 发送新的无敏感内容消息,检查对应本地会话的工作区,再让它访问文件。
如果列表还没有会话,先收窄回退工作区,完成一次纯文本测试;Ghast 记录该连接的发送者后,再回到选择器。远端会话 ID 不是 Ghast 本地会话 ID。不要把这些 ID 放到公开截图或支持帖子中。
工作区解析顺序是:有效的单独绑定 → 通用设置的默认工作区 → 内置 Default 工作区。修改绑定后,已有映射会话会在下一条被接收处理的消息到来时更新工作区;这不会移动文件、清空上下文或隔离旧消息。工作区丢失或被删除可能导致回退,删除工作区后应重新检查绑定。
2. 启用、保存并扫码
- 打开 启用微信桥接,点击底部 保存。先检查其他待保存的设置:保存会应用共享设置草稿,而不只是当前平台标签页。
- 准备授权时点击 显示二维码。
- 用自己的手机微信扫描,检查手机上的连接与账号信息,只确认你确实需要的授权。
- 等待确认期间保持设置页打开。授权后根据手机显示的消息入口继续,不要假定现有个人聊天已经全部接入。
- 检查已登录提示并展开 运行状态,然后执行下方的第一条消息测试。

保存不等于确认登录
| 操作 | 何时生效 |
|---|---|
| 修改启用状态、默认模型、工作区绑定 | 保存 后生效。保存发生变化的微信配置会重启连接,包括只改模型或绑定;先等重要任务完成。 |
| 显示二维码、重试、刷新 | 直接请求或检查真实登录流程,不等待保存设置。 |
| 在手机上确认二维码授权 | 完成登录流程;Ghast 会立即尝试保存凭据并开始接收,不是待保存的设置修改。 |
| 退出登录 | 立即停止本地机器人,清除本地保存的登录凭据与接收游标;无需保存,也没有额外确认对话框。 |
| 底部 关闭,再确认放弃修改 | 丢弃未保存配置,但不会撤销已经完成的登录或退出登录。 |
只打开尚未保存的启用开关,二维码按钮就能工作。请求二维码会启动后台登录流程;隐藏面板、切换标签页或放弃草稿 不能作为可靠的取消登录操作。准备完成连接时再请求二维码。不要扫描旧截图或别人分享的截图,也不要公开有效二维码或登录 URL。
二维码过期、不显示或被拒绝
- 使用 Ghast 当前显示的二维码。登录流程可能替换已过期的码,不要继续扫描旧图片。
- 页面明确提示过期时点击 刷新;显示正在生成、却没有图片并提供 重试 时,使用该按钮并查看行内错误。
- 如果一直停在同一个失败状态,不要反复假定可见图片仍然有效。停止扫描旧码,检查机器人/桥接日志;在可以中断工作的前提下,保存关闭、再保存开启以重启连接,然后请求新码。
- 如果手机已确认,而 Ghast 报告登录 token 无法保存,说明本地登录还没有完成。先恢复当前 Profile 加密存储的可用状态,再重新尝试;重复扫码不能解决凭据存储被锁定的问题。
- 如果后续因凭据过期或撤销回到待登录状态,需要重新授权。以前的已登录截图不能证明当前会话有效。
此页没有专门的 取消登录 按钮。也不要把 退出登录 当成取消未完成二维码流程的可靠方式;它用于退出已建立的登录。
3. 验证第一条回复
- 在手机授权后建立的消息入口,发送一条无敏感信息的文本,例如:“请只回复微信已连接,不使用工具、不访问文件。”
- 收到回复前不要发送下一个任务。保持 Ghast 打开,没有回复时检查对应本地会话。
- 分别确认三件事:消息进入 Ghast、预期模型生成答案、答案回到手机上的该会话。
- 检查本地会话使用预期工作区,然后再测试小型非敏感附件或范围明确的文件任务。
微信面板 没有验证凭据、检测接收者或发送测试消息按钮。运行中状态和保存成功,都不能代替手机 → Ghast → 手机的实际验证。
会话、等待时间与任务控制
当前连接为每个远端发送者 ID 保留本地会话映射。同一发送者后续被处理的消息会复用映射,并可能使用之前的会话上下文。它不会为每条消息新建会话,也没有独立的群组线程入口。
| 发送方式或现象 | 当前行为与用法 |
|---|---|
| 连续发送几条短文本 | Ghast 等待约 1.5 秒的停顿后合并处理。精确指令尽量在一条消息中写完整。 |
| 只发送图片、文件、视频或未转成文字的语音 | 可能等待约 15 秒以接收补充说明,再开始处理。最初的等待不一定是连接失败。 |
| 附件后紧跟文字要求 | 待处理批次同时有附件和文本后即可提交。一次发一个完整附件任务,再等待答案。 |
| 前一任务尚未完成又发送新任务 | 这里没有可靠的单发送者排队或忙碌时独立分支。重叠请求可能干扰回复跟踪;请等任务完成,或到 Ghast 管理正在运行的任务。 |
| 输入中提示或提前发来的确认文字 | 只是进度提示。开始工具工作时可能先发一小段文字,但不会持续编辑一条流式微信答案。 |
| 等待约一分钟后出现“还在处理”的提示 | 连接仍在等待模型任务,不是最终答案。 |
| 等待生成约五分钟后超时 | 结束的是远端等待,不保证本地模型或工具任务已停止。重试前先到 Ghast 检查,避免重复执行。 |
上述时间描述当前消息合并和生成等待,不是端到端送达承诺。附件下载、上传,以及平台和网络延迟还会增加时间。
微信没有实现远端 /new、/stop、/model 或 /help 命令流程。这些文本可能作为普通输入交给模型;不要依赖它们重置会话、停止任务或修改设置。使用 Ghast 的 会话操作 和 模型设置。重新绑定工作区或退出登录,都不会创建一份干净的新会话历史。
消息、附件与语音
输入内容
| 内容 | 任务收到什么 |
|---|---|
| 文本 | 收到的文本,包括合并后的多条短消息。 |
| 文字引用或回复 | 可用的被引用文本、标题可能放在指令前面;这不代表读取了原始完整会话。 |
| 图片、视频、普通文件 | Ghast 尝试下载并把文件字节附到模型请求。下载成功不等于所选模型支持该格式。 |
| 平台已提供转写的语音 | 使用转写文字;这个路径不会同时下载该条语音。 |
| 平台未提供转写的语音 | 尝试下载音频并作为音频交给所选模型,不保证每条语音都经过本地语音识别。 |
| 没有文字要求的附件 | Ghast 补充类似查看图片、转写音频的通用要求;最好自己补写实际任务。 |
某个附件下载失败时,其他文字或已成功下载的附件仍可能进入任务。依赖文档分析前,先让模型确认实际收到哪些文件。如果没有可用文字或附件,可能不会产生任务和回复。
此页没有附件大小设置,也没有公布统一大小上限。不要把其他平台的限制套到微信上,例如 Slack 的 20 MiB 输入检查。先测试小文件;大文件可能在平台、网络或模型环节失败。
输出内容
文字回复会简化 Markdown,而不是保留 Ghast 的富内容呈现。标题、强调和代码围栏会失去格式,链接可能以文字加 URL 展示。此连接不会自动分割过长文本。长报告应要求简短摘要或生成真实文件,并在手机上检查结果。
Ghast 可以尝试发送在工具结果或最终答案中发现的真实输出文件,包括图片、视频和普通文件。模型写出文件路径不等于附件已送达:文件必须存在,而且上传必须成功。逐个确认预期文件出现并能打开;文字答案送达不代表附件全部送达。文件会上传到消息服务或 CDN,不要无意要求发送私密文件。
语音回复
微信的音频路径不同于普通 Chat 播放:
- 输出音频文件可以作为回复发送;生成多个时,当前专用语音路径使用第一个,不能保证整组多音轨都被发送。
- 对于实际下载的语音输入,没有工具调用的纯文字答案可能触发语音合成。即使自动语音回复设置为 关闭,这个路径也可能请求合成;不要把该开关当成完整的微信音频禁用开关。详见 语音输入与回复。
- 这种合成最多使用约 4,000 字符,不是完整长报告的无限长度朗读。
- 音频作为附件发送,会尝试转换为 MP3,并有备用文件发送路径。不能承诺一定是微信原生语音气泡,或一定兼容所有播放环境。
- 选用音频回复后,文字答案可能被省略。音频上传失败时不会可靠地补发被省略的文字;到 Ghast 查看答案与失败任务后,再要求纯文字重试。
运行状态与日志
启用开关打开时,展开 运行状态。登录面板和运行状态也可能出现在尚未保存的启用草稿中。
- 连接: 待登录、运行中等本地状态。运行中不证明下一条入站消息、模型请求和回复上传一定成功。
- 启动时间(有值时):本地接收流程开始的时间,不是每个任务的完成时间。
- 最近事件: 最近记录的入站事件。暂无事件可能是还没收到消息,较旧时间也可能只是会话空闲。
- 机器人日志: 登录、接收轮询、媒体下载和发送;没有日志路径时按钮不可用。
- 桥接日志: 本地模型连接、会话派发、生成和送达诊断。
- 日志面板 刷新: 重新加载日志尾部。查看器显示最近 200 行,不是完整历史,也不会持续自动滚动更新。
一次查看一种日志,复现一次问题后刷新。不要用随意修改其他设置来诊断:保存发生变化的微信模型或绑定会重启连接。
日志可能包含登录 URL、远端 ID、消息片段和本地文件路径。错误回复也可能含内部错误细节。分享前检查并脱敏,不要默认公开整份日志或二维码截图;也不要为了排查上传本地登录凭据文件。
暂停、退出登录与切换账号
- 暂停接收但保留已保存登录: 关闭 启用微信桥接 并 保存。之后重新启用、保存,会尝试恢复已存会话;凭据过期或被撤销仍需要重新登录。
- 移除本地登录: 在已登录面板可见时,准备好后再点击 退出登录。它立即清除本地凭据和接收游标,不会删除已有 Ghast 会话、工作区映射或文件,也不代表撤销平台上的所有会话。
- 退出后保持停用: 再关闭启用开关并保存;退出登录本身不会修改已保存的启用开关。
- 切换授权账号: 先在 Ghast 完成或停止当前工作,退出登录,再使用新二维码授权预期账号。接收消息前检查模型、回退工作区和已有绑定;不要假定退出已清空旧配置和历史。
重启连接后,先发送一条新的无敏感内容入站消息,再测试回复。每个发送者的回复上下文保存在内存中,并从收到的消息重建;只有旧会话 ID 不保证能够发出新的有效回复。
故障排查
| 现象 | 下一步检查 |
|---|---|
| 看不到登录面板 | 打开启用开关。请求二维码前先保存所需配置。 |
| 二维码不显示、陈旧或被拒绝 | 按 二维码恢复步骤 检查行内错误和日志。不要扫描分享的图片,也不要仅凭图片存在就判断有效。 |
| 手机已确认,客户端仍待登录 | 检查凭据保存是否失败、当前 Profile 是否可用,以及认证是否已撤销。 |
| 已登录或运行中,但没有任务 | 向授权流程建立的消息入口发送一条新纯文本,先查最近事件和机器人日志,再排查模型。 |
| 本地出现任务,但没有答案 | 查 Provider 认证、已启用模型和余额,再看桥接日志。超时重试前检查本地运行状态。 |
| 文字送达,文件或音频缺失 | 检查文件是否存在、上传是否失败、模型是否支持输入,以及音频是否替代了文本。以手机实际附件为准。 |
| 工作区不对,或仍带着旧上下文 | 查准确远端发送者 ID、绑定及回退。绑定负责路由,不负责重置历史或限制发送者。 |
| 连续快速发送后回复异常 | 停止重叠提交,检查并完成或停止已有本地工作,再发送一个新任务。 |
| 保存设置后没有回复 | 微信配置变化会重启连接。检查登录和运行状态,重启后发送新的入站测试。 |
继续阅读 Channels 设置、语音行为 或 权限与审批。