dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
VibeDev 插件中心:介绍 VibeDev 官方插件,并通过官方插件管理器一键安装(先检查、先不启用地安装、再启用,并带上前置依赖)。另提供套装安装、旧包名迁移,以及一键安装插件市场 dshmarket。
集中了解、安装和管理 VibeDev 出品的插件,并在独立的社区标签页里浏览 DSH 社区市场(dshmarket)。VibeDev 生态与 DSH 宿主的插件管理器是不同入口;安装、启停与卸载仍由宿主执行。
webRuntime 改名为 webStartup,0.1.9 及更早版本在新宿主上会停在「等待服务」而不加载。现在只依赖 Web 服务本身,额外的受信主机从两种服务中按宿主实际提供的读取。config: { official: true } 才进入内置模式。团队维护的在线目录:
打开生态面板或点击「检查更新」时,宿主读取并校验该目录,再核对其中 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
在线目录必须通过与随包目录相同的校验:精确包名和版本、双语说明、来源、权限、依赖引用和无环关系。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 或账号。
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.
MIT © VibeDev