update: NixMsg 设备通讯需求

MemRelay-Operation: memory-save:nixmsg-20260930-0500-prd-rev9
MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
This commit is contained in:
2026-09-30 04:28:48 +08:00
parent f9d633c4f9
commit e629f2bae6
@@ -8,25 +8,25 @@ memory_type: prd
project_id: 25464650-ed5d-440e-b362-190f2852d451
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 8
request_id: nixmsg-prd-20260930-docs-r8
revision: 9
request_id: nixmsg-20260930-0500-prd-rev9
created_at: '2026-09-29T15:43:54.496883+00:00'
updated_at: '2026-09-29T19:45:16.587475+00:00'
updated_at: '2026-09-29T20:28:45.569242+00:00'
tags:
- nixmsg
- requirements
---
NixMsg 是自建消息中转。正式文档:docs/PRD.md 与 docs/DEVELOPMENT.md(2026-09-30,版本 0.1)。根目录 t.md 是写文档前的思考草稿,不是规范。
NixMsg 是自建消息中转。正式文档:docs/PRD.md 与 docs/DEVELOPMENT.md(2026-09-30,版本 0.2)。根目录的 t.md 草稿已不存在。
用途:以程序和设备自动收发为主,人在 App 或网页里收发也要。服务器不保存可翻阅的历史,历史由客户端自己决定。
身份:对等的端,有编号,同一编号只能一处登录。可以组群,群消息只存一份,到点按当时成员投递,入群前的消息不补。
身份:对等的端,有编号(0.2 起只允许小写字母、数字、_ . -),同一编号只能一处登录。端由管理员开通,或在管理员开启注册后带正确注册安全码自助注册(F23,SDK 提供注册和改登录密码、对话密码);换码不影响已注册的端。可以组群,群消息只存一份,到点按当时成员投递,入群前的消息不补。
密码:登录密码和对话密码都要。对话密码输对一次就记住,对方改密后失效。对方先单聊过,可以免密回复。拉进群必须当次带对话密码。谁都能看到别人是否在线。
密码:登录密码和对话密码都要。对话密码输对一次就记住,对方改密后失效。对方先单聊过,可以免密回复。拉进群必须当次带对话密码。谁都能看到别人是否在线。登录失败按「编号 + 来源 IP」锁定。
消息:单条正文最大 256 KiB,不分块。可选离线保留并带过期时间,弱网至少送达一次。可定时、可延迟、可撤回。送达、过期或撤回后立刻删正文,只留不含正文的记录,保留天数可配置。
实现:单机一个 Go 进程,内置 MQTT,一个端口,SQLite。管理后台用于开通端、改密码、看在线、管群、查送达。SDK:Go、Java/Android、JavaScript/TypeScript、Python。嵌入式本期不出 C SDK,按协议直接接 MQTT。
实现:单机一个 Go 进程,内置 mochi-mqtt,SQLite,不用 Redis。端只用一个固定端口(默认 7443,WebSocket /mqtt、裸 MQTT TCP、注册接口同端口自动识别);后台默认同端口,可用 admin_listen 单独监听。SDK:Go、Java/Android、JavaScript/TypeScript、Python。嵌入式本期不出 C SDK,按协议直接接 MQTT。
未逐条口头确认、已写入 PRD 第 9 节的默认:改密不影响已提交消息;回执默认开启;断线 60 秒宽限;记录默认留 7 天;防重标记留 24 小时。
待用户复核的默认(PRD 第 9 节):D1–D13 来自 0.1;D14–D23 是 0.2 新增:注册默认关闭且安全码可在后台查看;注册可自选编号、无需审核;不做忘记密码找回和端自注销;编号小写;编号加 IP 锁定;不保留消息确认超时即丢弃;撤回不发回执;停用或删除端时作废其发出的消息;撤回不收回回复授权;服务器重启后所有未完成投递至少再等一个宽限。