diff --git a/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md b/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md index 0498c66..9a12683 100644 --- a/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md +++ b/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md @@ -8,10 +8,10 @@ memory_type: prd project_id: 25464650-ed5d-440e-b362-190f2852d451 usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active -revision: 2 -request_id: nixmsg-prd-20260929-1550 +revision: 3 +request_id: nixmsg-prd-20260930-0001 created_at: '2026-09-29T15:43:54.496883+00:00' -updated_at: '2026-09-29T15:52:05.283320+00:00' +updated_at: '2026-09-29T16:02:18.558213+00:00' tags: - nixmsg - requirements @@ -32,6 +32,9 @@ NixMsg 是设备间通讯中心,目标能力: 消息语义: - 发送时可选择对方不在线是否把消息留在服务器,等对方上线后再下发 - 离线消息必须带过期时间,超时后自动销毁,不再下发 -- 需要保证传达:网络抖动或质量差时,仍尽可能把消息送到对应设备 +- 弱网也要尽量送达,传达语义是至少一次,消息带 ID 供接收方去重 +- 发送者可以撤回已提交、对方尚未接受、且尚未过期的消息 +- 发送者可以指定消息何时发送:先暂存在服务器,到点后由服务器按当时的在线状态投递;对方不在线时仍走原来的是否保留和保留时间 +- 发送者可以固定设定每条消息的发送延迟(例如 10 秒),在这个窗口期内可以决定不发送 -当前仓库为空目录,尚未开工实现。技术栈尚未经用户明确确认。 \ No newline at end of file +当前仓库为空目录,尚未开工。邮箱存储倾向 SQLite,但用户尚未明确说开工。 \ No newline at end of file