Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md
T
memrelay 445c5d3c25 update: NixMsg 设备通讯需求
MemRelay-Operation: memory-save:nixmsg-20260930-0507-prd-rev10
MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
2026-09-30 04:54:51 +08:00

32 lines
2.0 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: 10
request_id: nixmsg-20260930-0507-prd-rev10
created_at: '2026-09-29T15:43:54.496883+00:00'
updated_at: '2026-09-29T20:54:48.029417+00:00'
tags:
- nixmsg
- requirements
---
NixMsg 是自建消息中转。正式文档:docs/PRD.md 与 docs/DEVELOPMENT.md(2026-09-30,版本 0.3)。
用途:以程序和设备自动收发为主,人在 App 或网页里收发也要。服务器不保存可翻阅的历史。
身份:对等的端,编号只允许小写,同一编号只能一处登录。端由管理员开通,或在管理员开启注册后带正确注册安全码自助注册(F23);换码不影响已注册的端。开放注册后目录仍对所有端可见。可以组群,群消息只存一份。
密码:登录密码和对话密码都要,对话密码输对一次就记住、对方改密后失效、先单聊过可免密回复、拉进群必须当次带对话密码。登录失败按编号加 IP 锁定。
消息:单条正文最大 256 KiB,不分块;可选离线保留、至少送达一次、可定时、可延迟、可撤回;送达或结束后立刻删正文;每端有未完成消息和排队投递配额(默认各 1 万条,0 为不限)。
实现:单机一个 Go 进程(标准库 net/http)、内置 mochi-mqtt、SQLite 手写 SQL、不用 Redis。端只用一个固定端口(默认 7443),后台可用 admin_listen 单独监听。后台 Vue 3 + TypeScript + Naive UI 打包嵌入程序;有管理 API 令牌和操作日志。部署:二进制 + Docker 镜像;/metrics;证书由 1Panel 续签并推送到目录,程序自动重载。SDK:Go、Java/Android、JS/TS、Python。
状态:PRD 第 9 节 D1–D26 已确认,D27(API 令牌细节)待确认。