Repository navigation
fix(desktop): 跟进 Core #26/#27,固定到 0be1d34 并改用 rust/crates/ 路径 - #1872
Merged
Merged
Conversation
- build-desktop-core.sh 固定 Lithe-core-rust 439f42f,头文件改从 rust/crates/core/include/lithe_core.h 复制;desktop_go_test.go 与 errors.go 注释同步新路径 - 笔记、AGENTS.md、develop-lithe 与 lithe-code-review Skill、文档、 资源清单和平台功能矩阵里的 rust/lithe-* 路径改成 rust/crates/*, 只改 439f42f 中存在的路径;固定修订链接和已删除文件的历史记录不动 - develop-lithe 的 Core 范围改成 rust/crates/ 下的所有 crate - 删除 core-rules wasm 的资源清单条目、复用脚本注释、测试和 ci-builds.md 段落;core-rules 笔记改名为同步规则 crate 并说明保留原因 - 删除 community-auth、community-feed 两条矩阵记录,viva-migration.md 记录“不做:社区论坛” - NOTICE 只列本仓库仍在的 OpenIDEA 派生文件 loginenv.go,JDK 选择策略 指向 Java Support 插件
- build-desktop-core.sh 固定 Lithe-core-rust 0be1d34(#27:拆出 protocol、network、terminal、process、diff、github crate,keymap 与动作搜索并入 lithe-core-rules;命令、JSON、错误码和头文件不变) - errors.go 注释、功能矩阵和两篇 GitHub 笔记里的 Core 路径改到新 crate - core-rules 笔记补上 keymap.* 与 search.actions 规则、 unicode-normalization 依赖和 editor_essentials.go 调用点
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
关联 Issue / Linked issue
439f42f:crate 移到rust/crates/,删除社区命令和 wasm 入口)0be1d34:拆出 protocol、network、terminal、process、diff、github crate,keymap 与动作搜索并入 lithe-core-rules)PR 类型 / Type
改动说明 / What changes
背景 / Why
Core #26 把所有 crate 从
rust/lithe-*/移到了rust/crates/<去掉 lithe- 前缀>/,C 头文件现在在rust/crates/core/include/lithe_core.h。它还删除了community.discourse.*命令和 core-rules 的 wasm 构建。Core #27 又把 protocol、network、terminal、process、diff、github 拆成独立 crate,并把 keymap 和动作搜索并入
lithe-core-rules;命令、JSON、错误码和头文件都没有变。本仓库原来固定在
f113e9e,构建脚本仍从旧路径复制头文件。Skill、笔记、文档、资源清单和功能矩阵里也有大量指向旧路径、wasm 资源和社区功能的内容。把 pin 升到0be1d34后,这些内容必须一起更新,否则构建失败,文档也会指向不存在的路径。改动 / Changes
Core 固定修订与构建
scripts/desktop/build-desktop-core.sh:PINNED_CORE_REVISION升到0be1d34f8926fc284a23874a4f6a57a14e339de8(含 [Bug] 只能打开pom.xml所在的目录才能检测到Maven, 如果打开的是父目录, 不会自动检测, 也没法手动指定pom.xml位置 #26 和 [Feature] 有关扩展还有LSP实现方案的讨论 #27);头文件改从rust/crates/core/include/lithe_core.h复制;注释补上 [Bug] 只能打开pom.xml所在的目录才能检测到Maven, 如果打开的是父目录, 不会自动检测, 也没法手动指定pom.xml位置 #26、[Feature] 有关扩展还有LSP实现方案的讨论 #27 的内容。desktop/internal/core/desktop_go_test.go:模拟的 Core 检出里,头文件路径改成新位置。desktop/internal/core/errors.go:错误码来源注释改成rust/crates/protocol/src/error.rs([Feature] 有关扩展还有LSP实现方案的讨论 #27 移入 lithe-protocol)。Core 路径(
rust/lithe-*→rust/crates/*)rust/crates/...路径在0be1d34中都存在(固定修订链接除外)。下面几类不改:blob/<40 位 sha>/rust/lithe-core/...。AGENTS.md(插件协议文件路径).agents/skills/develop-lithe/references/logging.md.agents/skills/lithe-code-review/references/*.agents/notes/implemented/**中引用现存 Core 文件的笔记docs/ci-builds.md(remote 路径)docs/development/windows-ai-commit.md:AI 代码改为rust/crates/ai/src/...,测试命令改为-p lithe-ai --libdocs/development/macos-plugin-api-plan.md:原来的相对链接改成 Core 仓库main上的rust/crates/core/src/plugins/...、rust/crates/ide-host/src/catalog.rsscripts/resources/worktree-resources.json及其测试(catalog_generated路径)shared/platform-feature-matrix/features/*.json:90 个文件的证据路径和说明改成新路径;ai-inline-edit、ai-pull-request-description改成rust/crates/ai/src/。keymap-customization、search-global改到rust/crates/core-rules/src/;network-proxy-settings、process-termination-policy、run-processes-end-with-ide、terminal-interaction、git-rebase-stash改到rust/crates/{network,process,terminal,protocol}/src/;rust/crates/github/src/lib.rs;rust/crates/core-rules/src/action_search.rs。develop-lithe Skill 的 Core 范围
rust/crates/下的每个 crate”,C ABI 入口是rust/crates/core/。删除 core-rules wasm 的残留
worktree-resources.json的core-rules-wasm条目,以及reuse-worktree-resources.mjs中的两行 wasm 注释。test-reuse-worktree-resources.mjs中对应的测试。docs/ci-builds.md里“Windows 前端用到的纯规则……wasm”这一段。2026-11-05-core-rules-wasm-sync-bridge.md改名为2026-11-05-core-rules-sync-crate.md,内容改写为:lithe-core-rulescrate 的原因:由编译器保证规则不依赖 I/O;keymap.parseContext、keymap.evaluateContext、keymap.analyzeConflicts、keymap.schemes.reduce和search.actions,以及unicode-normalization依赖。删除社区功能
community-auth.json和community-feed.json。docs/viva-migration.md:在两行社区功能后注明“不做”,并新增“不做:社区论坛(2026-11-13 用户决定)”一节,记录 Core [Bug] 只能打开pom.xml所在的目录才能检测到Maven, 如果打开的是父目录, 不会自动检测, 也没法手动指定pom.xml位置 #26 删掉的模块、命令、fixture 和依赖。NOTICE
MacLoginShellEnvironment.swift和java_selection.rs,都已不在本仓库。desktop/internal/loginenv/loginenv.go。不在本 PR 范围内 / Out of scope
macos/、windows/tauri/)的遗留内容按之前的约定等用户决定,本 PR 没有改:windows/tauri/...、macos/...的证据路径,包括windows-startup-feedback.json中已删除的rust/lithe-agent-host/*和git-status-commit.json中已删除的git_path_roundtrip.rs。这两处属于旧 Windows 客户端的证据列表。.gitattributes、测试稳定性脚本里的旧目录前缀。类型专属:fix
复现与根因
439f42f或更新的修订后,build-desktop-core.sh还在旧路径rust/lithe-core/include/lithe_core.h找头文件,构建失败。期望结果是头文件从新路径复制,构建和测试通过。另外,文档和 Skill 中的 Core 路径都指向已不存在的位置。这一项不是用户可观察的缺陷,属于跟进 Core 目录调整。检查项
desktop_go_test.go已改为模拟新的头文件路径。rust/lithe-,剩下的都是固定修订链接、已删除文件的历史记录,或上面列出的旧客户端证据路径。.agents/notes/implemented/bug-fix/记录:没有改变行为约束;core-rules 的取舍记录在改名后的架构笔记里。范围检查 / Scope checks
功能矩阵 / Feature matrix
shared/platform-feature-matrix/features/<id>.json:删除两条社区记录,更新 90 个文件的 Core 证据路径;实现状态和验证状态都没有改。./scripts/platform-feature-matrix/verify-platform-feature-matrix.sh和./scripts/platform-feature-matrix/verify-platform-feature-matrix-change.sh origin/preview HEAD。.artifacts/下生成的矩阵视图。统一日志系统 / Structured logging
N/A:没有改动日志事件或失败路径。
界面文案 / i18n
N/A:没有界面文案改动(已运行两项 i18n 检查,均通过)。
逻辑归属 / Logic placement
N/A:没有业务逻辑改动。
性能与内存 / Performance and memory
N/A:没有运行时改动。
设置 / Settings
N/A:没有设置改动。
插件契约 / Plugin contract
scripts/desktop/build-desktop-core.sh的PINNED_CORE_REVISION已升到0be1d34,桌面端测试经scripts/desktop/desktop-go.sh读到的就是这份契约。sdk-e2e.mjs:没有修改。发行包与资源 / Bundle and resources
scripts/resources/worktree-resources.json、reuse-worktree-resources.mjs、对应测试和docs/ci-builds.md:删除core-rules-wasm条目和说明。无用代码与重构 / Dead code and refactoring
refactor标签的 Issue:用户要求一次处理完,能修的已在本 PR 修掉;旧客户端遗留等用户决定,见“不在本 PR 范围内”。验证 / Verification
scripts/desktop/desktop-go.sh test ./...,分别在439f42f和0be1d34上拉取并构建 Core./scripts/agent-notes/verify-agent-notes.shnode scripts/resources/test-reuse-worktree-resources.mjs./scripts/platform-feature-matrix/verify-platform-feature-matrix.sh./scripts/platform-feature-matrix/verify-platform-feature-matrix-change.sh origin/preview HEADnode scripts/platform-feature-matrix/test-platform-feature-matrix.mjsnode scripts/i18n/verify-app-language-localization.mjs、node scripts/i18n/generate-i18n.mjs --check未能执行的检查和原因: 没有在 Windows 上构建。这次只改了路径和固定修订,Windows CI 会在标记 ready 后运行。
提交前确认 / Final checks
preview创建(已 rebase 到cc403726a);目标分支:preview