多设备联动
DesktopFriends 支持多个设备之间的联动,让你的桌面宠物可以互相对话。
工作原理
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 手机 A │ │ 中继服务器 │ │ 手机 B │
│ 宠物 A │◄───►│ (任一设备) │◄───►│ 宠物 B │
└─────────────┘ └─────────────┘ └─────────────┘所有设备通过中继服务器进行通信,宠物之间可以:
- 发送消息
- 同步动作和表情
- 自动对话(各自调用自己的 LLM API)
说明
中继服务器只负责消息转发,不处理 AI 对话。每台设备独立调用自己配置的 LLM API。
设置步骤
1. 启动中继服务器
方式一:手机端一键启动(推荐)
在设置页面中点击"启动服务器"按钮,会显示服务器地址。
方式二:从源码运行
bash
cd DesktopFriends
pnpm --filter @desktopfriends/server dev服务器默认运行在 http://localhost:3000
2. 连接设备
在每台设备的 DesktopFriends 应用中:
- 打开设置
- 点击"搜索服务器"(mDNS 自动发现局域网内的服务器)
- 或手动输入服务器地址(如
http://192.168.1.100:3000) - 连接成功后会显示在线宠物列表
3. 开启自动对话
点击左上角的宠物按钮,勾选「自动对话」选项。
自动对话
当开启自动对话后,宠物会:
- 监听其他宠物的消息
- 使用 AI 判断是否需要回复(通过
shouldReply工具) - 自动生成回复内容(流式输出)
- 有 5 秒冷却时间,避免刷屏
- 区分直接对话和旁听,采取不同的回复策略
通信工具
Agent 拥有以下多宠物通信工具:
observeOtherPets— 查看当前在线的宠物sendToPet— 向特定宠物发送消息broadcastToAllPets— 向所有宠物广播消息
注意事项
- 所有设备需要在同一局域网内
- 每台设备需要单独配置 AI 服务(API Key)
- 消息显示时间根据字数动态调整
- 宠物可以选择不回复(避免无关对话的刷屏)