# deepseek-harness-studio

> DSH 插件中心 Skill 安装链路的开发测试样本,注册固定文本 Skill 用于验证 Host 重启后的持久发现。

## Metadata

- Author: [@fufankeji](https://github.com/fufankeji)
- Repo: <https://github.com/fufankeji/deepseek-harness-studio.git>
- GitHub: [fufankeji/deepseek-harness-studio](https://github.com/fufankeji/deepseek-harness-studio)
- Stars: 403
- Language: TypeScript
- License: [MIT](https://spdx.org/licenses/MIT.html)
- Homepage: <https://www.beyondata.com/>
- Topics: `ai-agent`, `deepseek`, `deepseek-harness`, `deepseek-harness-studio`, `desktop-app`, `developer-tools`, `dsh`, `dsh-plugin`, `electron`, `macos`, `plugin-manager`, `windows`
- Forks: 43
- Open Issues: 2
- Last push: 2026-08-20T10:56:44.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:fufankeji/deepseek-harness-studio/packages/examples/plugin-center-skill-fixture
```

## Wiki

## 一句话定位
这是 DSH 内部的插件中心 Skill 安装链路测试样本,只在宿主里注册一个文本写死的演示 Skill,用于自动化测试验证宿主重启后通过插件中心安装的 Skill 仍可被全局发现。它不是生产功能,普通用户拿它没有实际用途。

## 核心能力
- 注册一个全局可发现的演示 Skill,名称固定为 `fixture-harness-basics`
- 提供固定文本的 Skill 内容,用于稳定地重复运行自动化安装测试
- 通过 Bundle patch 把自身作为 Host provider 注入宿主,验证安装链路
- 在宿主重启后仍能被技能目录发现,证明持久性
- 注册包级 invariant 钩子,占位当前未触发的运行时契约

## 技术实现
- **语言**: TypeScript
- **关键依赖**: `@deepseek-ai/cordis`(插件运行时)、`@deepseek-ai/dsh-skill`(Skill 注册接口)、`@deepseek-ai/dsh-invariants`(包级 invariant 注册)
- **架构模式**: 通过 `cordis.patch.yml` 在宿主中插入一个 provider entry,再由 `src/index.ts` 的 `apply` 函数在 `ctx.effect()` 里调用 `ctx.skills.register()` 完成 Skill 注册
- **入口文件**: `packages/examples/plugin-center-skill-fixture/src/index.ts`

## 适用场景
仅供 DSH 仓库内部的 F003 插件中心激活测试使用,用来证明"通过插件中心安装的 Skill 包在宿主重启后仍然可以被全局发现"这一不变量。如果你是想给生产 Agent 增加真实技能的普通用户,这个测试样本不适合你,应去插件市场找其他可用的 Skill 包。

## 前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| 本插件未声明额外依赖要求 |

说明:`package.json` 中没有声明 `engines`、平台限制或原生模块依赖,仅在 `peerDependencies` 列出三个内部 workspace 依赖。`"private": true` 表明这是仓库内部包,不对外发布。

## 安装方式
```bash
dsh plugin --profile web add github:fufankeji/deepseek-harness-studio/packages/examples/plugin-center-skill-fixture
```

## 配置项
本插件无需额外配置。`apply` 内的 `ctx.skills.register()` 调用没有读取任何用户配置,也不存在 Schema 字段。

## 常见问题

**Q: 这个插件装上之后我的 Agent 会变强吗?**

A: 不会。这个测试样本注册的 `fixture-harness-basics` 内容是固定的演示文本,只在自动化测试里被消费,不会为你的实际任务带来任何新能力。

**Q: 安装它会改动我的系统或配置吗?**

A: 不会。它只是在宿主进程的技能目录里登记一项固定 Skill,不会改写系统设置、网络或磁盘文件,也不需要额外配置项。

**Q: 我应该把它装到生产环境吗?**

A: 不建议。仓库 README 明确说明"生产功能不得依赖此测试包",它的存在只是为了跑 F003 激活测试,普通用户的生产 Agent 不需要它。

**Q: 它的 Skill 文本为什么是写死的?**

A: 这是测试需要固定的产物。自动化用例需要一段每次都相同的 Skill 内容,才能稳定验证"安装后能被全局发现"这件事,文本本身没有学习价值。

**Q: 安装后如何卸载?**

A: 与其它 DSH Bundle 一致,使用 `dsh plugin --profile web remove` 移除该 Bundle 后,宿主重启时就不会再注册这个 Skill 了。

**Q: 它会消耗 token 或 KV 缓存吗?**

A: 日常提示词不会因此增加 token 或破坏 KV 缓存,只有当消费方主动纳入或调用 `fixture-harness-basics` 时,它的固定文本才会被加入当前请求。

## 上手难度
入门 — 插件本身没有任何配置项或用户交互,装上后即可工作,但因为它只是开发测试样本,普通用户没有需要上手的内容。

## 已知问题与限制
- **仅用于开发证据**:Skill 文本为 F003 激活测试而固定,不是生产学习资源(`README.md:25`)
- **私有包,不对外发布**:`package.json` 中标记 `"private": true`,普通用户不应把它当作正式插件消费
- **不承载生产功能**:README 明确指出"生产功能不得依赖此测试包",任何真实任务都不应依赖该 Skill 的内容

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [deepseek-harness-studio](https://deepseek-plugin.org/plugins/fufankeji/deepseek-harness-studio/packages/examples/plugin-center-skill-fixture)
Wiki generated by AI (model: `MiniMax-M3`)
