Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 产品边界确认.md
T
memrelay 0a83e60dc6 update: NixMsg 产品边界确认
MemRelay-Operation: memory-save:nixmsg-boundary-20260930-r6
MemRelay-Resource: de0503ed-3d77-400d-a0bb-bbe44371f906
2026-09-30 02:25:57 +08:00

34 lines
2.6 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: decision
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/nix-msg-产品边界确认
stable_id: de0503ed-3d77-400d-a0bb-bbe44371f906
scope: project
memory_type: decision
project_id: 25464650-ed5d-440e-b362-190f2852d451
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 6
request_id: nixmsg-boundary-20260930-r6
created_at: '2026-09-29T18:07:17.185616+00:00'
updated_at: '2026-09-29T18:25:53.729259+00:00'
tags:
- nixmsg
- prd
- boundary
---
用户在整理 PRD 前确认的产品边界:
1. 使用者:偏向程序或设备自动收发,但人在 App、网页里看消息也需要,后续可能用于聊天类消息通讯。
2. 服务器不保留历史供翻看。是否保留历史由客户端自行决定,我们只提供 SDK。
3. 密码分两种,都要:登录密码(端连服务器必须用,防止冒充),和对话密码(别人要给这个端发消息,得先知道这个密码)。
4. 对话密码输对一次就记住,之后直接发;对方改对话密码后,所有人要重新输。
5. 所有端在同一个圈子:谁都能看到别的端在不在线;能不能发消息,只看对方有没有设对话密码。
6. 把设了对话密码的端拉进群,要先输对它的对话密码;进群后群消息直接能收到。
7. 需要网页管理后台:开通端、改密码、看在线、管群、查消息送没送到。
8. 第一批 SDK:Go、Java/Android、JavaScript/TypeScript(浏览器和 Node.js)、Python。
9. 服务端:单个 Go 程序,内置 MQTT。在线状态准确,一个程序一个端口,部署只放一个文件。所有消息先经服务器处理,设备之间不直接转发。
10. 消息大小:单条消息上限 256 KB,不做分块和断点续传。用户曾选过不限大小、自动分块,已明确推翻,原因是分块麻烦、维护难。大文件传输后续另行实现(例如先上传到服务器再发送链接),这一版不做。
11. 消息送到(或过期、撤回)后,服务器马上删掉消息内容,只留“谁发给谁、什么时候、送没送到”的记录供后台查。记录保留多久可以自己设定,也可以不留;不留则送完后连记录一起删除,后台只能看到未送完的消息。
12. 设了对话密码的 B 主动给 A 发消息后,A 回复 B 不用再输密码;B 改对话密码后,A 也要重新输。
13. 同一个端(同一个编号)只能在单台设备上登录。用户曾选过多台同时登录,已明确推翻。要多台就开多个端;发出的消息不同步到其他设备。