Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 产品边界确认.md
T
memrelay f9d633c4f9 update: NixMsg 产品边界确认
MemRelay-Operation: memory-save:nixmsg-20260930-0412-boundary-rev7
MemRelay-Resource: de0503ed-3d77-400d-a0bb-bbe44371f906
2026-09-30 04:17:32 +08:00

36 lines
3.2 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: 7
request_id: nixmsg-20260930-0412-boundary-rev7
created_at: '2026-09-29T18:07:17.185616+00:00'
updated_at: '2026-09-29T20:17:29.126490+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,部署只放一个文件。所有消息先经服务器处理,设备之间不直接转发。端口(2026-09-30 修订,取代原来的“一个程序一个端口”):端连服务器尽量只用一个固定端口;后台网页、MQTT、Redis(如确有需要)等可以用不同端口;一个端口能承载时优先一个端口。
10. 消息大小:单条消息上限 256 KB,不做分块和断点续传。用户曾选过不限大小、自动分块,已明确推翻,原因是分块麻烦、维护难。大文件传输后续另行实现(例如先上传到服务器再发送链接),这一版不做。
11. 消息送到(或过期、撤回)后,服务器马上删掉消息内容,只留“谁发给谁、什么时候、送没送到”的记录供后台查。记录保留多久可以自己设定,也可以不留;不留则送完后连记录一起删除,后台只能看到未送完的消息。
12. 设了对话密码的 B 主动给 A 发消息后,A 回复 B 不用再输密码;B 改对话密码后,A 也要重新输。
13. 同一个端(同一个编号)只能在单台设备上登录。用户曾选过多台同时登录,已明确推翻。要多台就开多个端;发出的消息不同步到其他设备。
14. 端自助注册要做(2026-09-30 确认,推翻 0.1 文档里“端自己注册本期不做”):SDK 提供注册,以及修改自己的登录密码和对话密码,让端应用里能实现注册、登录、改密。管理员在后台决定是否开启注册,并设置注册安全码;只有带正确安全码才能注册。管理员更换安全码后,已注册的端照常使用;之后注册必须用新码,旧码无法注册。