Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md
T
memrelay ad1b9582aa update: NixMsg 设备通讯需求
MemRelay-Operation: memory-save:nixmsg-prd-20260930-0110
MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
2026-09-30 01:15:59 +08:00

47 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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: 7
request_id: nixmsg-prd-20260930-0110
created_at: '2026-09-29T15:43:54.496883+00:00'
updated_at: '2026-09-29T17:15:57.912231+00:00'
tags:
- nixmsg
- requirements
---
NixMsg 是自部署的消息中转服务。参与者是对等的端:每个端有自己的标识,同时发送和接收。端可以组成群,群成员看到同一份群消息。交付物是服务端、网页管理后台和各语言 SDK。
用途(用户确认 2026-09-30):
- 以程序自动处理为主(执行指令、上报数据),后续也可能用于人与人的消息通讯
- 服务器不保留可翻阅的历史消息;是否保留历史由客户端自己决定,我们只提供 SDK
密码与可见范围(用户确认):
- 登录密码:端连服务器用,没有或输错就连不上
- 通讯密码:可选,别的端给它发消息时必须带上,知道密码才能跟它通讯
- 所有端在同一个圈子:谁都能看到别的端是否在线;能否发消息只看对方有没有通讯密码
- 把设了通讯密码的端拉进群,要先输对它的通讯密码;进群后群消息直接能收到
管理与 SDK(用户确认):
- 需要网页管理后台:开通端、改密码、看在线、管群、查消息送没送到
- 第一批 SDK:Go、Java(含 Android)、JavaScript/TypeScript(浏览器和 Node.js)、Python
- 嵌入式第一批不出 SDK,靠完整公开的底层协议接入
部署与规模:单机,暂不做集群;端数量 1000 以内,可能有嵌入式。
消息语义:
- 发送时可选择对方不在线是否保留,保留消息有过期时间,超时销毁
- 弱网尽量送达,至少一次,消息带 ID 供接收方去重
- 可撤回已提交、对方尚未接受、且未过期的消息
- 可指定何时发送,也可以固定每条消息的发送延迟;到点后再按在线状态和是否保留投递
- 群消息只存一份,成员看到同一条;每个成员各自有投递状态
- 建群者是群主并管理成员;到点时按当时成员投递;入群前的消息不补
文档:用户要求在 docs/ 下写 PRD 和开发文档,不写代码;交给 Grok 开发组开发,完成后再交回审核。边界问题每轮问 1-2 个。