[Admin Console]: Relay operations v2 (history, diagnostics, advanced NIP-66)
维护者通常 1 天内回复
@Ferryx349 已经在做这个了。
开始于 2026年7月15日。
评估
这个 Issue 还没有评估数据。
描述
Context
#669 delivers the first end-to-end NIP-66 monitor:
- shared probe engine
- relay-monitor worker
- basic kind
30166/10166publishing - latest network-health snapshot in admin
This issue is the next phase: turns that foundation into a practical relay operations layer.
Problem
After #669, operators can see a current health snapshot, but they still cannot easily:
- track failures over time
- compare advertised relay behavior vs measured behavior
- inspect mirror/worker/NIP-05/storage health from one place
- audit admin actions or receive alerts when things break
Goal
Extend the admin console into an operations platform without redoing #669.
Scope
1) Advanced NIP-66 telemetry
- Add
rtt-readandrtt-writeprobes - Detect NIP-42 auth requirements where applicable
- Enrich kind
30166tags (rtt-read,rtt-write,N,R,k, optional NIP-52g) - Add NIP-11 vs probe mismatch warnings (auth, limits, public URL mismatch)
- Monitor peer relays from
mirroring.static[]
2) Network Health operations
- Persist bounded probe history
GET /admin/network-health/history- Optional
POST /admin/network-health/probe(manual trigger + audit entry) - History charts/timeline in dashboard
nip66.*controls in settings editor (interval, targets, timeouts, retention)
3) Ops visibility panels
- Mirror Health: connection state, reconnects, last event, lag/failure reason
- Worker Ops: maintenance / mirroring / relay-monitor status and last run
- NIP-05 Verification: search/filter, age, failures, manual re-verify
- Storage (NIP-45 COUNT): counts by kind/time range, retention impact
- Tor/I2P visibility and explicit
.onionDNS-skip behavior
4) Trust and automation
- Append-only audit log (login, settings changes, manual probes, webhook config)
- Outbound webhooks:
probe.failed,probe.recovered,ssl.expiring,mirror.disconnected - OpenTelemetry probe/mirror metrics
- Redacted diagnostics export bundle (version, sanitized config, recent health, worker state)
Out of scope (handled by #669)
- Initial probe engine implementation
- First relay-monitor worker
- First publish path for kind
30166/10166 - First
GET /admin/network-healthlatest snapshot endpoint - First basic Network Health panel
Important constraint
Self-hosted probing validates public URL/DNS/TLS/routing from the relay’s own network location.
It is useful for operators, but not a substitute for independent external monitors.
UI and published NIP-66 data must label monitor identity/location and avoid presenting one monitor as authoritative.
Relevant NIPs
- NIP-66 (advanced monitor/discovery tags)
- NIP-11 (advertised vs observed mismatch checks)
- NIP-42 (auth probing)
- NIP-52 (optional geohash)
- NIP-45 (storage counts)
- NIP-05 (verification visibility)
- NIP-65 (monitor bootstrap continuity)
Dependencies
- #669 (NIP-66 foundation)
- Admin metrics SSE and dashboard groundwork
- Admin settings editor groundwork
Success criteria
- Operators can diagnose recurring DNS/TLS/WS/mirror/worker issues without SSH/SQL
- Probe history and mismatch warnings are visible in admin
- Admin mutations and manual probes are auditable
- Alerts are opt-in, reliable, and never expose secrets
- Nostream publishes richer NIP-66 data compatible with client aggregation models
- 主要语言
- TypeScript
- 星标
- 829
- 派生
- 234
- 平均合并
- 4 天 5 小时
- 30 天内合并 PR
- 22
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cameri/nostream 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
feat(nip77): negentropy reconciliation core for the PostgreSQL backend可能已有人在做 @Priyanshubhartistm 于 2 天前认领。 未关闭enhancement
cameri/nostream#801 · 已指派 1 人 ·
维护者通常 1 天内回复
-
feat(admin): bounded NIP-66 probe history and Network Health timeline可能已有人在做 @Ferryx349 于 2 天前认领。 未关闭Admin Console enhancement
cameri/nostream#800 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Store relay settings overrides in PostgreSQL (SETTINGS_BACKEND=db)可能重新可做 @Ferryx349 于 35 天前认领,目前没有进行中的 PR。 未关闭enhancement
cameri/nostream#757 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
effort:S priority:P2
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
dam-agents/dam#4562 ·
维护者通常 1 天内回复
-
bug p3 triaged
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
bug javascript P2-medium python release:v3.1
难度 2/5 1-3 小时 新手友好度 68/100
adrirubio/claude-deck#546 ·
维护者通常 1 天内回复
-
area: desktop area: website priority: P2 type: feature
难度 2/5 1-3 小时 新手友好度 62/100
appandflow/stim#3411 · 1 条评论 ·
维护者通常 1 天内回复