MemRelay-Operation: memory-save:nixmsg-prd-20260930-0100 MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
49 lines
2.2 KiB
Markdown
49 lines
2.2 KiB
Markdown
---
|
|
title: NixMsg 设备通讯需求
|
|
type: prd
|
|
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/nix-msg-设备通讯需求
|
|
stable_id: 9cea62eb-5435-4fb1-af51-9699bb182b1a
|
|
scope: project
|
|
memory_type: prd
|
|
project_id: 25464650-ed5d-440e-b362-190f2852d451
|
|
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
|
|
status: active
|
|
revision: 6
|
|
request_id: nixmsg-prd-20260930-0100
|
|
created_at: '2026-09-29T15:43:54.496883+00:00'
|
|
updated_at: '2026-09-29T17:10:37.524654+00:00'
|
|
tags:
|
|
- nixmsg
|
|
- requirements
|
|
---
|
|
|
|
NixMsg 是自部署的消息中转服务。参与者是对等的端:每个端有自己的标识,同时发送和接收。端可以组成群,群成员看到同一份群消息。交付物是服务端和各语言 SDK。
|
|
|
|
用途(用户确认 2026-09-30):
|
|
- 以程序自动处理为主(执行指令、上报数据),后续也可能用于人与人的消息通讯
|
|
- 服务器不保留可翻阅的历史消息;是否保留历史由客户端自己决定,我们只提供 SDK
|
|
|
|
密码(用户确认两种都要):
|
|
- 登录密码:端连服务器用,没有或输错就连不上
|
|
- 通讯密码:可选,别的端给它发消息时必须带上,知道密码才能跟它通讯
|
|
|
|
目标能力:
|
|
1. 端与端互发数据,也可以向群发消息
|
|
2. 查看在线端
|
|
3. 检查指定端是否在线
|
|
4. 尽可能使用一个端口,用端标识和群标识区分通讯对象
|
|
5. 登录密码和可选的通讯密码
|
|
6. 提供快速接入 SDK
|
|
7. 群成员看到共同消息
|
|
|
|
部署与规模:单机,暂不做集群;端数量 1000 以内,可能有嵌入式。
|
|
|
|
消息语义:
|
|
- 发送时可选择对方不在线是否保留,保留消息有过期时间,超时销毁
|
|
- 弱网尽量送达,至少一次,消息带 ID 供接收方去重
|
|
- 可撤回已提交、对方尚未接受、且未过期的消息
|
|
- 可指定何时发送,也可以固定每条消息的发送延迟;到点后再按在线状态和是否保留投递
|
|
- 群消息只存一份,成员看到同一条;每个成员各自有投递状态
|
|
- 建群者是群主并管理成员;到点时按当时成员投递;入群前的消息不补
|
|
|
|
文档:用户要求在 docs/ 下写 PRD 和开发文档,不写代码;交给 Grok 开发组开发,完成后再交回审核。边界问题每轮问 1-2 个。 |