[Feature] Viva 桌面客户端(desktop/)在 Windows 上构建、链接 Rust Core,并跑通欢迎页、工作台和日志窗口

Đang mở
#1,798 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go, rust, typescript
Lĩnh vực
desktop, devtools

Hướng nghiên cứu

Start with #1794 section 3 and the existing scripts under scripts/desktop/, then inspect desktop/desktop-go.sh, desktop/internal/workbench/app.go, desktop/internal/logwindow/window.go, and the Windows logstore path. Establish the required MSVC, Go, and Rust toolchain combination and fixed Rust Core revision before implementing. Done means the Windows build and listed UI, logging, session shutdown, and user data path checks run on Windows with screenshots and recorded results.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

review: high
Problem to solve / 要解决的问题

#1794 计划让 macOS 和 Windows 共用 desktop/ 下的 Viva(Go)客户端。第一个外壳 PR(Refs #1794)已经交付欢迎页、工作台外壳(六个 IDEA 式工具条锚点、可拖动工具按钮和插入线、标题栏齿轮菜单)、v2 结构化日志和一比一复刻 macOS 的“日志与诊断”窗口,但只在 macOS arm64 上构建和验证过。

Windows 上目前缺这些:

  • 构建入口只支持 macOS。 scripts/desktop/build-desktop-core.sh 和 desktop-go.sh 都是 zsh 脚本,会设置 MACOSX_DEPLOYMENT_TARGET,链接 rustc 报告的 macOS 系统库。Windows 上没有对应的入口能构建 Lithe-core-rust 静态库,再把它交给 cgo 链接。
  • 快捷键写死为 ⌘。 工作台(desktop/internal/workbench/app.go 的 onShortcut)和日志窗口(desktop/internal/logwindow/window.go 的按键处理)只认 ModifierMeta,菜单里显示的也是 ⌘,、⇧⌘L。Windows 上按 Ctrl 不会触发这些快捷键。
  • 桌面专属路径没有在 Windows 上验证过。 desktop/internal/logstore/dir_windows.go 和 store.Open 的 os.UserConfigDir() 已经有 Windows 分支,但还没有在 Windows 上实际运行过,也没有检查它们不会写进安装目录。
  • 终端移植还没接线。 desktop/internal/term、localshell、shellkind 是从 motty 移植过来的,没有接入工作台,localshell 也还没验证 Windows ConPTY。
Proposed solution / 建议方案
  1. 为 Windows 增加与 scripts/desktop/ 等价的构建入口:固定同一个 Lithe-core-rust 修订,在 MSVC 工具链下构建静态库,交给 cgo 链接;工具链组合(Go、MinGW 或 clang、Rust MSVC)按 #1794 第 3 节 P0 的要求确定,并记录 identity。
  2. 快捷键改为按平台映射:macOS 用 ⌘,Windows 用 Ctrl。映射规则和显示文本放进 Rust Core 现有的快捷键规则,不在 Go 里各写一份。
  3. 在 Windows 上跑通以下工作流,记录截图和验证结论:欢迎页、打开项目、六个锚点拖放、齿轮菜单、Ctrl+Shift+L 打开日志窗口、日志写入和查询、关闭项目时结束 Core 会话。
  4. 确认日志与偏好只写到 %LOCALAPPDATA%/%APPDATA% 下的平台目录,不写安装目录;对应的检查加进 Windows 资源只读验证。
Target platform / 目标平台

Windows

Area / 模块

UI / 界面

Priority / 优先级

P2 / 后续考虑:目前不着急,可安排到后续版本

Alternatives considered / 已考虑的替代方案
  • 继续让 Windows 只用 React/Tauri 客户端:与 #1794 统一两端界面的目标冲突,两端仍要各自维护。
  • 先用交叉编译证明 Windows 能构建:#1794 已明确说明交叉编译成功不等于能启动和退出,必须在 Windows 上实际运行验证。
Additional context / 补充信息
  • 上游计划:#1794(Windows/macOS 统一 Viva 工作台)。
  • macOS 外壳 PR 合入后,这里补上 PR 链接和 Lithe-core-rust 的固定修订。
  • 可以参考 .agents/skills/debug-windows-on-parallels/SKILL.md,在 Parallels 虚拟机里构建和运行 Windows 产品。
Checklist / 提交前检查
  • I searched existing issues for duplicates. / 我已搜索现有 Issue,确认没有重复建议。
Ngôn ngữ chính
TypeScript
Star
1.8k
Fork
151
Merge trung bình
10 giờ 29 phút
Pull request đã merge (30 ngày)
407

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của 1lck/Lithe-IDEA

Tất cả issue của 1lck/Lithe-IDEA

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.