docs: describe the unified Agent topology and link controls

Align architecture, protocol, API, storage, security and deployment documentation with default mutual measurements and the Agent link board.
This commit is contained in:
justme committed 2026-10-21 11:55:55 +08:00
1 parent 15f0023614
commit c9beeee8e3
16 files changed
+363 -383

No files matched your search

+19 -18
View File
@@ -5,29 +5,30 @@ MoShiro 旨在解决跨网络线路质量难以量化的问题:
- 家宽到海外 VPS 的延迟、丢包、抖动随时段波动,单点 ping 无法反映真实体验;
- 不同代理、游戏、流媒体服务对线路的敏感度各异,缺少统一的评价口径。
它通过 Probe 与 Agent 之间的主动测量采集原始数据,由 Backend 推算指标,并按服务模型(REALITY、Hysteria2、Minecraft 等)对线路评分与排序。
它通过 Agent 之间的主动测量采集原始数据,由 Backend 推算指标,并按服务模型(REALITY、Hysteria2、Minecraft 等)对线路评分与排序。
## 角色
## 组件
| 角色 | 定位 | 部署位置 |
| --- | --- | --- |
| Probe | 测量发起端,向 Agent 拨出测量会话 | 家宽等出口,可位于 NAT 后 |
| Agent | 测量接收端,响应 Probe 并汇总两端数据上报 | 具备公网地址的 VPS 等节点 |
| Backend | 控制面与数据服务:注册、任务编排、存储、分析、REST / SSE | 自托管服务器 |
| Web | `display` 展示端(可匿名只读)与 `admin` 管理端 | 与 Backend 同源部署 |
| 组件 | 职责 |
| --- | --- |
| Agent | 统一采集节点,默认同时监听和拨号;可部署在 VPS、家宽或 NAT 后 |
| Backend | 注册、线路编排、存储、分析和 REST / SSE |
| Web | 匿名只读展示端 `display` 与管理端 `admin` |
```text
┌───────────── Backend ─────────────┐
│ 注册 · 编排 · 存储 · 分析 · API │──▶ Web
└───────▲───────────────────▲───────┘
│ wss(节点发起) │
┌───────┴────────┐ ┌──────┴───────┐
│ Agent × N │◀──│ Probe × N │
│ 公网可达 │ │ NAT 后 │
└────────────────┘ └──────────────┘
测量会话:Probe → Agent
Backend ---- REST / SSE ---- Web
^ ^
| | 每个 Agent 独立建立 wss,汇报自身及线路状态
| |
Agent A <=====> Agent B
直连测量
```
Agent 默认向其他可拨号 Agent 建立测量线路,A→B 和 B→A 分别记录;节点不连接自身。
管理端统一展示 Agent,在线路画板中按方向开关测量、查看连接状态和立即重试。
家宽或 NAT 后的 Agent 仍可拨出;入站测量需要其他节点能够访问其监听地址和端口。
可在本地 `agent.json` 中显式设置 `listen.enabled: false` 关闭监听,节点身份和程序保持统一。
## 快速开始
环境:.NET SDK 10(版本见 `global.json`)、Node.js 与 npm。
@@ -60,7 +61,7 @@ npm run build --prefix web
| 构建、发布、CI、部署与更新 | [deployment](docs/ops/deployment.md) |
| 仓库结构与代码风格 | [project-layout](docs/dev/project-layout.md) · [coding-style](docs/dev/coding-style.md) |
| 路线图 | [roadmap](docs/roadmap.md) |
| 子项目 | [backend](backend/README.md) · [fleet](backend/fleet/README.md) · [agent](backend/agent/README.md) · [probe](backend/probe/README.md) · [web](web/README.md) |
| 子项目 | [backend](backend/README.md) · [fleet](backend/fleet/README.md) · [agent](backend/agent/README.md) · [web](web/README.md) |
贡献与自动化代理的工作约定见 [`AGENTS.md`](AGENTS.md)。