@lanbaolu/dsh-wechat-bridge 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/docs/future-plan.md +44 -0
- package/lib/bridge/config.js +3 -0
- package/lib/bridge/config.js.map +1 -1
- package/lib/bridge/main.js +96 -0
- package/lib/bridge/main.js.map +1 -1
- package/lib/bridge/pending-queue.js.map +1 -1
- package/lib/client/Panel.js +28 -1
- package/lib/client/Panel.js.map +1 -1
- package/lib/client.js +60 -1
- package/lib/client.js.map +1 -1
- package/lib/index.js +40 -17
- package/lib/index.js.map +1 -1
- package/lib/types/bridge/config.d.ts +5 -0
- package/lib/types/bridge/pending-queue.d.ts +2 -0
- package/package.json +1 -1
package/lib/client/Panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../src/client/Panel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../src/client/Panel.tsx"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -139,6 +139,7 @@ window.__ModuleLoader__.load({
|
|
|
139
139
|
const [projectError, setProjectError] = (0, react.useState)("");
|
|
140
140
|
const [notifyStatus, setNotifyStatus] = (0, react.useState)(null);
|
|
141
141
|
const [calm, setCalm] = (0, react.useState)(CALM_DEFAULTS);
|
|
142
|
+
const [preventSleep, setPreventSleep] = (0, react.useState)(false);
|
|
142
143
|
const [calmBusy, setCalmBusy] = (0, react.useState)(false);
|
|
143
144
|
const [calmMessage, setCalmMessage] = (0, react.useState)("");
|
|
144
145
|
const [calmError, setCalmError] = (0, react.useState)("");
|
|
@@ -181,10 +182,34 @@ window.__ModuleLoader__.load({
|
|
|
181
182
|
const cfgRes = await fetch(`${API_BASE}/config`, { cache: "no-store" });
|
|
182
183
|
if (cfgRes.ok) {
|
|
183
184
|
const cfgData = await cfgRes.json();
|
|
184
|
-
if (cfgData && typeof cfgData === "object" && cfgData.ok)
|
|
185
|
+
if (cfgData && typeof cfgData === "object" && cfgData.ok) {
|
|
186
|
+
setCalm(calmFromConfig(cfgData.calm));
|
|
187
|
+
setPreventSleep(cfgData.preventSleep === true);
|
|
188
|
+
}
|
|
185
189
|
}
|
|
186
190
|
} catch {}
|
|
187
191
|
}, []);
|
|
192
|
+
async function changePreventSleep(enabled) {
|
|
193
|
+
setCalmBusy(true);
|
|
194
|
+
setCalmError("");
|
|
195
|
+
setCalmMessage("");
|
|
196
|
+
try {
|
|
197
|
+
const res = await fetch(`${API_BASE}/config`, {
|
|
198
|
+
method: "POST",
|
|
199
|
+
headers: { "Content-Type": "application/json" },
|
|
200
|
+
body: JSON.stringify({ preventSleep: enabled })
|
|
201
|
+
});
|
|
202
|
+
const data = await res.json().catch(() => null);
|
|
203
|
+
if (!res.ok || !data?.ok) throw new Error(data?.error || `HTTP ${res.status}`);
|
|
204
|
+
setPreventSleep(enabled);
|
|
205
|
+
setCalmMessage(enabled ? "已开启防休眠:守护进程运行期间抑制系统休眠,重启 daemon 后生效。" : "已关闭防休眠。");
|
|
206
|
+
} catch (err) {
|
|
207
|
+
setCalmError(err instanceof Error ? err.message : String(err));
|
|
208
|
+
setPreventSleep(!enabled);
|
|
209
|
+
} finally {
|
|
210
|
+
setCalmBusy(false);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
188
213
|
async function saveCalm() {
|
|
189
214
|
setCalmBusy(true);
|
|
190
215
|
setCalmError("");
|
|
@@ -737,6 +762,40 @@ window.__ModuleLoader__.load({
|
|
|
737
762
|
})
|
|
738
763
|
]
|
|
739
764
|
}),
|
|
765
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
766
|
+
style: { marginBottom: 12 },
|
|
767
|
+
children: [
|
|
768
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
769
|
+
style: {
|
|
770
|
+
...titleStyle,
|
|
771
|
+
marginBottom: 4
|
|
772
|
+
},
|
|
773
|
+
children: "💤 防休眠"
|
|
774
|
+
}),
|
|
775
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
776
|
+
style: {
|
|
777
|
+
fontSize: 12,
|
|
778
|
+
opacity: .7,
|
|
779
|
+
marginBottom: 8
|
|
780
|
+
},
|
|
781
|
+
children: "守护进程运行期间抑制系统休眠(锁屏/合盖不挂起,微信消息持续响应)。macOS 用 caffeinate、Linux 用 systemd-inhibit、Windows 尽力而为。"
|
|
782
|
+
}),
|
|
783
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
784
|
+
style: {
|
|
785
|
+
display: "flex",
|
|
786
|
+
alignItems: "center",
|
|
787
|
+
gap: 6,
|
|
788
|
+
fontSize: 12
|
|
789
|
+
},
|
|
790
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
791
|
+
type: "checkbox",
|
|
792
|
+
checked: preventSleep,
|
|
793
|
+
disabled: calmBusy,
|
|
794
|
+
onChange: (e) => void changePreventSleep(e.target.checked)
|
|
795
|
+
}), "启用防休眠(重启守护进程后生效)"]
|
|
796
|
+
})
|
|
797
|
+
]
|
|
798
|
+
}),
|
|
740
799
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
741
800
|
style: { marginBottom: 12 },
|
|
742
801
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["useState","useCallback"],"sources":["../src/client/Panel.tsx","../src/client/index.ts"],"sourcesContent":["import type * as React from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport type { SettingsSectionOwnerProps } from '@deepseek-ai/dsh-client-ui-settings/client'\n\nconst API_BASE = '/@lanbaolu/dsh-wechat-bridge'\n\nconst panelStyle = {\n padding: '14px 16px',\n fontFamily: 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif',\n fontSize: 13,\n lineHeight: 1.6,\n color: 'var(--text-1, #1f2328)',\n background: 'var(--surface-2, rgba(127,127,127,.06))',\n border: '1px solid var(--border-color, rgba(127,127,127,.18))',\n borderRadius: 10,\n margin: '8px 0',\n // DSH 宿主不使用 --text-1/--surface-2 等通用变量名(实际变量体系为 --dsw-alias-*),\n // 导致深色主题下文字永远 fallback 到黑色 #1f2328,几乎不可读。\n // 在面板根元素上把用到的变量映射到宿主真实变量,深浅主题自动跟随。\n // @types/react 18 的 CSSProperties 不含 CSS 自定义属性键,故用交叉类型断言。\n '--text-1': 'var(--dsw-alias-label-primary, #1f2328)',\n '--surface-2': 'var(--dsw-alias-bg-module-platform, rgba(127,127,127,.06))',\n '--surface-3': 'var(--dsw-alias-bg-layer-2, rgba(0,0,0,.04))',\n '--border-color': 'var(--dsw-alias-border-l2, rgba(127,127,127,.18))',\n '--button-bg': 'var(--dsw-alias-bg-layer-1, #fff)',\n} as React.CSSProperties &\n Record<'--text-1' | '--surface-2' | '--surface-3' | '--border-color' | '--button-bg', string>\n\nconst titleStyle: React.CSSProperties = {\n fontWeight: 600,\n fontSize: 14,\n marginBottom: 8,\n}\n\nconst outputStyle: React.CSSProperties = {\n margin: '4px 0 8px',\n padding: '8px 10px',\n background: 'var(--surface-3, rgba(0,0,0,.04))',\n border: '1px solid var(--border-color, rgba(127,127,127,.15))',\n borderRadius: 6,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-all',\n fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Consolas, monospace',\n fontSize: 12,\n maxHeight: 360,\n overflow: 'auto',\n}\n\nconst buttonRowStyle: React.CSSProperties = {\n display: 'flex',\n gap: 8,\n flexWrap: 'wrap',\n alignItems: 'center',\n}\n\nconst buttonStyle: React.CSSProperties = {\n padding: '4px 10px',\n border: '1px solid var(--border-color, rgba(127,127,127,.4))',\n borderRadius: 6,\n background: 'var(--button-bg, #fff)',\n color: 'var(--text-1, inherit)',\n cursor: 'pointer',\n fontSize: 12,\n}\n\nconst inputStyle: React.CSSProperties = {\n padding: '4px 8px',\n border: '1px solid var(--border-color, rgba(127,127,127,.4))',\n borderRadius: 6,\n background: 'var(--surface-3, rgba(127,127,127,.06))',\n color: 'var(--text-1, inherit)',\n fontSize: 12,\n minWidth: 220,\n}\n\nconst selectStyle: React.CSSProperties = {\n ...inputStyle,\n minWidth: 320,\n maxWidth: '100%',\n}\n\nconst hintStyle: React.CSSProperties = {\n marginTop: 8,\n fontSize: 12,\n opacity: 0.7,\n}\n\ntype SetupPhase = 'idle' | 'starting' | 'qr' | 'confirmed' | 'error'\n\ninterface ProjectSessionItem {\n sessionId: string\n workspaceId: string\n workspaceTitle: string\n path: string\n cwd?: string\n createdAt: string\n live: boolean\n}\n\ninterface SelectedProjectInfo {\n sessionId: string\n workspaceId: string\n workspaceTitle: string\n path: string\n}\n\ninterface NotifyStatus {\n dailySent: number\n dailyLimit: number\n hourlySent: number\n hourlyLimit: number\n pendingCount: number\n queueCapacity: number\n}\n\ninterface TrustedUser {\n userId: string\n addedAt: string\n by: 'owner' | 'bootstrap' | 'restore'\n lastSeenAt?: number\n note?: string\n}\n\ninterface TrustInfo {\n mode: 'owner-only' | 'bootstrap' | 'manual'\n bootstrapConsumed: boolean\n owner: string\n notifyRejected: boolean\n trusted: TrustedUser[]\n}\n\nconst TRUST_MODE_LABELS: Record<TrustInfo['mode'], string> = {\n 'owner-only': '仅本机主人(默认)',\n bootstrap: '首位陌生人自动入集(一次性)',\n manual: '仅手动添加的人',\n}\n\n/** 超时安抚配置的面板编辑态(分钟用字符串便于输入,保存时转换)。 */\ninterface CalmUiState {\n enabled: boolean\n silenceMin: string\n intervalMin: string\n maxCount: string\n messages: string\n}\n\nconst CALM_DEFAULTS: CalmUiState = { enabled: true, silenceMin: '5', intervalMin: '5', maxCount: '0', messages: '' }\n\nfunction calmFromConfig(calm?: { enabled?: boolean; silenceMs?: number; intervalMs?: number; maxCount?: number; messages?: string[] }): CalmUiState {\n return {\n enabled: calm?.enabled !== false,\n silenceMin: calm?.silenceMs && calm.silenceMs > 0 ? String(Math.round(calm.silenceMs / 60000)) : '5',\n intervalMin: calm?.intervalMs && calm.intervalMs > 0 ? String(Math.round(calm.intervalMs / 60000)) : '5',\n maxCount: calm?.maxCount !== undefined ? String(calm.maxCount) : '0',\n messages: calm?.messages?.length ? calm.messages.join('\\n') : '',\n }\n}\n\nfunction calmToConfig(ui: CalmUiState): { enabled: boolean; silenceMs?: number; intervalMs?: number; maxCount?: number; messages?: string[] } {\n const toMin = (v: string): number | undefined => {\n const n = Number(v)\n return Number.isFinite(n) && n > 0 ? Math.round(n * 60000) : undefined\n }\n const maxCount = Number(ui.maxCount)\n const messages = ui.messages.split('\\n').map((s) => s.trim()).filter(Boolean)\n return {\n enabled: ui.enabled,\n silenceMs: toMin(ui.silenceMin),\n intervalMs: toMin(ui.intervalMin),\n maxCount: Number.isFinite(maxCount) && maxCount >= 0 ? Math.round(maxCount) : undefined,\n messages: messages.length > 0 ? messages : undefined,\n }\n}\n\nfunction formatTime(ms?: number): string {\n if (!ms) return '从未活跃'\n try {\n return new Date(ms).toLocaleString('zh-CN')\n } catch {\n return '未知'\n }\n}\n\nexport function WechatBridgePanel(_props: SettingsSectionOwnerProps): React.JSX.Element {\n const [output, setOutput] = useState('加载中…')\n const [error, setError] = useState<string | null>(null)\n const [busy, setBusy] = useState<string | null>(null)\n const [workingDir, setWorkingDir] = useState('')\n const [setupPhase, setSetupPhase] = useState<SetupPhase>('idle')\n const [qrcodeDataUrl, setQrcodeDataUrl] = useState('')\n const [qrcodeId, setQrcodeId] = useState('')\n const [setupError, setSetupError] = useState('')\n const [boundAccountId, setBoundAccountId] = useState('')\n const [daemonMessage, setDaemonMessage] = useState('')\n const [projects, setProjects] = useState<ProjectSessionItem[]>([])\n const [projectChoice, setProjectChoice] = useState('')\n const [boundProject, setBoundProject] = useState<SelectedProjectInfo | null>(null)\n const [projectBusy, setProjectBusy] = useState(false)\n const [projectMessage, setProjectMessage] = useState('')\n const [projectError, setProjectError] = useState('')\n const [notifyStatus, setNotifyStatus] = useState<NotifyStatus | null>(null)\n const [calm, setCalm] = useState<CalmUiState>(CALM_DEFAULTS)\n const [calmBusy, setCalmBusy] = useState(false)\n const [calmMessage, setCalmMessage] = useState('')\n const [calmError, setCalmError] = useState('')\n const [trust, setTrust] = useState<TrustInfo | null>(null)\n const [trustBusy, setTrustBusy] = useState(false)\n const [trustMessage, setTrustMessage] = useState('')\n const [trustError, setTrustError] = useState('')\n const [newTrustId, setNewTrustId] = useState('')\n const [newTrustNote, setNewTrustNote] = useState('')\n\n const refresh = useCallback(async () => {\n try {\n const [statusRes, projectsRes, notifyRes] = await Promise.all([\n fetch(`${API_BASE}/status`, { cache: 'no-store' }),\n fetch(`${API_BASE}/projects`, { cache: 'no-store' }),\n fetch(`${API_BASE}/notify/status`, { cache: 'no-store' }),\n ])\n if (!statusRes.ok) throw new Error(`status HTTP ${statusRes.status}`)\n if (!projectsRes.ok) throw new Error(`projects HTTP ${projectsRes.status}`)\n const data = await statusRes.json()\n const projectsData = await projectsRes.json()\n const notifyData = await notifyRes.json().catch(() => null)\n if (notifyData && typeof notifyData === 'object' && typeof (notifyData as { data?: NotifyStatus }).data?.dailyLimit === 'number') {\n setNotifyStatus((notifyData as { data: NotifyStatus }).data)\n } else if (notifyData && typeof (notifyData as NotifyStatus).dailyLimit === 'number') {\n setNotifyStatus(notifyData as NotifyStatus)\n }\n setOutput(JSON.stringify(data, null, 2))\n if (typeof data.workingDirectory === 'string') {\n setWorkingDir((prev) => prev || data.workingDirectory)\n }\n setBoundProject(data.selectedProject ?? null)\n if (Array.isArray(projectsData.items)) {\n setProjects(projectsData.items as ProjectSessionItem[])\n }\n setError(null)\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n }\n // 信任集单独拉取(失败不影响主状态展示)\n try {\n const trustRes = await fetch(`${API_BASE}/trust`, { cache: 'no-store' })\n if (trustRes.ok) {\n const trustData = await trustRes.json()\n if (trustData && typeof trustData === 'object' && trustData.ok) {\n setTrust(trustData as TrustInfo)\n }\n }\n } catch {\n // ignore\n }\n // 桥接配置(超时安抚等)单独拉取,避免被初次渲染的默认值覆盖\n try {\n const cfgRes = await fetch(`${API_BASE}/config`, { cache: 'no-store' })\n if (cfgRes.ok) {\n const cfgData = await cfgRes.json()\n if (cfgData && typeof cfgData === 'object' && cfgData.ok) {\n setCalm(calmFromConfig(cfgData.calm))\n }\n }\n } catch {\n // ignore\n }\n }, [])\n\n async function saveCalm(): Promise<void> {\n setCalmBusy(true)\n setCalmError('')\n setCalmMessage('')\n try {\n const res = await fetch(`${API_BASE}/config`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ calm: calmToConfig(calm) }),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || `HTTP ${res.status}`)\n }\n setCalmMessage('已保存,下次安抚时生效(最长延迟数秒)。')\n } catch (err) {\n setCalmError(err instanceof Error ? err.message : String(err))\n } finally {\n setCalmBusy(false)\n }\n }\n\n useEffect(() => {\n void refresh()\n }, [refresh])\n\n async function run(path: string): Promise<void> {\n setBusy(path)\n setError(null)\n try {\n const res = await fetch(`${API_BASE}/${path}`, { method: 'POST' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n setOutput(JSON.stringify(data, null, 2))\n await refresh()\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setBusy(null)\n }\n }\n\n async function showLogs(): Promise<void> {\n setBusy('logs')\n setError(null)\n try {\n const res = await fetch(`${API_BASE}/logs`, { cache: 'no-store' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n setOutput(await res.text())\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setBusy(null)\n }\n }\n\n async function startSetup(): Promise<void> {\n setSetupPhase('starting')\n setSetupError('')\n try {\n const res = await fetch(`${API_BASE}/setup/start`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ workingDirectory: workingDir || undefined }),\n })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n if (!data.ok) throw new Error(data.message || data.error || '启动扫码绑定失败')\n setQrcodeDataUrl(data.qrcodeDataUrl)\n setQrcodeId(data.qrcodeId)\n setWorkingDir(data.workingDirectory || workingDir)\n setSetupPhase('qr')\n } catch (err) {\n setSetupPhase('error')\n setSetupError(err instanceof Error ? err.message : String(err))\n }\n }\n\n async function bindProject(): Promise<void> {\n if (!projectChoice) return\n setProjectBusy(true)\n setProjectError('')\n setProjectMessage('')\n try {\n const res = await fetch(`${API_BASE}/projects/select`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ sessionId: projectChoice }),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || data?.message || `HTTP ${res.status}`)\n }\n const project = data.project as SelectedProjectInfo | undefined\n setProjectMessage(`已绑定项目会话${project?.workspaceTitle ? `:${project.workspaceTitle}` : ''}${data.daemon ? `(${data.daemon})` : ''}`)\n await refresh()\n } catch (err) {\n setProjectError(err instanceof Error ? err.message : String(err))\n } finally {\n setProjectBusy(false)\n }\n }\n\n async function detachProject(): Promise<void> {\n setProjectBusy(true)\n setProjectError('')\n setProjectMessage('')\n try {\n const res = await fetch(`${API_BASE}/projects/detach`, { method: 'POST' })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || data?.message || `HTTP ${res.status}`)\n }\n setProjectMessage(`已解除项目会话绑定${data.daemon ? `(${data.daemon})` : ''}`)\n setProjectChoice('')\n await refresh()\n } catch (err) {\n setProjectError(err instanceof Error ? err.message : String(err))\n } finally {\n setProjectBusy(false)\n }\n }\n\n // ---- 信任集管理(P1-2 / M4)----\n\n function applyTrustResponse(data: TrustInfo & { ok?: boolean; error?: string }): void {\n if (data.ok === false) throw new Error(data.error || '操作失败')\n setTrust({\n mode: data.mode,\n bootstrapConsumed: data.bootstrapConsumed,\n owner: data.owner,\n notifyRejected: data.notifyRejected,\n trusted: Array.isArray(data.trusted) ? data.trusted : [],\n })\n }\n\n async function trustRequest(path: string, body: Record<string, unknown>, okMessage: string): Promise<void> {\n setTrustBusy(true)\n setTrustError('')\n setTrustMessage('')\n try {\n const res = await fetch(`${API_BASE}/${path}`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || `HTTP ${res.status}`)\n }\n applyTrustResponse(data as TrustInfo & { ok?: boolean; error?: string })\n setTrustMessage(okMessage)\n } catch (err) {\n setTrustError(err instanceof Error ? err.message : String(err))\n } finally {\n setTrustBusy(false)\n }\n }\n\n async function addTrustedUser(): Promise<void> {\n const id = newTrustId.trim()\n if (!id) return\n await trustRequest('trust/add', { userId: id, note: newTrustNote.trim() || undefined }, `已添加:${id}`)\n setNewTrustId('')\n setNewTrustNote('')\n }\n\n function removeTrustedUser(userId: string): void {\n if (!window.confirm(`确认吊销 ${userId}?其后续消息将被拒绝,已有会话历史保留。`)) return\n void trustRequest('trust/remove', { userId }, `已吊销:${userId}`)\n }\n\n function changeTrustMode(mode: TrustInfo['mode']): void {\n void trustRequest('trust/config', { mode }, `信任模式已切换为:${TRUST_MODE_LABELS[mode]}`)\n }\n\n function toggleNotifyRejected(enabled: boolean): void {\n void trustRequest('trust/config', { notifyRejected: enabled }, enabled ? '已开启陌生人联系提醒' : '已关闭陌生人联系提醒')\n }\n\n useEffect(() => {\n if (setupPhase !== 'qr' || !qrcodeId) return\n\n let cancelled = false\n let timer: number | undefined\n\n async function poll(): Promise<void> {\n try {\n const res = await fetch(`${API_BASE}/setup/status?qrcodeId=${encodeURIComponent(qrcodeId)}`, { cache: 'no-store' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n if (cancelled) return\n\n if (data.status === 'confirmed') {\n setSetupPhase('confirmed')\n setBoundAccountId(data.accountId || '')\n setDaemonMessage(data.daemon || '')\n void refresh()\n return\n }\n\n if (data.status === 'expired' || (data.status === 'error' && !data.retryable)) {\n setSetupPhase('error')\n setSetupError(data.message || '绑定失败,请重试')\n return\n }\n\n timer = window.setTimeout(() => void poll(), 3000)\n } catch (err) {\n if (!cancelled) {\n setSetupPhase('error')\n setSetupError(err instanceof Error ? err.message : String(err))\n }\n }\n }\n\n void poll()\n return () => {\n cancelled = true\n if (timer) window.clearTimeout(timer)\n }\n }, [setupPhase, qrcodeId, refresh])\n\n function cancelSetup(): void {\n setSetupPhase('idle')\n setQrcodeDataUrl('')\n setQrcodeId('')\n setSetupError('')\n setDaemonMessage('')\n }\n\n const actions: Array<{ label: string; run: () => void; disabled?: boolean }> = [\n { label: '刷新状态', run: () => void refresh() },\n { label: '扫码绑定', run: () => void startSetup(), disabled: setupPhase === 'starting' || setupPhase === 'qr' },\n { label: '启动', run: () => void run('start'), disabled: busy !== null },\n { label: '停止', run: () => void run('stop'), disabled: busy !== null },\n { label: '重启', run: () => void run('restart'), disabled: busy !== null },\n { label: '查看日志', run: () => void showLogs(), disabled: busy !== null },\n ]\n\n return (\n <div style={panelStyle} role=\"region\" aria-label=\"DSH 微信桥接管理面板\">\n <div style={titleStyle}>📱 DSH 微信桥接</div>\n\n {error && <div role=\"alert\" style={{ color: '#e5484d', marginBottom: 8 }}>{error}</div>}\n\n <label style={{ display: 'block', marginBottom: 8, fontSize: 12 }}>\n DSH 工作目录\n <input\n type=\"text\"\n value={workingDir}\n onChange={(e) => setWorkingDir(e.target.value)}\n placeholder=\"例如 ~/Documents/DSH\"\n style={{ ...inputStyle, marginLeft: 8 }}\n />\n </label>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>项目对话绑定</div>\n <div style={{ fontSize: 12, opacity: 0.8 }}>\n {boundProject\n ? `当前绑定:${boundProject.workspaceTitle} · ${boundProject.path} · ${boundProject.sessionId.slice(-8)}`\n : '当前未绑定:微信消息使用独立桥接会话(也可选择项目对话以共享记忆)。'}\n </div>\n <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap', alignItems: 'center', marginTop: 6 }}>\n <select\n value={projectChoice}\n onChange={(e) => setProjectChoice(e.target.value)}\n style={selectStyle}\n aria-label=\"选择要绑定的项目会话\"\n >\n <option value=\"\">— 选择要绑定的项目会话 —</option>\n {projects.map((project) => (\n <option key={project.sessionId} value={project.sessionId}>\n {project.workspaceTitle} · {project.path} · {project.sessionId.slice(-8)}\n </option>\n ))}\n </select>\n <button type=\"button\" style={buttonStyle} disabled={!projectChoice || projectBusy} onClick={() => void bindProject()}>\n 绑定\n </button>\n <button type=\"button\" style={buttonStyle} disabled={projectBusy || !boundProject} onClick={() => void detachProject()}>\n 解除绑定\n </button>\n </div>\n {projectMessage && (\n <div role=\"status\" style={{ color: '#2f9e44', marginTop: 6, fontSize: 12 }}>{projectMessage}</div>\n )}\n {projectError && (\n <div role=\"alert\" style={{ color: '#e5484d', marginTop: 6, fontSize: 12 }}>{projectError}</div>\n )}\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>主动通知节流</div>\n {notifyStatus ? (\n <div style={{ fontSize: 12, opacity: 0.85 }}>\n 今日已发 <strong>{notifyStatus.dailySent}</strong> / {notifyStatus.dailyLimit} 条 · 近一小时{' '}\n <strong>{notifyStatus.hourlySent}</strong> / {notifyStatus.hourlyLimit} 条 · 排队中{' '}\n <strong>{notifyStatus.pendingCount}</strong> 条\n <div style={{ marginTop: 4, fontSize: 12, opacity: 0.7 }}>\n agent 通过 wechat_notify 主动推送的通知,超限自动排队延迟发送,避免触发微信风控。\n </div>\n </div>\n ) : (\n <div style={{ fontSize: 12, opacity: 0.7 }}>守护进程未运行,暂无数据。</div>\n )}\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>⏳ 超时安抚</div>\n <div style={{ fontSize: 12, opacity: 0.7, marginBottom: 8 }}>\n DSH 长时间没有产出消息时,主动发一条\"还在处理\"的安抚消息。改配置后即时生效(最长延迟数秒)。\n </div>\n <label style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 12, marginBottom: 8 }}>\n <input\n type=\"checkbox\"\n checked={calm.enabled}\n onChange={(e) => setCalm((c) => ({ ...c, enabled: e.target.checked }))}\n />\n 启用安抚消息\n </label>\n <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center', marginBottom: 8 }}>\n <label style={{ fontSize: 12 }}>\n 首次静默(分钟)\n <input\n type=\"number\"\n min={1}\n value={calm.silenceMin}\n onChange={(e) => setCalm((c) => ({ ...c, silenceMin: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n <label style={{ fontSize: 12 }}>\n 重复间隔(分钟)\n <input\n type=\"number\"\n min={1}\n value={calm.intervalMin}\n onChange={(e) => setCalm((c) => ({ ...c, intervalMin: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n <label style={{ fontSize: 12 }}>\n 每轮上限(次,0=不限)\n <input\n type=\"number\"\n min={0}\n value={calm.maxCount}\n onChange={(e) => setCalm((c) => ({ ...c, maxCount: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n </div>\n <label style={{ fontSize: 12, display: 'block', marginBottom: 6 }}>\n 自定义文案(每行一条,留空用内置默认;每次随机取一条)\n <textarea\n value={calm.messages}\n onChange={(e) => setCalm((c) => ({ ...c, messages: e.target.value }))}\n rows={3}\n style={{\n ...inputStyle,\n display: 'block',\n marginTop: 4,\n minWidth: '100%',\n boxSizing: 'border-box',\n resize: 'vertical',\n fontFamily: 'inherit',\n }}\n />\n </label>\n <div style={{ display: 'flex', gap: 8, alignItems: 'center' }}>\n <button type=\"button\" style={buttonStyle} disabled={calmBusy} onClick={() => void saveCalm()}>\n 保存安抚设置\n </button>\n {calmMessage && <span role=\"status\" style={{ color: '#2f9e44', fontSize: 12 }}>{calmMessage}</span>}\n {calmError && <span role=\"alert\" style={{ color: '#e5484d', fontSize: 12 }}>{calmError}</span>}\n </div>\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>🔐 信任用户(多用户)</div>\n {!trust ? (\n <div style={{ fontSize: 12, opacity: 0.7 }}>加载中…</div>\n ) : (\n <>\n <div style={{ fontSize: 12, opacity: 0.85, marginBottom: 6 }}>\n 信任模式\n <select\n value={trust.mode}\n onChange={(e) => changeTrustMode(e.target.value as TrustInfo['mode'])}\n disabled={trustBusy}\n style={{ ...inputStyle, marginLeft: 8, minWidth: 240 }}\n aria-label=\"选择信任模式\"\n >\n <option value=\"owner-only\">{TRUST_MODE_LABELS['owner-only']}</option>\n <option value=\"bootstrap\">{TRUST_MODE_LABELS.bootstrap}</option>\n <option value=\"manual\">{TRUST_MODE_LABELS.manual}</option>\n </select>\n </div>\n {trust.mode === 'bootstrap' && trust.bootstrapConsumed && (\n <div style={{ fontSize: 12, color: '#b7791f', marginBottom: 6 }}>\n ⚠️ bootstrap 首次名额已用完,后续陌生人不会再自动入集,请用下方表单手动添加或切到 manual。\n </div>\n )}\n <label style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 12, marginBottom: 8 }}>\n <input\n type=\"checkbox\"\n checked={trust.notifyRejected}\n disabled={trustBusy}\n onChange={(e) => toggleNotifyRejected(e.target.checked)}\n />\n 陌生人尝试联系时向 owner 推送提醒\n </label>\n <div style={{ fontSize: 12, opacity: 0.7, marginBottom: 8 }}>\n owner:{trust.owner || '(未绑定)'} · 信任用户:{trust.trusted.length} 个\n </div>\n {trust.trusted.length > 0 && (\n <div style={{ marginBottom: 8, display: 'flex', flexDirection: 'column', gap: 6 }}>\n {trust.trusted.map((u) => (\n <div\n key={u.userId}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 8px',\n background: 'var(--surface-3, rgba(127,127,127,.05))',\n border: '1px solid var(--border-color, rgba(127,127,127,.12))',\n borderRadius: 6,\n }}\n >\n <span style={{ fontWeight: 600 }}>{u.userId}</span>\n {u.note && <span style={{ opacity: 0.7, fontSize: 12 }}>{u.note}</span>}\n <span style={{ marginLeft: 'auto', fontSize: 11, opacity: 0.6 }}>\n {u.by === 'bootstrap' ? '自动入集' : u.by === 'restore' ? '迁移导入' : '手动添加'} · {formatTime(u.lastSeenAt)}\n </span>\n <button\n type=\"button\"\n style={{ ...buttonStyle, color: '#e5484d' }}\n disabled={trustBusy}\n onClick={() => removeTrustedUser(u.userId)}\n >\n 吊销\n </button>\n </div>\n ))}\n </div>\n )}\n <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap', alignItems: 'center' }}>\n <input\n type=\"text\"\n value={newTrustId}\n onChange={(e) => setNewTrustId(e.target.value)}\n placeholder=\"要添加的微信 userId\"\n style={{ ...inputStyle, minWidth: 180 }}\n />\n <input\n type=\"text\"\n value={newTrustNote}\n onChange={(e) => setNewTrustNote(e.target.value)}\n placeholder=\"备注(可选)\"\n style={{ ...inputStyle, minWidth: 120 }}\n />\n <button type=\"button\" style={buttonStyle} disabled={trustBusy || !newTrustId.trim()} onClick={() => void addTrustedUser()}>\n 添加信任\n </button>\n </div>\n {trustMessage && <div role=\"status\" style={{ color: '#2f9e44', marginTop: 6, fontSize: 12 }}>{trustMessage}</div>}\n {trustError && <div role=\"alert\" style={{ color: '#e5484d', marginTop: 6, fontSize: 12 }}>{trustError}</div>}\n <div style={{ fontSize: 12, opacity: 0.7, marginTop: 8 }}>\n 信任用户与 owner 各自拥有独立会话、独立上下文,互不可见。撤销信任后其新消息将被拒绝,但已有历史保留。\n 修改信任模式后,新入站消息立即生效,无需重启。\n </div>\n </>\n )}\n </div>\n\n {setupPhase === 'starting' && (\n <div role=\"status\" style={{ marginBottom: 8 }}>正在生成二维码…</div>\n )}\n\n {setupPhase === 'qr' && qrcodeDataUrl && (\n <div style={{ marginBottom: 8 }}>\n <div style={{ fontWeight: 600, marginBottom: 4 }}>请用微信扫描下方二维码完成绑定</div>\n <img\n src={qrcodeDataUrl}\n alt=\"微信扫码绑定二维码\"\n width={240}\n height={240}\n style={{ display: 'block', maxWidth: '100%', height: 'auto', borderRadius: 8, background: '#fff' }}\n />\n <div style={{ fontSize: 12, opacity: 0.7, marginTop: 4 }}>\n 工作目录:{workingDir || '未设置'}。等待扫码确认中…\n </div>\n <button type=\"button\" style={{ ...buttonStyle, marginTop: 8 }} onClick={cancelSetup}>\n 取消绑定\n </button>\n </div>\n )}\n\n {setupPhase === 'confirmed' && (\n <div role=\"status\" style={{ marginBottom: 8, color: '#2f9e44' }}>\n ✅ 绑定成功{boundAccountId ? `:${boundAccountId}` : ''},{daemonMessage || '桥接已自动重启/启动。'}\n </div>\n )}\n\n {setupPhase === 'error' && (\n <div role=\"alert\" style={{ marginBottom: 8, color: '#e5484d' }}>\n ❌ {setupError}\n <button type=\"button\" style={{ ...buttonStyle, marginLeft: 8 }} onClick={() => setSetupPhase('idle')}>\n 重新扫码\n </button>\n </div>\n )}\n\n <pre style={outputStyle} aria-live=\"polite\">{output}</pre>\n\n <div style={buttonRowStyle}>\n {actions.map((action) => (\n <button\n key={action.label}\n type=\"button\"\n style={buttonStyle}\n disabled={action.disabled ?? false}\n onClick={action.run}\n >\n {action.label}\n </button>\n ))}\n </div>\n\n <div style={hintStyle}>\n 也可在 DSH 对话中直接使用 wechat_bridge_setup / wechat_bridge_status / wechat_bridge_start / wechat_bridge_stop / wechat_bridge_logs 等工具。\n </div>\n </div>\n )\n}\n","/**\n * @lanbaolu/dsh-wechat-bridge — Web 管理面板。\n *\n * 渲染在 settings.section 槽位(设置页),不绑定具体会话,打开任何任务前都可通过\n * 侧边栏 Settings 进入;通过 DSH Web 同源路由读取/控制桥接状态。\n */\nimport type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'\nimport { WechatBridgePanel } from './Panel.js'\n\nexport const inject = ['slots']\n\nexport function apply(ctx: ClientContext): void {\n ctx.effect(() => ctx.slots.inject('settings.section', () =>\n ctx.slots.register({\n name: 'settings.section',\n id: '@lanbaolu/dsh-wechat-bridge-panel',\n order: 55,\n label: () => '📱 微信桥接',\n }, WechatBridgePanel),\n ), '@lanbaolu/dsh-wechat-bridge: panel')\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","names":["useState","useCallback"],"sources":["../src/client/Panel.tsx","../src/client/index.ts"],"sourcesContent":["import type * as React from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport type { SettingsSectionOwnerProps } from '@deepseek-ai/dsh-client-ui-settings/client'\n\nconst API_BASE = '/@lanbaolu/dsh-wechat-bridge'\n\nconst panelStyle = {\n padding: '14px 16px',\n fontFamily: 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif',\n fontSize: 13,\n lineHeight: 1.6,\n color: 'var(--text-1, #1f2328)',\n background: 'var(--surface-2, rgba(127,127,127,.06))',\n border: '1px solid var(--border-color, rgba(127,127,127,.18))',\n borderRadius: 10,\n margin: '8px 0',\n // DSH 宿主不使用 --text-1/--surface-2 等通用变量名(实际变量体系为 --dsw-alias-*),\n // 导致深色主题下文字永远 fallback 到黑色 #1f2328,几乎不可读。\n // 在面板根元素上把用到的变量映射到宿主真实变量,深浅主题自动跟随。\n // @types/react 18 的 CSSProperties 不含 CSS 自定义属性键,故用交叉类型断言。\n '--text-1': 'var(--dsw-alias-label-primary, #1f2328)',\n '--surface-2': 'var(--dsw-alias-bg-module-platform, rgba(127,127,127,.06))',\n '--surface-3': 'var(--dsw-alias-bg-layer-2, rgba(0,0,0,.04))',\n '--border-color': 'var(--dsw-alias-border-l2, rgba(127,127,127,.18))',\n '--button-bg': 'var(--dsw-alias-bg-layer-1, #fff)',\n} as React.CSSProperties &\n Record<'--text-1' | '--surface-2' | '--surface-3' | '--border-color' | '--button-bg', string>\n\nconst titleStyle: React.CSSProperties = {\n fontWeight: 600,\n fontSize: 14,\n marginBottom: 8,\n}\n\nconst outputStyle: React.CSSProperties = {\n margin: '4px 0 8px',\n padding: '8px 10px',\n background: 'var(--surface-3, rgba(0,0,0,.04))',\n border: '1px solid var(--border-color, rgba(127,127,127,.15))',\n borderRadius: 6,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-all',\n fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Consolas, monospace',\n fontSize: 12,\n maxHeight: 360,\n overflow: 'auto',\n}\n\nconst buttonRowStyle: React.CSSProperties = {\n display: 'flex',\n gap: 8,\n flexWrap: 'wrap',\n alignItems: 'center',\n}\n\nconst buttonStyle: React.CSSProperties = {\n padding: '4px 10px',\n border: '1px solid var(--border-color, rgba(127,127,127,.4))',\n borderRadius: 6,\n background: 'var(--button-bg, #fff)',\n color: 'var(--text-1, inherit)',\n cursor: 'pointer',\n fontSize: 12,\n}\n\nconst inputStyle: React.CSSProperties = {\n padding: '4px 8px',\n border: '1px solid var(--border-color, rgba(127,127,127,.4))',\n borderRadius: 6,\n background: 'var(--surface-3, rgba(127,127,127,.06))',\n color: 'var(--text-1, inherit)',\n fontSize: 12,\n minWidth: 220,\n}\n\nconst selectStyle: React.CSSProperties = {\n ...inputStyle,\n minWidth: 320,\n maxWidth: '100%',\n}\n\nconst hintStyle: React.CSSProperties = {\n marginTop: 8,\n fontSize: 12,\n opacity: 0.7,\n}\n\ntype SetupPhase = 'idle' | 'starting' | 'qr' | 'confirmed' | 'error'\n\ninterface ProjectSessionItem {\n sessionId: string\n workspaceId: string\n workspaceTitle: string\n path: string\n cwd?: string\n createdAt: string\n live: boolean\n}\n\ninterface SelectedProjectInfo {\n sessionId: string\n workspaceId: string\n workspaceTitle: string\n path: string\n}\n\ninterface NotifyStatus {\n dailySent: number\n dailyLimit: number\n hourlySent: number\n hourlyLimit: number\n pendingCount: number\n queueCapacity: number\n}\n\ninterface TrustedUser {\n userId: string\n addedAt: string\n by: 'owner' | 'bootstrap' | 'restore'\n lastSeenAt?: number\n note?: string\n}\n\ninterface TrustInfo {\n mode: 'owner-only' | 'bootstrap' | 'manual'\n bootstrapConsumed: boolean\n owner: string\n notifyRejected: boolean\n trusted: TrustedUser[]\n}\n\nconst TRUST_MODE_LABELS: Record<TrustInfo['mode'], string> = {\n 'owner-only': '仅本机主人(默认)',\n bootstrap: '首位陌生人自动入集(一次性)',\n manual: '仅手动添加的人',\n}\n\n/** 超时安抚配置的面板编辑态(分钟用字符串便于输入,保存时转换)。 */\ninterface CalmUiState {\n enabled: boolean\n silenceMin: string\n intervalMin: string\n maxCount: string\n messages: string\n}\n\nconst CALM_DEFAULTS: CalmUiState = { enabled: true, silenceMin: '5', intervalMin: '5', maxCount: '0', messages: '' }\n\nfunction calmFromConfig(calm?: { enabled?: boolean; silenceMs?: number; intervalMs?: number; maxCount?: number; messages?: string[] }): CalmUiState {\n return {\n enabled: calm?.enabled !== false,\n silenceMin: calm?.silenceMs && calm.silenceMs > 0 ? String(Math.round(calm.silenceMs / 60000)) : '5',\n intervalMin: calm?.intervalMs && calm.intervalMs > 0 ? String(Math.round(calm.intervalMs / 60000)) : '5',\n maxCount: calm?.maxCount !== undefined ? String(calm.maxCount) : '0',\n messages: calm?.messages?.length ? calm.messages.join('\\n') : '',\n }\n}\n\nfunction calmToConfig(ui: CalmUiState): { enabled: boolean; silenceMs?: number; intervalMs?: number; maxCount?: number; messages?: string[] } {\n const toMin = (v: string): number | undefined => {\n const n = Number(v)\n return Number.isFinite(n) && n > 0 ? Math.round(n * 60000) : undefined\n }\n const maxCount = Number(ui.maxCount)\n const messages = ui.messages.split('\\n').map((s) => s.trim()).filter(Boolean)\n return {\n enabled: ui.enabled,\n silenceMs: toMin(ui.silenceMin),\n intervalMs: toMin(ui.intervalMin),\n maxCount: Number.isFinite(maxCount) && maxCount >= 0 ? Math.round(maxCount) : undefined,\n messages: messages.length > 0 ? messages : undefined,\n }\n}\n\nfunction formatTime(ms?: number): string {\n if (!ms) return '从未活跃'\n try {\n return new Date(ms).toLocaleString('zh-CN')\n } catch {\n return '未知'\n }\n}\n\nexport function WechatBridgePanel(_props: SettingsSectionOwnerProps): React.JSX.Element {\n const [output, setOutput] = useState('加载中…')\n const [error, setError] = useState<string | null>(null)\n const [busy, setBusy] = useState<string | null>(null)\n const [workingDir, setWorkingDir] = useState('')\n const [setupPhase, setSetupPhase] = useState<SetupPhase>('idle')\n const [qrcodeDataUrl, setQrcodeDataUrl] = useState('')\n const [qrcodeId, setQrcodeId] = useState('')\n const [setupError, setSetupError] = useState('')\n const [boundAccountId, setBoundAccountId] = useState('')\n const [daemonMessage, setDaemonMessage] = useState('')\n const [projects, setProjects] = useState<ProjectSessionItem[]>([])\n const [projectChoice, setProjectChoice] = useState('')\n const [boundProject, setBoundProject] = useState<SelectedProjectInfo | null>(null)\n const [projectBusy, setProjectBusy] = useState(false)\n const [projectMessage, setProjectMessage] = useState('')\n const [projectError, setProjectError] = useState('')\n const [notifyStatus, setNotifyStatus] = useState<NotifyStatus | null>(null)\n const [calm, setCalm] = useState<CalmUiState>(CALM_DEFAULTS)\n const [preventSleep, setPreventSleep] = useState(false)\n const [calmBusy, setCalmBusy] = useState(false)\n const [calmMessage, setCalmMessage] = useState('')\n const [calmError, setCalmError] = useState('')\n const [trust, setTrust] = useState<TrustInfo | null>(null)\n const [trustBusy, setTrustBusy] = useState(false)\n const [trustMessage, setTrustMessage] = useState('')\n const [trustError, setTrustError] = useState('')\n const [newTrustId, setNewTrustId] = useState('')\n const [newTrustNote, setNewTrustNote] = useState('')\n\n const refresh = useCallback(async () => {\n try {\n const [statusRes, projectsRes, notifyRes] = await Promise.all([\n fetch(`${API_BASE}/status`, { cache: 'no-store' }),\n fetch(`${API_BASE}/projects`, { cache: 'no-store' }),\n fetch(`${API_BASE}/notify/status`, { cache: 'no-store' }),\n ])\n if (!statusRes.ok) throw new Error(`status HTTP ${statusRes.status}`)\n if (!projectsRes.ok) throw new Error(`projects HTTP ${projectsRes.status}`)\n const data = await statusRes.json()\n const projectsData = await projectsRes.json()\n const notifyData = await notifyRes.json().catch(() => null)\n if (notifyData && typeof notifyData === 'object' && typeof (notifyData as { data?: NotifyStatus }).data?.dailyLimit === 'number') {\n setNotifyStatus((notifyData as { data: NotifyStatus }).data)\n } else if (notifyData && typeof (notifyData as NotifyStatus).dailyLimit === 'number') {\n setNotifyStatus(notifyData as NotifyStatus)\n }\n setOutput(JSON.stringify(data, null, 2))\n if (typeof data.workingDirectory === 'string') {\n setWorkingDir((prev) => prev || data.workingDirectory)\n }\n setBoundProject(data.selectedProject ?? null)\n if (Array.isArray(projectsData.items)) {\n setProjects(projectsData.items as ProjectSessionItem[])\n }\n setError(null)\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n }\n // 信任集单独拉取(失败不影响主状态展示)\n try {\n const trustRes = await fetch(`${API_BASE}/trust`, { cache: 'no-store' })\n if (trustRes.ok) {\n const trustData = await trustRes.json()\n if (trustData && typeof trustData === 'object' && trustData.ok) {\n setTrust(trustData as TrustInfo)\n }\n }\n } catch {\n // ignore\n }\n // 桥接配置(超时安抚等)单独拉取,避免被初次渲染的默认值覆盖\n try {\n const cfgRes = await fetch(`${API_BASE}/config`, { cache: 'no-store' })\n if (cfgRes.ok) {\n const cfgData = await cfgRes.json()\n if (cfgData && typeof cfgData === 'object' && cfgData.ok) {\n setCalm(calmFromConfig(cfgData.calm))\n setPreventSleep(cfgData.preventSleep === true)\n }\n }\n } catch {\n // ignore\n }\n }, [])\n\n async function changePreventSleep(enabled: boolean): Promise<void> {\n setCalmBusy(true)\n setCalmError('')\n setCalmMessage('')\n try {\n const res = await fetch(`${API_BASE}/config`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ preventSleep: enabled }),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || `HTTP ${res.status}`)\n }\n setPreventSleep(enabled)\n setCalmMessage(enabled ? '已开启防休眠:守护进程运行期间抑制系统休眠,重启 daemon 后生效。' : '已关闭防休眠。')\n } catch (err) {\n setCalmError(err instanceof Error ? err.message : String(err))\n setPreventSleep(!enabled)\n } finally {\n setCalmBusy(false)\n }\n }\n\n async function saveCalm(): Promise<void> {\n setCalmBusy(true)\n setCalmError('')\n setCalmMessage('')\n try {\n const res = await fetch(`${API_BASE}/config`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ calm: calmToConfig(calm) }),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || `HTTP ${res.status}`)\n }\n setCalmMessage('已保存,下次安抚时生效(最长延迟数秒)。')\n } catch (err) {\n setCalmError(err instanceof Error ? err.message : String(err))\n } finally {\n setCalmBusy(false)\n }\n }\n\n useEffect(() => {\n void refresh()\n }, [refresh])\n\n async function run(path: string): Promise<void> {\n setBusy(path)\n setError(null)\n try {\n const res = await fetch(`${API_BASE}/${path}`, { method: 'POST' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n setOutput(JSON.stringify(data, null, 2))\n await refresh()\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setBusy(null)\n }\n }\n\n async function showLogs(): Promise<void> {\n setBusy('logs')\n setError(null)\n try {\n const res = await fetch(`${API_BASE}/logs`, { cache: 'no-store' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n setOutput(await res.text())\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setBusy(null)\n }\n }\n\n async function startSetup(): Promise<void> {\n setSetupPhase('starting')\n setSetupError('')\n try {\n const res = await fetch(`${API_BASE}/setup/start`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ workingDirectory: workingDir || undefined }),\n })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n if (!data.ok) throw new Error(data.message || data.error || '启动扫码绑定失败')\n setQrcodeDataUrl(data.qrcodeDataUrl)\n setQrcodeId(data.qrcodeId)\n setWorkingDir(data.workingDirectory || workingDir)\n setSetupPhase('qr')\n } catch (err) {\n setSetupPhase('error')\n setSetupError(err instanceof Error ? err.message : String(err))\n }\n }\n\n async function bindProject(): Promise<void> {\n if (!projectChoice) return\n setProjectBusy(true)\n setProjectError('')\n setProjectMessage('')\n try {\n const res = await fetch(`${API_BASE}/projects/select`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ sessionId: projectChoice }),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || data?.message || `HTTP ${res.status}`)\n }\n const project = data.project as SelectedProjectInfo | undefined\n setProjectMessage(`已绑定项目会话${project?.workspaceTitle ? `:${project.workspaceTitle}` : ''}${data.daemon ? `(${data.daemon})` : ''}`)\n await refresh()\n } catch (err) {\n setProjectError(err instanceof Error ? err.message : String(err))\n } finally {\n setProjectBusy(false)\n }\n }\n\n async function detachProject(): Promise<void> {\n setProjectBusy(true)\n setProjectError('')\n setProjectMessage('')\n try {\n const res = await fetch(`${API_BASE}/projects/detach`, { method: 'POST' })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || data?.message || `HTTP ${res.status}`)\n }\n setProjectMessage(`已解除项目会话绑定${data.daemon ? `(${data.daemon})` : ''}`)\n setProjectChoice('')\n await refresh()\n } catch (err) {\n setProjectError(err instanceof Error ? err.message : String(err))\n } finally {\n setProjectBusy(false)\n }\n }\n\n // ---- 信任集管理(P1-2 / M4)----\n\n function applyTrustResponse(data: TrustInfo & { ok?: boolean; error?: string }): void {\n if (data.ok === false) throw new Error(data.error || '操作失败')\n setTrust({\n mode: data.mode,\n bootstrapConsumed: data.bootstrapConsumed,\n owner: data.owner,\n notifyRejected: data.notifyRejected,\n trusted: Array.isArray(data.trusted) ? data.trusted : [],\n })\n }\n\n async function trustRequest(path: string, body: Record<string, unknown>, okMessage: string): Promise<void> {\n setTrustBusy(true)\n setTrustError('')\n setTrustMessage('')\n try {\n const res = await fetch(`${API_BASE}/${path}`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n })\n const data = await res.json().catch(() => null)\n if (!res.ok || !data?.ok) {\n throw new Error(data?.error || `HTTP ${res.status}`)\n }\n applyTrustResponse(data as TrustInfo & { ok?: boolean; error?: string })\n setTrustMessage(okMessage)\n } catch (err) {\n setTrustError(err instanceof Error ? err.message : String(err))\n } finally {\n setTrustBusy(false)\n }\n }\n\n async function addTrustedUser(): Promise<void> {\n const id = newTrustId.trim()\n if (!id) return\n await trustRequest('trust/add', { userId: id, note: newTrustNote.trim() || undefined }, `已添加:${id}`)\n setNewTrustId('')\n setNewTrustNote('')\n }\n\n function removeTrustedUser(userId: string): void {\n if (!window.confirm(`确认吊销 ${userId}?其后续消息将被拒绝,已有会话历史保留。`)) return\n void trustRequest('trust/remove', { userId }, `已吊销:${userId}`)\n }\n\n function changeTrustMode(mode: TrustInfo['mode']): void {\n void trustRequest('trust/config', { mode }, `信任模式已切换为:${TRUST_MODE_LABELS[mode]}`)\n }\n\n function toggleNotifyRejected(enabled: boolean): void {\n void trustRequest('trust/config', { notifyRejected: enabled }, enabled ? '已开启陌生人联系提醒' : '已关闭陌生人联系提醒')\n }\n\n useEffect(() => {\n if (setupPhase !== 'qr' || !qrcodeId) return\n\n let cancelled = false\n let timer: number | undefined\n\n async function poll(): Promise<void> {\n try {\n const res = await fetch(`${API_BASE}/setup/status?qrcodeId=${encodeURIComponent(qrcodeId)}`, { cache: 'no-store' })\n if (!res.ok) throw new Error(`HTTP ${res.status}`)\n const data = await res.json()\n if (cancelled) return\n\n if (data.status === 'confirmed') {\n setSetupPhase('confirmed')\n setBoundAccountId(data.accountId || '')\n setDaemonMessage(data.daemon || '')\n void refresh()\n return\n }\n\n if (data.status === 'expired' || (data.status === 'error' && !data.retryable)) {\n setSetupPhase('error')\n setSetupError(data.message || '绑定失败,请重试')\n return\n }\n\n timer = window.setTimeout(() => void poll(), 3000)\n } catch (err) {\n if (!cancelled) {\n setSetupPhase('error')\n setSetupError(err instanceof Error ? err.message : String(err))\n }\n }\n }\n\n void poll()\n return () => {\n cancelled = true\n if (timer) window.clearTimeout(timer)\n }\n }, [setupPhase, qrcodeId, refresh])\n\n function cancelSetup(): void {\n setSetupPhase('idle')\n setQrcodeDataUrl('')\n setQrcodeId('')\n setSetupError('')\n setDaemonMessage('')\n }\n\n const actions: Array<{ label: string; run: () => void; disabled?: boolean }> = [\n { label: '刷新状态', run: () => void refresh() },\n { label: '扫码绑定', run: () => void startSetup(), disabled: setupPhase === 'starting' || setupPhase === 'qr' },\n { label: '启动', run: () => void run('start'), disabled: busy !== null },\n { label: '停止', run: () => void run('stop'), disabled: busy !== null },\n { label: '重启', run: () => void run('restart'), disabled: busy !== null },\n { label: '查看日志', run: () => void showLogs(), disabled: busy !== null },\n ]\n\n return (\n <div style={panelStyle} role=\"region\" aria-label=\"DSH 微信桥接管理面板\">\n <div style={titleStyle}>📱 DSH 微信桥接</div>\n\n {error && <div role=\"alert\" style={{ color: '#e5484d', marginBottom: 8 }}>{error}</div>}\n\n <label style={{ display: 'block', marginBottom: 8, fontSize: 12 }}>\n DSH 工作目录\n <input\n type=\"text\"\n value={workingDir}\n onChange={(e) => setWorkingDir(e.target.value)}\n placeholder=\"例如 ~/Documents/DSH\"\n style={{ ...inputStyle, marginLeft: 8 }}\n />\n </label>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>项目对话绑定</div>\n <div style={{ fontSize: 12, opacity: 0.8 }}>\n {boundProject\n ? `当前绑定:${boundProject.workspaceTitle} · ${boundProject.path} · ${boundProject.sessionId.slice(-8)}`\n : '当前未绑定:微信消息使用独立桥接会话(也可选择项目对话以共享记忆)。'}\n </div>\n <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap', alignItems: 'center', marginTop: 6 }}>\n <select\n value={projectChoice}\n onChange={(e) => setProjectChoice(e.target.value)}\n style={selectStyle}\n aria-label=\"选择要绑定的项目会话\"\n >\n <option value=\"\">— 选择要绑定的项目会话 —</option>\n {projects.map((project) => (\n <option key={project.sessionId} value={project.sessionId}>\n {project.workspaceTitle} · {project.path} · {project.sessionId.slice(-8)}\n </option>\n ))}\n </select>\n <button type=\"button\" style={buttonStyle} disabled={!projectChoice || projectBusy} onClick={() => void bindProject()}>\n 绑定\n </button>\n <button type=\"button\" style={buttonStyle} disabled={projectBusy || !boundProject} onClick={() => void detachProject()}>\n 解除绑定\n </button>\n </div>\n {projectMessage && (\n <div role=\"status\" style={{ color: '#2f9e44', marginTop: 6, fontSize: 12 }}>{projectMessage}</div>\n )}\n {projectError && (\n <div role=\"alert\" style={{ color: '#e5484d', marginTop: 6, fontSize: 12 }}>{projectError}</div>\n )}\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>主动通知节流</div>\n {notifyStatus ? (\n <div style={{ fontSize: 12, opacity: 0.85 }}>\n 今日已发 <strong>{notifyStatus.dailySent}</strong> / {notifyStatus.dailyLimit} 条 · 近一小时{' '}\n <strong>{notifyStatus.hourlySent}</strong> / {notifyStatus.hourlyLimit} 条 · 排队中{' '}\n <strong>{notifyStatus.pendingCount}</strong> 条\n <div style={{ marginTop: 4, fontSize: 12, opacity: 0.7 }}>\n agent 通过 wechat_notify 主动推送的通知,超限自动排队延迟发送,避免触发微信风控。\n </div>\n </div>\n ) : (\n <div style={{ fontSize: 12, opacity: 0.7 }}>守护进程未运行,暂无数据。</div>\n )}\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>⏳ 超时安抚</div>\n <div style={{ fontSize: 12, opacity: 0.7, marginBottom: 8 }}>\n DSH 长时间没有产出消息时,主动发一条\"还在处理\"的安抚消息。改配置后即时生效(最长延迟数秒)。\n </div>\n <label style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 12, marginBottom: 8 }}>\n <input\n type=\"checkbox\"\n checked={calm.enabled}\n onChange={(e) => setCalm((c) => ({ ...c, enabled: e.target.checked }))}\n />\n 启用安抚消息\n </label>\n <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center', marginBottom: 8 }}>\n <label style={{ fontSize: 12 }}>\n 首次静默(分钟)\n <input\n type=\"number\"\n min={1}\n value={calm.silenceMin}\n onChange={(e) => setCalm((c) => ({ ...c, silenceMin: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n <label style={{ fontSize: 12 }}>\n 重复间隔(分钟)\n <input\n type=\"number\"\n min={1}\n value={calm.intervalMin}\n onChange={(e) => setCalm((c) => ({ ...c, intervalMin: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n <label style={{ fontSize: 12 }}>\n 每轮上限(次,0=不限)\n <input\n type=\"number\"\n min={0}\n value={calm.maxCount}\n onChange={(e) => setCalm((c) => ({ ...c, maxCount: e.target.value }))}\n style={{ ...inputStyle, marginLeft: 6, minWidth: 70 }}\n />\n </label>\n </div>\n <label style={{ fontSize: 12, display: 'block', marginBottom: 6 }}>\n 自定义文案(每行一条,留空用内置默认;每次随机取一条)\n <textarea\n value={calm.messages}\n onChange={(e) => setCalm((c) => ({ ...c, messages: e.target.value }))}\n rows={3}\n style={{\n ...inputStyle,\n display: 'block',\n marginTop: 4,\n minWidth: '100%',\n boxSizing: 'border-box',\n resize: 'vertical',\n fontFamily: 'inherit',\n }}\n />\n </label>\n <div style={{ display: 'flex', gap: 8, alignItems: 'center' }}>\n <button type=\"button\" style={buttonStyle} disabled={calmBusy} onClick={() => void saveCalm()}>\n 保存安抚设置\n </button>\n {calmMessage && <span role=\"status\" style={{ color: '#2f9e44', fontSize: 12 }}>{calmMessage}</span>}\n {calmError && <span role=\"alert\" style={{ color: '#e5484d', fontSize: 12 }}>{calmError}</span>}\n </div>\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>💤 防休眠</div>\n <div style={{ fontSize: 12, opacity: 0.7, marginBottom: 8 }}>\n 守护进程运行期间抑制系统休眠(锁屏/合盖不挂起,微信消息持续响应)。macOS 用 caffeinate、Linux 用 systemd-inhibit、Windows 尽力而为。\n </div>\n <label style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 12 }}>\n <input\n type=\"checkbox\"\n checked={preventSleep}\n disabled={calmBusy}\n onChange={(e) => void changePreventSleep(e.target.checked)}\n />\n 启用防休眠(重启守护进程后生效)\n </label>\n </div>\n\n <div style={{ marginBottom: 12 }}>\n <div style={{ ...titleStyle, marginBottom: 4 }}>🔐 信任用户(多用户)</div>\n {!trust ? (\n <div style={{ fontSize: 12, opacity: 0.7 }}>加载中…</div>\n ) : (\n <>\n <div style={{ fontSize: 12, opacity: 0.85, marginBottom: 6 }}>\n 信任模式\n <select\n value={trust.mode}\n onChange={(e) => changeTrustMode(e.target.value as TrustInfo['mode'])}\n disabled={trustBusy}\n style={{ ...inputStyle, marginLeft: 8, minWidth: 240 }}\n aria-label=\"选择信任模式\"\n >\n <option value=\"owner-only\">{TRUST_MODE_LABELS['owner-only']}</option>\n <option value=\"bootstrap\">{TRUST_MODE_LABELS.bootstrap}</option>\n <option value=\"manual\">{TRUST_MODE_LABELS.manual}</option>\n </select>\n </div>\n {trust.mode === 'bootstrap' && trust.bootstrapConsumed && (\n <div style={{ fontSize: 12, color: '#b7791f', marginBottom: 6 }}>\n ⚠️ bootstrap 首次名额已用完,后续陌生人不会再自动入集,请用下方表单手动添加或切到 manual。\n </div>\n )}\n <label style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 12, marginBottom: 8 }}>\n <input\n type=\"checkbox\"\n checked={trust.notifyRejected}\n disabled={trustBusy}\n onChange={(e) => toggleNotifyRejected(e.target.checked)}\n />\n 陌生人尝试联系时向 owner 推送提醒\n </label>\n <div style={{ fontSize: 12, opacity: 0.7, marginBottom: 8 }}>\n owner:{trust.owner || '(未绑定)'} · 信任用户:{trust.trusted.length} 个\n </div>\n {trust.trusted.length > 0 && (\n <div style={{ marginBottom: 8, display: 'flex', flexDirection: 'column', gap: 6 }}>\n {trust.trusted.map((u) => (\n <div\n key={u.userId}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 8px',\n background: 'var(--surface-3, rgba(127,127,127,.05))',\n border: '1px solid var(--border-color, rgba(127,127,127,.12))',\n borderRadius: 6,\n }}\n >\n <span style={{ fontWeight: 600 }}>{u.userId}</span>\n {u.note && <span style={{ opacity: 0.7, fontSize: 12 }}>{u.note}</span>}\n <span style={{ marginLeft: 'auto', fontSize: 11, opacity: 0.6 }}>\n {u.by === 'bootstrap' ? '自动入集' : u.by === 'restore' ? '迁移导入' : '手动添加'} · {formatTime(u.lastSeenAt)}\n </span>\n <button\n type=\"button\"\n style={{ ...buttonStyle, color: '#e5484d' }}\n disabled={trustBusy}\n onClick={() => removeTrustedUser(u.userId)}\n >\n 吊销\n </button>\n </div>\n ))}\n </div>\n )}\n <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap', alignItems: 'center' }}>\n <input\n type=\"text\"\n value={newTrustId}\n onChange={(e) => setNewTrustId(e.target.value)}\n placeholder=\"要添加的微信 userId\"\n style={{ ...inputStyle, minWidth: 180 }}\n />\n <input\n type=\"text\"\n value={newTrustNote}\n onChange={(e) => setNewTrustNote(e.target.value)}\n placeholder=\"备注(可选)\"\n style={{ ...inputStyle, minWidth: 120 }}\n />\n <button type=\"button\" style={buttonStyle} disabled={trustBusy || !newTrustId.trim()} onClick={() => void addTrustedUser()}>\n 添加信任\n </button>\n </div>\n {trustMessage && <div role=\"status\" style={{ color: '#2f9e44', marginTop: 6, fontSize: 12 }}>{trustMessage}</div>}\n {trustError && <div role=\"alert\" style={{ color: '#e5484d', marginTop: 6, fontSize: 12 }}>{trustError}</div>}\n <div style={{ fontSize: 12, opacity: 0.7, marginTop: 8 }}>\n 信任用户与 owner 各自拥有独立会话、独立上下文,互不可见。撤销信任后其新消息将被拒绝,但已有历史保留。\n 修改信任模式后,新入站消息立即生效,无需重启。\n </div>\n </>\n )}\n </div>\n\n {setupPhase === 'starting' && (\n <div role=\"status\" style={{ marginBottom: 8 }}>正在生成二维码…</div>\n )}\n\n {setupPhase === 'qr' && qrcodeDataUrl && (\n <div style={{ marginBottom: 8 }}>\n <div style={{ fontWeight: 600, marginBottom: 4 }}>请用微信扫描下方二维码完成绑定</div>\n <img\n src={qrcodeDataUrl}\n alt=\"微信扫码绑定二维码\"\n width={240}\n height={240}\n style={{ display: 'block', maxWidth: '100%', height: 'auto', borderRadius: 8, background: '#fff' }}\n />\n <div style={{ fontSize: 12, opacity: 0.7, marginTop: 4 }}>\n 工作目录:{workingDir || '未设置'}。等待扫码确认中…\n </div>\n <button type=\"button\" style={{ ...buttonStyle, marginTop: 8 }} onClick={cancelSetup}>\n 取消绑定\n </button>\n </div>\n )}\n\n {setupPhase === 'confirmed' && (\n <div role=\"status\" style={{ marginBottom: 8, color: '#2f9e44' }}>\n ✅ 绑定成功{boundAccountId ? `:${boundAccountId}` : ''},{daemonMessage || '桥接已自动重启/启动。'}\n </div>\n )}\n\n {setupPhase === 'error' && (\n <div role=\"alert\" style={{ marginBottom: 8, color: '#e5484d' }}>\n ❌ {setupError}\n <button type=\"button\" style={{ ...buttonStyle, marginLeft: 8 }} onClick={() => setSetupPhase('idle')}>\n 重新扫码\n </button>\n </div>\n )}\n\n <pre style={outputStyle} aria-live=\"polite\">{output}</pre>\n\n <div style={buttonRowStyle}>\n {actions.map((action) => (\n <button\n key={action.label}\n type=\"button\"\n style={buttonStyle}\n disabled={action.disabled ?? false}\n onClick={action.run}\n >\n {action.label}\n </button>\n ))}\n </div>\n\n <div style={hintStyle}>\n 也可在 DSH 对话中直接使用 wechat_bridge_setup / wechat_bridge_status / wechat_bridge_start / wechat_bridge_stop / wechat_bridge_logs 等工具。\n </div>\n </div>\n )\n}\n","/**\n * @lanbaolu/dsh-wechat-bridge — Web 管理面板。\n *\n * 渲染在 settings.section 槽位(设置页),不绑定具体会话,打开任何任务前都可通过\n * 侧边栏 Settings 进入;通过 DSH Web 同源路由读取/控制桥接状态。\n */\nimport type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'\nimport { WechatBridgePanel } from './Panel.js'\n\nexport const inject = ['slots']\n\nexport function apply(ctx: ClientContext): void {\n ctx.effect(() => ctx.slots.inject('settings.section', () =>\n ctx.slots.register({\n name: 'settings.section',\n id: '@lanbaolu/dsh-wechat-bridge-panel',\n order: 55,\n label: () => '📱 微信桥接',\n }, WechatBridgePanel),\n ), '@lanbaolu/dsh-wechat-bridge: panel')\n}\n"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -902,10 +902,13 @@ export function apply(ctx, config) {
|
|
|
902
902
|
async function stopDaemon() {
|
|
903
903
|
const pid = daemonPid();
|
|
904
904
|
if (bridgeChild && bridgeChild.pid !== undefined && bridgeChild.exitCode === null) {
|
|
905
|
-
|
|
905
|
+
// 局部引用:await 期间 daemon 退出会触发 child.on('exit') 把 bridgeChild 清成
|
|
906
|
+
// undefined,后续访问 bridgeChild.exitCode 会抛 TypeError(扫码重绑时曾出现)。
|
|
907
|
+
const child = bridgeChild;
|
|
908
|
+
child.kill();
|
|
906
909
|
await new Promise(r => setTimeout(r, 500));
|
|
907
|
-
if (
|
|
908
|
-
|
|
910
|
+
if (child.exitCode === null) {
|
|
911
|
+
child.kill('SIGKILL');
|
|
909
912
|
}
|
|
910
913
|
}
|
|
911
914
|
else if (pid) {
|
|
@@ -942,6 +945,7 @@ export function apply(ctx, config) {
|
|
|
942
945
|
systemPrompt: raw.systemPrompt,
|
|
943
946
|
notifyRejected: raw.notifyRejected === true || raw.notifyRejected === 'true',
|
|
944
947
|
usageFooter: raw.usageFooter === undefined ? undefined : (raw.usageFooter === true || raw.usageFooter === 'true'),
|
|
948
|
+
preventSleep: raw.preventSleep === undefined ? undefined : (raw.preventSleep === true || raw.preventSleep === 'true'),
|
|
945
949
|
calm: raw.calm && typeof raw.calm === 'object' ? raw.calm : undefined,
|
|
946
950
|
};
|
|
947
951
|
}
|
|
@@ -975,6 +979,8 @@ export function apply(ctx, config) {
|
|
|
975
979
|
data.notifyRejected = config.notifyRejected;
|
|
976
980
|
if (config.calm !== undefined)
|
|
977
981
|
data.calm = config.calm;
|
|
982
|
+
if (config.preventSleep !== undefined)
|
|
983
|
+
data.preventSleep = config.preventSleep;
|
|
978
984
|
writeFileSync(bridgeConfigPath(), JSON.stringify(data, null, 2) + '\n', 'utf8');
|
|
979
985
|
if (process.platform !== 'win32') {
|
|
980
986
|
chmodSync(bridgeConfigPath(), 0o600);
|
|
@@ -1233,28 +1239,41 @@ export function apply(ctx, config) {
|
|
|
1233
1239
|
kind: 'exact',
|
|
1234
1240
|
path: '/@lanbaolu/dsh-wechat-bridge/setup/start',
|
|
1235
1241
|
handler: async (req, res) => {
|
|
1236
|
-
let workingDirectory;
|
|
1237
1242
|
try {
|
|
1238
|
-
|
|
1239
|
-
|
|
1243
|
+
let workingDirectory;
|
|
1244
|
+
try {
|
|
1245
|
+
const body = await readBody(req);
|
|
1246
|
+
workingDirectory = typeof body.workingDirectory === 'string' ? body.workingDirectory : undefined;
|
|
1247
|
+
}
|
|
1248
|
+
catch {
|
|
1249
|
+
// body optional
|
|
1250
|
+
}
|
|
1251
|
+
const result = await startSetup(workingDirectory);
|
|
1252
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1253
|
+
res.end(JSON.stringify(result));
|
|
1240
1254
|
}
|
|
1241
|
-
catch {
|
|
1242
|
-
//
|
|
1255
|
+
catch (err) {
|
|
1256
|
+
// 不让异常冒泡到宿主 web server(会变成裸 HTTP 400,面板只能显示状态码)。
|
|
1257
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1258
|
+
res.end(JSON.stringify({ ok: false, status: 'error', message: err instanceof Error ? err.message : String(err), retryable: false }));
|
|
1243
1259
|
}
|
|
1244
|
-
const result = await startSetup(workingDirectory);
|
|
1245
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1246
|
-
res.end(JSON.stringify(result));
|
|
1247
1260
|
},
|
|
1248
1261
|
}));
|
|
1249
1262
|
disposers.push(webServer.register({
|
|
1250
1263
|
kind: 'exact',
|
|
1251
1264
|
path: '/@lanbaolu/dsh-wechat-bridge/setup/status',
|
|
1252
1265
|
handler: async (req, res) => {
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1266
|
+
try {
|
|
1267
|
+
const url = new URL(req.url || '/', `http://${req.headers.host || '127.0.0.1'}`);
|
|
1268
|
+
const qrcodeId = url.searchParams.get('qrcodeId') || '';
|
|
1269
|
+
const result = await checkSetupStatus(qrcodeId);
|
|
1270
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1271
|
+
res.end(JSON.stringify(result));
|
|
1272
|
+
}
|
|
1273
|
+
catch (err) {
|
|
1274
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1275
|
+
res.end(JSON.stringify({ ok: false, status: 'error', message: err instanceof Error ? err.message : String(err), retryable: false }));
|
|
1276
|
+
}
|
|
1258
1277
|
},
|
|
1259
1278
|
}));
|
|
1260
1279
|
// ---- 信任集管理(P1-2 / M4)----
|
|
@@ -1336,6 +1355,7 @@ export function apply(ctx, config) {
|
|
|
1336
1355
|
model: config.model ?? null,
|
|
1337
1356
|
usageFooter: config.usageFooter ?? undefined,
|
|
1338
1357
|
notifyRejected: config.notifyRejected ?? false,
|
|
1358
|
+
preventSleep: config.preventSleep ?? false,
|
|
1339
1359
|
calm: config.calm ?? {},
|
|
1340
1360
|
}));
|
|
1341
1361
|
return;
|
|
@@ -1353,9 +1373,12 @@ export function apply(ctx, config) {
|
|
|
1353
1373
|
const parsed = parseCalmConfig(body.calm);
|
|
1354
1374
|
config.calm = parsed ?? {};
|
|
1355
1375
|
}
|
|
1376
|
+
if (typeof body.preventSleep === 'boolean') {
|
|
1377
|
+
config.preventSleep = body.preventSleep;
|
|
1378
|
+
}
|
|
1356
1379
|
saveBridgeConfig(config);
|
|
1357
1380
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1358
|
-
res.end(JSON.stringify({ ok: true, calm: config.calm ?? {} }));
|
|
1381
|
+
res.end(JSON.stringify({ ok: true, calm: config.calm ?? {}, preventSleep: config.preventSleep ?? false }));
|
|
1359
1382
|
return;
|
|
1360
1383
|
}
|
|
1361
1384
|
res.writeHead(405, { 'Content-Type': 'application/json' });
|