# deepseek-harness-desktop-app

> 给 dsh-profile-plugin-service 测试套件使用的最小 Profile Bundle 固定夹具；声明一个名为 Fixture Ocean 的示例主题。

## Metadata

- Author: [@vibeinging](https://github.com/vibeinging)
- Repo: <https://github.com/vibeinging/deepseek-harness-desktop-app.git>
- GitHub: [vibeinging/deepseek-harness-desktop-app](https://github.com/vibeinging/deepseek-harness-desktop-app)
- Stars: 606
- Language: JavaScript
- License: [MIT](https://spdx.org/licenses/MIT.html)
- Topics: `agentic-workflows`, `ai-agent`, `ai-workbench`, `data-analysis`, `deepseek-harness`, `desktop-app`, `dsh`, `dsh-plugin`, `electron`, `local-first`, `mcp`, `model-context-protocol`, `office-automation`, `react`, `typescript`
- Forks: 32
- Open Issues: 6
- Last push: 2026-08-15T08:56:28.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app/eval/fixtures/dsh-profile-bundle
```

## Wiki

## 一句话定位
这是仓库内 `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` 结果
- 用于验证主题描述路径不能越过 Bundle 目录的越界检查（`DSH_PROFILE_THEME_PATH_OUTSIDE_ROOT`）
- 用于验证安装后 `catalog.profile_themes` 中能正确附加来源 Bundle 元数据（`source_bundle.package_name === "dsh-work-profile-fixture"`）

## 技术实现
- **语言**: JSON / YAML（纯数据，无可执行代码）
- **关键依赖**: 无（无 `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`，无原生模块、无系统调用 |
| 原生模块 | 无 | — |

## 安装方式
```bash
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，所能参考的只有父项目 `README.md` 里的"插件中心"章节

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [deepseek-harness-desktop-app](https://deepseek-plugin.org/plugins/vibeinging/deepseek-harness-desktop-app/eval/fixtures/dsh-profile-bundle)
Wiki generated by AI (model: `MiniMax-M3`)
