feat(desktop): push publish tasks via AMQP topic dispatch WebSocket

Introduce a desktop.task.dispatch topic exchange with per-client routing
keys. Tenant-api publishes a task_available frame keyed by target client
ID when a publish job is created; every instance binds its own transient
queue and forwards to the matching WebSocket (/api/desktop/dispatch) it
owns. Desktop-client now prefers this push channel and only falls back
to HTTP /lease polling when the socket is down. Also drop admin-web
monitoring-plugin remnants and scope the publish modal account list to
publish platforms.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-20 19:46:59 +08:00
parent 7abac1e9c4
commit 9fa091c150
20 changed files with 1083 additions and 177 deletions
+1 -1
View File
@@ -349,7 +349,7 @@ const zhCN = {
collectBrandRequired: "请先选择品牌,再发起采集",
collectKeywordRequired: "请先选择关键词,再立即采集当前问题",
collectClientChecking: "正在检查当前账号的桌面客户端状态",
collectClientOnlineRequired: "当前登录账号的 desktop-client 未在线,暂时不能立即采集",
collectClientOnlineRequired: "当前登录账号的桌面客户端未在线,暂时不能立即采集",
pluginMode: "插件采样",
pluginHint: "插件模式下结果受设备在线率影响,低覆盖样本仅供趋势参考。",
awaitingSnapshot: "等待下一次有效快照",