给 dsh-profile-plugin-service 测试套件使用的最小 Profile Bundle 固定夹具;声明一个名为 Fixture Ocean 的示例主题。
$ dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app/eval/fixtures/dsh-profile-bundleRun the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial
这是仓库内 eval/fixtures/dsh-profile-bundle 目录的最小化 Profile Bundle 固定夹具,给项目自身的 dsh-profile-plugin-service 单元测试充当可控的本地输入。把它装到 Web Profile 后,会让 profile:dsh-work-profile-fixture:fixture-ocean 这条示例主题进入目录,但不会注入任何运行时补丁。
dsh.bundle.patch 容器(cordis.patch.yml 内容为 []),让 Bundle 装配骨架可被解析dshWork.themes 字段声明一份 schema_version=1 的主题描述(含主色、Mantine 十阶色板、背景预设与面板透明度)DshProfilePluginService 预检(preflight)的本地可安装输入,验证 file: 来源解析与 status=ready 结果DSH_PROFILE_THEME_PATH_OUTSIDE_ROOT)catalog.profile_themes 中能正确附加来源 Bundle 元数据(source_bundle.package_name === "dsh-work-profile-fixture")dependencies / peerDependencies 声明)package.json#dsh.bundle.patch 声明 Bundle 补丁入口 + 通过 package.json#dshWork.themes 声明主题描述入口;两者均只承载数据,不在运行时执行代码eval/fixtures/dsh-profile-bundle/package.json想本地手测一次 DSH Profile Bundle 的安装流程、又不想引入第三方仓库的开发者可以装它来观察主题在目录里的呈现方式;或运行 npm run test:unit 时作为 dsh-profile-plugin-service.test.mjs 的固定输入。本插件不适合作为日常使用的生产功能。
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 0.1.0-rc.6 | 由父项目 README 声明的当前发布线 |
| Node | 未声明 | 本夹具不强制 Node 版本,平台宿主自行决定 |
| 平台 | 跨平台 | 仅读取 package.json 与 themes.json,无原生模块、无系统调用 |
| 原生模块 | 无 | — |
dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app/eval/fixtures/dsh-profile-bundle
本插件无需额外配置。它不暴露运行时配置面,只作为被系统读取的数据固定夹具。
Q: 这个插件装上之后我能看到什么变化?
A: 安装不会改变任何运行时行为,因为 cordis.patch.yml 内容是空数组 []。你只能在 Web Profile 的主题目录里看到一条名为 profile:dsh-work-profile-fixture:fixture-ocean 的样本主题条目。
Q: 它会影响应用外观吗?
A: 它声明了 bgImage: deep-sea 与 panelOpacity: 88,但需要在主题库主动切换到 Fixture Ocean 才会真正影响外观;安装动作本身不会自动启用它。
Q: 主题里都包含哪些设定?
A: 只有一个主题 Fixture Ocean:主色 #336699、完整的 10 阶 Mantine 色板、背景预设 deep-sea、面板透明度 88。所有字段都满足 schema_version=1 的安全约束,不会触发 rawCss、bgImage 不合法、appName 被禁等校验错误。
Q: 能往 themes.json 里加原始 CSS 或自定义 appName 吗?
A: 不能。profile_theme_manifest.js 在校验流程会抛 DSH_PROFILE_THEME_RAW_CSS_FORBIDDEN 或 DSH_PROFILE_THEME_APP_NAME_FORBIDDEN;同样,bgImage 必须使用 deep-sea、aurora、dawn、forest 等内置背景预设之一。
Q: 这个包和官方主题包 dsh-theme-pack 有什么区别?
A: dsh-theme-pack 是应用自有 Theme Bundle(managed_by: app、can_uninstall: false),提供 professional-blue 和 anime-blue 两个主题;本包只是一个最小化的可重写示例 fixture,可以正常卸载。
Q: 卸载后仓库还在吗?
A: 卸载只从当前 Web Profile 移除 Bundle 条目与依赖项;eval/fixtures/dsh-profile-bundle 目录作为仓库内置固定夹具始终保留。
入门 — 它没有可执行代码、没有用户配置面,知道一条 dsh plugin ... add github:... 命令就能用。
cordis.patch.yml 内容为空数组,安装到 Profile 后不会向 DSH 运行时插入任何 patch(eval/fixtures/dsh-profile-bundle/cordis.patch.yml:1)package.json 标记为 "private": true,无法通过 npm publish 发到公共 registry;安装只能走 GitHub 精确 commit 或本地 file: 路径(eval/fixtures/dsh-profile-bundle/package.json:4)README.md 里的"插件中心"章节