[Feature] 建立第三方插件开发、审核与市场分发完整闭环
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- devtools
Research direction
This is an epic spanning plugin identity/manifests, local import, review and distribution services — start by reading the linked issue #90 and the existing IDE API contract plus the official plugin example mentioned in the '当前基础' section, and diff the macOS native Bundle pipeline against the Windows declarative extension/Worker path to find where identity, manifest and package formats diverge. Nothing here is a single self-contained change; done means a first end-to-end slice (a third-party plugin developed outside the repo, locally imported, installed and updated on one platform) with signed package verification in place.
Written by the indexing model from the issue text.
Description
目标
建立第三方插件完整闭环:开发 → 本地导入测试 → 上传 → 审核 → 签名上架 → 应用内安装与更新。
当前基础
- macOS 已有原生 Bundle、模块生命周期和插件包校验机制。
- Windows 已有声明式扩展、Worker 和部分 SDK;本地导入入口目前主要面向语言插件。
- 已有 IDE API 契约和官方插件示例,但缺少完整的第三方开发文档与通用工具链。
- 两端插件身份、清单、包格式和运行接口尚未统一。
建设范围
- 跨平台运行底座:明确统一的插件身份、清单、API 版本与兼容性;实现权限验证、资源归属、禁用清理和故障隔离。允许平台专有能力,但必须明确声明。
- 开发者工具与文档:提供 SDK、API 参考、入门教程、独立示例、调试方式、通用校验及打包工具。
- 应用内本地导入:支持自主导入插件包、兼容性与完整性校验、启用/禁用和卸载;提供与正式发布信任策略明确区分的本地开发模式。
- 开发者发布后台:注册发布者、管理插件身份、上传版本、填写说明与权限、查看审核状态和驳回原因。上传入口与上传平台合并建设。
- 审核管理后台:自动检查清单、包内容、权限和兼容性;支持人工审核、驳回、上架、下架和问题版本撤回。
- 分发服务:提供不可覆盖的版本包、包签名、可信版本索引、平台/架构与宿主兼容性筛选、下载和更新;具备签名密钥轮换与撤销机制。
- 应用内插件市场:搜索、详情、安装、权限确认、更新、禁用、卸载和故障回滚;新增权限的更新需重新授权。
约束
- 项目目前没有购买 Apple Developer Program 会员,不以购买会员作为自建市场或普通声明式/JS 插件发布的前置条件。
- 区分 Lithe 市场包签名与 Apple 原生代码签名/公证;自有签名不能替代系统加载要求。原生 Bundle、LSP 和 CLI 工具另行明确平台验证及分发策略。
- 市场签名私钥仅在受保护的发布环境使用,不交给作者;不可信构建任务不能访问签名密钥。
- 复用现有插件能力与 IDE API,避免两端重复定义公共语义。运行时不得改写应用安装目录或插件版本包,状态和缓存使用平台可写目录。
- 首期可以采用 GitHub 投稿、人工审核、静态索引和文件存储实现闭环,后续再建设独立网站后台。
验收标准
- 第三方作者无需修改 Lithe 主仓库即可按文档独立开发、打包并本地测试示例插件。
- 作者能自主提交版本并看到审核结果;审核人员能完成发布与撤回。
- 至少一个使用公共 API 的插件在 macOS 和 Windows 完成同一套开发、分发、安装、更新及卸载流程。
- 不兼容、包被篡改、权限未授权、安装中断和插件激活失败均有明确反馈与恢复方式。
- 禁用或卸载后清理插件拥有的资源;更新失败可恢复可用版本,不破坏用户项目及应用发行基线。
关联
- #90:插件市场与插件管理界面。本 Issue 跟踪更完整的开发者、审核和分发闭环,界面工作可复用该 Issue。
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 151
- Avg merge
- 7h 51m
- Merged PRs (30d)
- 351
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from 1lck/Lithe-IDEA
-
area:editor bug P0 platform:macos review: low
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
1lck/Lithe-IDEA#1118 · 2 comments ·
Maintainers usually reply within 1 day
-
area:editor issue-form:feature P1 platform:windows review: low
Difficulty 3/5 1-2 days Newbie friendliness 52/100
1lck/Lithe-IDEA#1129 ·
Maintainers usually reply within 1 day
-
area:editor issue-form:feature P1 platform:windows review: low
Difficulty 4/5 3-5 days Newbie friendliness 48/100
1lck/Lithe-IDEA#1128 ·
Maintainers usually reply within 1 day
-
[Feature] 修复commit区按钮、弹窗、下拉框样式Possibly taken @arkleselect claimed this 1 day ago. Openarea:ui enhancement issue-form:feature P1 platform:macos review: medium
1lck/Lithe-IDEA#1125 · 1 assignee ·
Maintainers usually reply within 1 day
-
[Bug] Windows 版本对比重复显示相同内容Possibly taken @puppyben1 claimed this 1 day ago. Openarea:git bug P0 platform:windows review: low
Difficulty 3/5 1-2 days Newbie friendliness 38/100
1lck/Lithe-IDEA#1123 · 4 comments ·
Maintainers usually reply within 1 day
Similar issues
-
[Docs] README: FAQ setup command, IDA in the intro, Node badgePossibly taken @akram1089 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
morluto/rea#1353 · 1 comment ·
Maintainers usually reply within 1 day
-
[Feature]: [P3] engine-rs: the package source hash should ignore line endings and untracked filesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
maniator/verticopolis#880 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
siyuan-note/siyuan#20353 ·
Maintainers usually reply within 1 day
-
afk-ok area:data-quality importer size:S
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
enorm-labs/event-junkie#3027 ·
Maintainers usually reply within 1 day