feat(monitoring): add DeepSeek monitoring end-to-end

- desktop: new DeepSeek page adapter and monitor registry
- desktop: extract generic AI auth helpers into shared module and
  skip binding when challenge signals are present
- admin-web: render DeepSeek HTML answers with inline citation anchors
  and surface reference-number badges on source cards
- server: fall back to inline_links/source_panel_links and read
  text/siteName fields when extracting DeepSeek citations

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 22:54:56 +08:00
parent f6889ecdee
commit f6e553dcc3
12 changed files with 2971 additions and 65 deletions
@@ -17,12 +17,8 @@ import type {
import { getAIPlatformCatalogItem, isAIPlatformId } from "@geo/shared-types";
import {
doubaoAdapter,
kimiAdapter,
qwenAdapter,
getMonitorAdapter,
toutiaoAdapter,
wenxinAdapter,
yuanbaoAdapter,
zhihuAdapter,
type AdapterExecutionResult,
type MonitorAdapter,
@@ -2681,22 +2677,7 @@ function selectPublishAdapter(platform: string): PublishAdapter | null {
}
function selectMonitorAdapter(platform: string): MonitorAdapter | null {
if (platform === yuanbaoAdapter.provider) {
return yuanbaoAdapter;
}
if (platform === kimiAdapter.provider) {
return kimiAdapter;
}
if (platform === doubaoAdapter.provider) {
return doubaoAdapter;
}
if (platform === qwenAdapter.provider) {
return qwenAdapter;
}
if (platform === wenxinAdapter.provider) {
return wenxinAdapter;
}
return null;
return getMonitorAdapter(platform);
}
function normalizeSession(