Skip to content

fix(desktop): AI 文本对话改由后端请求 - #24

Open
ljh-696 wants to merge 2 commits into
cccyd2003-qwq:mainfrom
ljh-696:fix/desktop-advisor-backend-chat
Open

fix(desktop): AI 文本对话改由后端请求#24
ljh-696 wants to merge 2 commits into
cccyd2003-qwq:mainfrom
ljh-696:fix/desktop-advisor-backend-chat

Conversation

@ljh-696

@ljh-696 ljh-696 commented Jun 16, 2026

Copy link
Copy Markdown

Summary

  • 桌面端无图片 AI 对话/概览改由 Tauri 后端发送请求,避免 WebView fetch 被 OpenAI 兼容接口的 CORS preflight 阻断。
  • pinkbin-advisor 新增纯文本 chat 入口,并复用现有 provider 请求/解析逻辑;原 advise 仍保持 JSON 模式。
  • 启动时同步本地保存的 AI 配置到后端,避免 UI 显示已配置但后端状态为空。
  • reqwest 启用 system-proxy,保证后端请求仍可继承系统代理。

Scope

本 PR 只影响桌面端 text-only advisor chat:

  • 影响:扫描概览、普通文本问答。
  • 不影响:图片对话,仍走原前端路径。
  • 不影响:浏览器 preview,仍走原前端直连逻辑。
  • 不影响:扫描、清理、删除、回收站、scaffold 规则。

Why

部分 OpenAI 兼容接口可以正常处理服务端请求,但不会正确响应浏览器 CORS preflight。
桌面版运行在 Tauri 环境中,已有 Rust 后端和 provider 配置状态,因此 text-only AI 请求改由后端发送更稳定,也避免要求第三方兼容接口额外支持浏览器 CORS。

Notes

Cargo.lock 变化来自启用 reqwestsystem-proxy 特性。这样迁移到后端请求后,仍能沿用 Windows/macOS 系统代理行为,避免网络行为相对 WebView 退化。

图片对话暂未迁移,是为了控制本 PR 范围;图片请求仍保留原实现。

Test plan

  • cargo fmt --all -- --check
  • cargo test --workspace --no-fail-fast
  • cargo clippy --workspace --all-targets -- -D warnings
  • corepack pnpm -C apps/desktop build
  • corepack pnpm -C apps/desktop lint
  • cargo run -p pinkbin-scaffold-lint -- scaffolds\conda.toml scaffolds\wechat-pc.toml

ljh-696 added 2 commits June 17, 2026 01:42
Signed-off-by: Picard-ljh <273232403+Picard-ljh@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant