diff --git a/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.test.ts b/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.test.ts index 7ee7db83..f3cae19d 100644 --- a/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.test.ts +++ b/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.test.ts @@ -147,7 +147,7 @@ describe("digital employee sync service", () => { id: "plan:upsert:plan-2", dueForRetry: false, managementRecordUrl: - "https://manage.example.com/system/content/content-digital-employee-sync?client_key=client-key-001&entity_type=plan&entity_id=plan-2&outbox_id=plan%3Aupsert%3Aplan-2", + "https://manage.example.com/system/content/content-digital-employee-sync?entity_type=plan&entity_id=plan-2&outbox_id=plan%3Aupsert%3Aplan-2", attemptHistory: [ expect.objectContaining({ attemptNo: 1, diff --git a/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.ts b/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.ts index 5ec461a6..75ca5f02 100644 --- a/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.ts +++ b/qimingclaw/crates/agent-electron-client/src/main/services/digitalEmployee/syncService.ts @@ -636,7 +636,6 @@ function buildManagementRecordUrl( try { const endpoint = new URL(config.endpoint); const url = new URL(MANAGEMENT_SYNC_RECORD_PATH, endpoint.origin); - if (config.clientKey) url.searchParams.set("client_key", config.clientKey); url.searchParams.set("entity_type", row.entity_type); url.searchParams.set("entity_id", row.entity_id); url.searchParams.set("outbox_id", row.id); diff --git a/qimingclaw/docs/digital-employee-frontend-integration-plan.md b/qimingclaw/docs/digital-employee-frontend-integration-plan.md index 835cc57a..46eba3d7 100644 --- a/qimingclaw/docs/digital-employee-frontend-integration-plan.md +++ b/qimingclaw/docs/digital-employee-frontend-integration-plan.md @@ -448,6 +448,7 @@ crates/agent-electron-client/src/preload/webviewPerfBridge.ts - 同步状态通过 bridge 返回最近失败 outbox 明细,首页可直接看到实体类型、outbox ID、操作类型、重试次数、失败时间和下次自动重试时间。 - 本地 SQLite 额外记录 `digital_sync_attempts`,每次 outbox 推送成功、失败或部分 ack 缺失都会留下一次尝试历史,默认保留最近 30 天。 - 点击失败 outbox 可打开详情弹窗,查看完整错误、实体 ID、退避状态、最近重试历史,并可触发手动 `flushSync` 立即重试;若已配置管理端同步地址,详情弹窗可直接打开对应的管理端同步记录深链。 +- qimingclaw 自动生成的管理端深链只携带 `entity_type`、`entity_id`、`outbox_id`,避免在 URL 中暴露客户端 Key;管理端列表仍保留客户端 Key 手动筛选能力。 新增 IPC / Bridge: