dsh-fish-message
DSH 的 QQ 私聊通道。它把 QQ 私聊与 DSH 会话连接起来,双向传递文字、图片和语音文件, 并在 DSH 未运行或 QQ 暂时离线时保留消息、等待恢复后补发。
1. 用途
- 在 QQ 私聊与 DSH 会话之间互传消息,目前仅支持私聊。
- 支持文字、图片、语音文件的收发,以及普通文件的发送。
- 支持按名称或标签发送表情包,并可管理自己的表情包。
- DSH 或 QQ 未运行期间收到的消息,会在恢复后补发;暂时发不出去的消息先保存在本机, 恢复后按顺序重试,不会直接丢失。
- 语音的识别与合成由「鱼操作集」完成,鱼讯只负责传递语音文件。
2. 安装
2.1 准备
- 已安装并可正常使用的 DSH。
- 本机已安装 QQ 登录服务(如 NapCat),并已登录需要使用的 QQ 号。
- Node.js 20 或更高版本。
2.2 安装插件
在本目录执行:
pnpm install
dsh plugin --profile desktop add .
然后确认 DSH 的插件配置中已启用鱼讯。
2.3 避免重复接收
如果之前使用过其他 QQ 桥接插件,请先停用,否则同一条 QQ 消息会被处理两次。
2.4 重启 DSH
重启后打开「设置 → 鱼讯 QQ」。
若当前正在 DSH 会话中,重启会结束该会话,请另开一个终端执行重启。
3. 使用
3.1 连接 QQ
在设置页「连接设置」中填写 QQ 登录服务地址;服务启用了鉴权时再填写访问令牌。 连接正常时,页面顶部显示「在线」。
3.2 绑定会话
在「私聊绑定」中,为每个 QQ 号选择一间 DSH 会话。关闭「启用」后,该 QQ 号不再收发消息。 每行第一列的称呼仅用于区分不同联系人。
3.3 发送消息
DSH 的回复默认只发送 [QQ]…[/QQ] 标记内的内容,其余部分留在 DSH。若希望整条回复都发送,
可在「消息处理」中关闭该限制,此时标记本身会被去掉。
[QQ]这段会发送到 QQ。[/QQ]
[QQ]第一段[/QQ]
[QQ]第二段(两段会合并为一条消息)[/QQ]
3.4 发送图片、语音与文件
[图片:C:\图片\示例.png]
[语音:C:\音频\示例.wav]
[文件:D:\文档\示例.pdf]
语音只发送本机已有的音频文件,不做识别或合成。需要识别语音或合成语音时,请使用「鱼操作集」。 文件能否发送成功,取决于 QQ 登录服务的版本与权限。
3.5 表情包
在设置页「表情包」中可设置保存位置、自动保存、数量上限与占用空间上限,并点击「管理表情包」 进入独立的管理页。管理页支持上传、从默认表情库导入、搜索、编辑标签与描述、删除和直接发送。
发送表情时,可使用名称或标签:
[表情:打哈欠]
[表情:#睡觉]
找不到对应表情时会在 DSH 会话中提示,不会静默跳过。
3.6 离线补发与待发消息
DSH 或 QQ 未运行期间收到的消息,会在恢复后按时间顺序补发;超过「离线消息补发范围」的旧消息 只发送一条汇总提示。暂时发不出去的消息会先保存在本机,可在「待发消息」中查看积压情况、 立即重试或清空。清空后这些消息不再补发。
3.7 日志
设置页底部显示最近日志,可滚动查看。日志只保留最近一段时间,重启后重新开始记录。
4. 已知缺陷
- 仅支持私聊,群聊暂不支持。
- 文件发送依赖 QQ 登录服务的版本与权限,部分环境可能无法发送。
- 待发消息严格按顺序补发:前一条长期发送失败时,后面的消息会一起等待。
- 极少数情况下补发可能重复一次(消息已送达但记录尚未清除时)。
- 表情包预览使用原图,较大的动图加载会稍慢。
- 表情包达到上限后需要手动清理,不会自动删除旧表情。
- 更换表情包保存位置后,原有图片不会自动迁移。
- 语音只传递文件,识别与合成能力由「鱼操作集」提供。
开发、验收与数据结构说明见 docs/。
No comments yet. Be the first to write one.