Repository navigation
docs: 新增双语插件 API 参考与版本对照,指南改为中英双语并按最新 preview 修正 - #20
Merged
Merged
Conversation
- contract/v1 同步到主仓库 docs/plugin-contract-fixtures-by-domain 的 51eede905:fixtures 按功能分为 manifest、languages、backend、editor、ui、 settings、build-systems、build-providers、debug-adapters、vcs、 keymap-import、project-generators、toolchains、package-trust、marketplace; toolchains.md 改为 toolchains/README.md,proposals/toolchains/ 并入 toolchains/proposal/;三个顶层 schema 的路径和 $id 不变 - Node、Java、Rust SDK 测试改为读取 fixtures/backend/function-protocol.json - README 的契约文件表、后端工作区和调试适配器指南改为新路径 - 主仓库 PR 合并后需要用合并后的 preview commit 重新同步
契约更正:Windows 的工具链、市场与磁盘安装现状说明按代码改写, Lua 模板第 5 步只列 darwin 平台,签名向量说明不再声称 Windows 已有签名模块。
- reference/api-catalog.md:API-01–44 逐项列出现在能用的方法、缺口和功能页 - reference/capabilities-and-versions.md:插件 API 级别、requires 能力版本、 进程协议版本、文档格式版本,按 Core、macOS、Windows 和官方 SDK 对照 - reference/domains/:15 个功能页,每页有版本对照表、宿主现状、契约章节、 fixture 和相关指南 - reference/README.md:索引页,列出每个功能页对应的 API 编号和能力 ID
- README 与 guides/ 全部改为上中文、下英文的双语页面,保留原中文锚点
- 宿主现状统一以主仓库最新 preview 为基准,不再钉 0.6.x 稳定版版本号
- LSP 指南按 Lua 模板 v0.3.1(API 2、${logDir}、运行提供者)、磁盘安装、免重启范围和 Windows 现状重写
- contract.lock.json 指向 #1747 合入后的 644afdaac(契约内容不变)
按 Lithe 主仓库 preview 的第一父历史,逐个记录修改插件契约、Core 能力表或插件函数协议的 PR:合入日期、改动的协议/能力/API 和具体内容,并给出每个版本首次出现的 PR。README 与 reference 导航表、契约同步的维护说明加上这一页的链接。
xiaoyumuxi
marked this pull request as ready for review
November 5, 2026 03:51
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.
背景
contract/v1下的 fixtures 平铺在一起,找不到某个功能对应的样例;仓库里也没有一处能看到 API-01–44 全集和每个协议的全部版本;文档只有中文,宿主现状的说法还停在旧稳定版上。这个 PR 做四件事:reference/:API 总表、全部版本对照、按功能分页的参考;preview为准核对并修正;改动
1. 契约同步(
contract/、contract.lock.json)node scripts/contract.mjs sync同步到 1lck/Lithe-IDEA@644afdaac(#1747 合入后的 preview),没有手改副本。backend/、build/、debug/、marketplace/、toolchains/等),Java 模板示例按要求保留。644afdaac的契约内容和此前同步的0fb748a41完全相同,锁文件只换了修订号。function-protocol.json的路径改为fixtures/backend/function-protocol.json(Nodebackend.test.mjs、host.test.mjs,JavaBackendTest、HostTest,Rusthost_services.rs)。2. 新增
reference/(中英双语)reference/README.md:参考区入口,说明各页的用途和阅读顺序。reference/api-catalog.md:API-01–44 总表,每个 API 写明所属领域、清单字段/协议、能力版本、Core/macOS/Windows 现状和对应的参考页。reference/capabilities-and-versions.md:每个能力、进程协议、文档格式的全部版本用表格列出,并逐版对照 Rust Core、macOS、Windows 和三个官方 SDK 的支持情况。还有 SDK 各版本要求的协议与litheLogging表。核对基准是 preview644afdaac。reference/domains/按功能分 15 页:manifest、package-trust、marketplace、languages、editor、settings、ui、backend、build-providers、build-systems、debug-adapters、toolchains、vcs、keymap-import、project-generators。每页列出该领域的字段、版本表、相关 fixture 和宿主对照。3. README 与指南改为双语
README.md和guides/下全部 7 篇(build-tool-integration、debug-adapter-plugin、lsp-plugin-lifecycle、native-build-workflows、native-terminals、plugin-backend-workspace、plugin-logging)都改为统一的双语结构,README 的导航表同时加入reference/各页:中文 / English,下面是[中文](#中文) · [English](#english)切换链接;## 中文全文,---之后是## English全文;4. 按最新 preview 修正的现状说明
preview核对。不再钉具体稳定版版本号,只提醒稳定版可能还没有其中的能力,发布前以目标版本为准。build-providers、build-systems、debug-adapters去掉“开发中”标注;原生构建工作流说明改为“macOS 宿主已实现buildProviders2–6,Windows 不支持构建提供者”。litheLogging1,preview 已提供;需要兼容不提供它的版本时,继续用 Node/Java 0.2.0 或 Rust 0.1.0,并且在稳定版提供之前把 Release 标为预发布。调试适配器指南里的预发布/转正规则也按这个改写。launch。清单可以声明attach,但宿主目前只在构建提供者服务运行的连接调试(buildProviders11)中选用;用户手填主机和端口的远程 attach 还没有宿主入口。debug.attach权限只在适配器列出attach时需要,也只有这时才允许。--build-workflows的默认行为(native-build-workflows):契约镜像已包含buildProviders6,所以默认的sdk-e2e.mjs就会运行原生构建工作流场景。这个参数只用于对较旧的镜像或宿主分支显式加入这些场景,每周的 preview 检查也显式带上它。guides/lsp-plugin-lifecycle.md):0.3.1;最小示例改为 API 2,参数["${logDir}"]与模板启动器一致;说明 API 1 参数是字面量,只支持 API 1 的启动器要自己选日志目录;模板还带运行lua <文件>的执行提供者。${logDir}传给--logpath,meta 放在~/Library/Caches/io.github.lithe-idea.lua-support/meta,再exec真实服务器。API 2 直连示例改为--logpath=${logDir}加--metapath=${workspaceStateDir}。lithe-plugin-index.json,发布前至少走一次。开发构建按本地开发包处理是另一条信任路径。executionProviders,也不提供logDirectory,所以用到${logDir}的启动会以plugin.launch.invalidRequest被拒绝。排查表新增这一行。--expect-tag v0.3.1;回滚使用安装记录中保留的上一版本,LSP 插件在重启后切换。5. 新增插件协议更新记录(
reference/protocol-changelog.md,只有中文)preview第一父历史中,修改了契约shared/contracts/plugins/v1/、Core 能力表capabilities.rs或插件函数协议plugin_function.rs的 PR,从 #1170(2026-10-14,契约 v1 进入 preview)到 #1747(2026-11-05),共 42 个。三处都没改、只改宿主内部实现的 PR 不收录。requires能力版本、每个进程协议版本,各自是哪天由哪个 PR 引入。[@账号](https://github.com/账号)链接,账号用gh从 1lck/Lithe-IDEA 逐个查出。文件里的链接不会通知任何人;通知靠同步 PR 描述里的 @,见下方“请修改人核对”。capabilities.rs、plugin_function.rs、manifest/index schema 和契约 README 上的 diff 核对。时间线的 42 行和上述git log结果逐个比对,无缺漏、无重复。日期是合入 preview 的提交日期。node scripts/contract.mjs sync时,在同一个 PR 里怎么补:用给出的git log命令列出两次同步之间的 PR,补到时间线最上面,新版本加粗并写进首次出现表,用给出的gh pr view命令查修改人,改“记录到”的 commit,同步更新版本对照页和受影响的功能页,最后在同步 PR 描述里 @ 每位修改人。主仓库AGENTS.md同步加上了这条登记规则(docs(agents): 插件协议和 API 变更合入后要在 lithe-plugin-docs 登记并 @ 修改人 1lck/Lithe-IDEA#1750)。reference/README.md的“从哪里开始”(中英两半,英文半标注 Chinese only),以及根 README 的 reference 表和契约同步维护说明,都加了这一页的链接。请修改人核对
这次登记了 42 个 PR,请各位核对自己那几行的协议/API 和改动说明:
验证
node scripts/contract.mjs verify --upstream:91 个文件与644afdaac一致node scripts/contract.mjs drift --ref preview:与上游 preview 无漂移node --test scripts/*.test.mjs:16/16 通过node --test sdk/node/test/*.test.mjs:77/77 通过mvn -f sdk/java/pom.xml test:64/64 通过cargo test --manifest-path sdk/rust/Cargo.toml --test host_services:13/13 通过本 PR 没有改动 SDK 源码和发布流程,不需要发 SDK 新版本。