Skip to main content
V

dsh-ecosystem

vibedev-si/dsh-ecosystem

VibeDev 生态:发现、安装和管理 VibeDev 出品的插件,实时核对正式版本更新,并可浏览 DSH 社区市场 · VibeDev Ecosystem: discover and manage plugins made by VibeDev, verify stable release updates, and browse the DSH community market

Install

dsh plugin --profile web add github:vibedev-si/dsh-ecosystem

README

@vibedev-si/dsh-ecosystem · VibeDev 生态

集中了解、安装和管理 VibeDev 出品的插件,并在独立的社区标签页里浏览 DSH 社区市场(dshmarket)。VibeDev 生态与 DSH 宿主的插件管理器是不同入口;安装、启停与卸载仍由宿主执行。

0.1.15

  • 启动时检查一次更新:应用启动约 1.5 秒后检查一次(不定时轮询),侧栏「VibeDev 生态」图标上出现小红点,鼠标悬停显示有几个更新;在别处装好或更新了插件,红点随之变化(不再联网)。
  • 「全部」页顶部显示「有 N 个更新可用」,列出可更新的插件和版本,「查看更新」直接打开「可更新」页。内置插件(VibeDev 账号插件、本生态)同样只提示,由你点「更新」。
  • 启动检查后一分钟内打开页面直接沿用这次结果,不再重复请求;点「检查更新」总会重新检查。

0.1.14

  • 打开生态不再「闪一下」:页面一打开就显示上次核验过的最新目录(版本、介绍、可更新),不再先显示随包的旧目录、几秒后再换成在线目录;新的核验照常在后台进行,状态栏显示「正在核验」,核验完成前不会标成「已核验」。上次的目录保存在本机,超过 30 天、比应用自带目录还旧、或通不过目录校验的不会使用。
  • 还不知道某个插件是否已安装时,卡片上显示占位,不再先显示「安装」再变成「已启用」;「AI 创作套装」的高度也保持不变,下面的内容不会跳动。
  • 「AI 创作套装」显示的安装大小按目录里各插件的实际大小计算(之前固定写着约 12 MB)。

0.1.13

  • 内置插件也能直接更新:在支持的 VibeDev Next 里(0.2.1-alpha.2.20261011.3 起,插件管理会报告内置包的两个副本),VibeDev 生态和 VibeDev 账号插件出现在「可更新」里,点「更新」把 npm 上的新版本装进你的配置,重启 VibeDev Next 后生效。
    • 应用自带的版本一直保留,作为保底:新版本与当前 DSH 不兼容时继续用自带的;之后装了更新的 VibeDev Next,自带的版本更高时也会自动用回它。
    • 已更新的内置插件在详情里可以「恢复应用自带的版本」,同样重启后生效。
    • 不支持的宿主(较早的 VibeDev Next、官方 DSH)保持原来的做法:内置插件随应用更新,生态不会另装一份。

0.1.12

  • 目录不再收录第三方的 Better Sidebar(dsh-better-sidebar):它在官方 DSH 0.2.1-alpha.2 上无法加载,文件接口也不限于工作区;VibeDev 插件已不依赖它,侧栏增强改由 VibeDev 自研。已经装了它的用户不受影响,可在「插件」页自行停用或卸载。
  • 媒体预览安装后的指引改为新入口:文件树里点开媒体文件即可预览,「媒体画廊」在右侧栏开始页和文件树顶部。

0.1.11

  • 目录:媒体预览与画廊升到 0.2.0,直接用 DSH 自带的右侧栏,不再需要 Better Sidebar;「AI 创作套装」只含 VibeDev 自己的三个插件。Better Sidebar 仍可单独安装,作为推荐搭档。
  • 随包离线目录同步更新:读不到在线目录时(例如网络无法访问 GitHub)看到的也是新版本与新依赖关系。

0.1.10

  • 兼容 DSH 0.2.1-alpha.2 及以后:宿主把启动参数服务从 webRuntime 改名为 webStartup,0.1.9 及更早版本在新宿主上会停在「等待服务」而不加载。现在只依赖 Web 服务本身,额外的受信主机从两种服务中按宿主实际提供的读取。

0.1.9

  • VibeDev Next 内置:VibeDev Next 把 VibeDev 生态作为内置官方插件提供。它出现在「插件」页的「官方」分组里,点开即进入生态页面;版本随应用更新,在 VibeDev Next 里不需要也不能另外安装。
  • 内置时,生态自身的新版本提示改为「随应用更新」,不再给出卸载重装步骤。
  • 官方 DSH 或自行安装时行为不变:侧栏入口加面板,可停用、可卸载,自更新沿用手动说明。只有应用在自己的插入行里写明 config: { official: true } 才进入内置模式。

0.1.8

  • 社区市场的样式与生态页面隔离,生态的按钮、卡片和字体规则不再覆盖市场子树。对不透明填充按钮上不足 4.5:1 的文字对比度,按按钮实际背景选择黑或白文字;保留市场的背景、主题 token、图标按钮和开关。
  • 「可更新」读取已收录 VibeDev 包的 npm 正式发布版本,包括生态自身的更新说明。版本来自官方 npm,官方读取失败时才降级到镜像并标明状态。读取失败不会宣称所有插件都是最新版。
  • 使用在线目录与随包离线目录。新插件上架、下架及目录信息更新独立于生态客户端发版。生态自身的功能修复仍通过版本发布提供。
  • 名称统一为 VibeDev 生态 / VibeDev Ecosystem。包名、面板身份和已安装状态保持兼容。「关于」默认收起;已撤回的插件页尾推荐块没有恢复。

收录与更新来源

团队维护的在线目录:

目录文件

打开生态面板或点击「检查更新」时,宿主读取并校验该目录,再核对其中 VibeDev 包的 npm 正式版本。在线目录成功读取后缓存 5 分钟,完整版本检查成功后缓存 1 分钟;没有后台定时轮询。目录或网络读取失败时保留上次可用目录,或使用随包目录,并显示来源与未核验状态。

新插件不必等待生态客户端更新:发布 npm 包后,把包名、用途、双语说明、前置依赖、权限与费用、来源仓库和精确版本加入目录,校验后提交到本仓库 main。用户下次成功读取目录时就能看见它,实际显示时间取决于缓存与网络。

维护步骤见 收录与发布指引。

安装与管理

VibeDev Next 已内置 VibeDev 生态,无需安装;在 VibeDev Next 的「添加插件」里输入它会提示已安装。

在 DSH 的插件页按完整包名安装:

@vibedev-si/dsh-ecosystem@0.1.15

独立 DSH 的命令:

dsh plugin --profile <profile> add @vibedev-si/dsh-ecosystem@0.1.15
  • 安装前会列出精确版本与依赖,先检查、安装为停用状态,再启用。已安装的组件会复用;更新原本停用的插件会保持停用。
  • 新版本和在线新增插件从核验过的发布源取得;其余随包版本保留宿主的源选择策略。npm 包名、版本或 bundle 身份不一致时拒绝安装。
  • 应用内置组件只显示版本差异和升级应用说明,不重复安装、更新或卸载外部副本。
  • 生态自身的新版本在「可更新」中显示精确包名与手动更新说明,避免运行中的生态卸载自身。
  • 更新已安装插件后完全退出并重新打开 VibeDev Next,使新代码加载。生态不会替用户退出应用、刷新页面或重启。
  • 依赖构建脚本、宿主兼容性检查与 pnpm 新版本冷却期继续由宿主处理。遇到失败会报告实际结果,不自动扩大授权。

目录规则与网络

在线目录必须通过与随包目录相同的校验:精确包名和版本、双语说明、来源、权限、依赖引用和无环关系。VibeDev 条目限团队包命名空间(历史包 dsh-film 保留兼容);社区集成限已明确支持的市场与侧栏组件。目录不可把生态自身变成普通安装条目,不接受链接式安装目标、范围版本或 shell 命令注入。

在线目录来自固定 GitHub 地址;npm 核验只读取通过校验的 VibeDev 包,检查包名、版本、bundle 声明、来源仓库及发布时间。请求不携带账号凭据、cookie 或用户文件内容,不做遥测、不自动安装。目录读取有 8 秒与 256 KB 限制,版本查询并发受限且有批次期限;失败时显示可用事实与回退状态。

社区页嵌入 dshmarket 的界面,社区市场有自己的目录和网络行为,由 dsh-market 团队维护。VibeDev 生态没有审查其全部插件代码,也不替代 DSH 的插件管理器。

开发

npm test                    # 共享目录校验、安装/迁移引擎、Host、版本查询、在线目录
npm run test:browser         # 真实 Chrome 的完整界面流程
node test/theme.browser.test.mjs    # 黑白主题、市场样式隔离、对比度
node test/updates.browser.test.mjs  # 旧目录、实时更新、失败、内置与自身更新
npm run validate:online     # 核对目录精确版本与 npm 发布事实

客户端由 构建脚本生成并提交。Host 与客户端共享 目录校验器;在线目录读取器与版本检查器负责固定来源与受限查询。测试使用隔离的假插件管理器与假注册表,不操作真实 profile 或账号。

English

VibeDev Ecosystem discovers and manages plugins made by VibeDev, with the DSH community market embedded in a separate tab. Its catalog is maintained independently on the repository's main branch: publishing a new package and updating the validated catalog makes it discoverable without another client release. The bundled catalog remains an offline fallback.

The app start (once, about 1.5 s after the client half loads), opening the panel, or explicitly checking updates reads the catalog and verifies stable npm releases; the sidebar entry shows a dot while updates are available, and the first page a banner naming them. An opening within a minute of a check reuses it. Successful catalog reads are cached for five minutes and complete release checks for one minute, with no polling. The panel opens on the last verified catalog it kept (on this machine, at most 30 days old, never older than the shipped one and re-validated), shown as still checking until the new check answers, so it does not switch from the shipped catalog to the online one in front of the user; a card whose installed state is not known yet shows a placeholder rather than an install button. Official npm takes precedence; a mirror is only a labelled fallback. Failed reads never claim everything is current. Built-in packages require an app update, and ecosystem self-updates show an exact manual spec rather than unloading the running panel.

The embedded market's styles are isolated. Unreadable filled text buttons receive a narrowly scoped black-or-white foreground adjustment without altering backgrounds or theme tokens. The package name and panel identity remain compatible; the About section starts collapsed and withdrawn promotional footers stay removed.

License

MIT © VibeDev

Related plugins