dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
把 LaoA-GrokBot 的 GrokBot 宠物带进 DeepSeek Harness Web GUI 的浏览器客户端插件(
dsh.client+dsh.bundle):可换装、可拖拽甩出、带惯性物理与碰撞反弹的桌宠,随 dsh web 一起启动。
本仓库同时是:
package.json 声明 dsh.bundle(cordis.patch.yml 作为一层 patch 插入浏览器客户端行)与 dsh.client(platform: web);@edge-hh/dsh-grokbot-pet),pnpm install && pnpm bundle 即可本地产出 lib/ 产物。前置:装有 DeepSeek Harness(dsh CLI),并准备一个 web profile。
dsh plugin --profile web add @edge-hh/dsh-grokbot-pet
dsh plugin --profile web add git+https://github.com/Edge-HH/GrokBot_in_DeepseekHerness.git
从源码安装会在 profile 内执行本包的 prepare 构建(tsdown),需要能访问 npm registry 拉取构建依赖。预构建发布(npm 包或 Release .tgz)可跳过构建步骤。
安装完成后重启 dsh web 服务并刷新浏览器(Ctrl+Shift+R),桌宠出现在对话输入框右上方。卸载:dsh plugin --profile web remove @edge-hh/dsh-grokbot-pet(或对应安装源),再重启。
本插件的运行依赖(react、cordis、
@deepseek-ai/*官方包)由 dsh web 自带提供,声明为peerDependencies,安装时不会重复下载。
pnpm install # 安装构建依赖(devDependencies)
pnpm bundle # tsdown:产出 lib/index.js + lib/invariant.js(node 半段)与 lib/client.js(浏览器半段)
pnpm typecheck # tsc --noEmit(浏览器侧类型检查)
lib/ 为构建产物,已 gitignore,不入库;package.json 的 repository 已指向本仓库,market/storefront 会自动建立映射;pnpm pack 产出的 .tgz 附加到 GitHub Release(资产名请勿携带版本号,如 dsh-grokbot-pet.tgz)。├── package.json # dsh.bundle + dsh.client 清单、依赖区间(本插件包即仓库根)
├── cordis.patch.yml # bundle patch 层:向组合树插入 dsh.client 浏览器客户端行
├── tsdown.config.ts # 独立构建:node 半段 + 浏览器 client bundle(对齐 harness 客户端加载契约)
├── tsconfig.json # 独立类型检查(不依赖 deepseek-harness monorepo)
├── src/
│ ├── index.ts # 宿主侧(node)入口:无行为(Loader 挂载根包所需)
│ ├── invariant.ts # invariant 伴生注册(无运行时不变量)
│ └── client/
│ ├── index.ts # 客户端入口:向 shell.overlay / settings.section 槽注入
│ ├── pet.tsx # PetView + GrokbotFigure(主组件/渲染/物理/音效/通知)
│ ├── store.ts # 会话快照 → 宠物状态桥接(PetUsage 等)
│ ├── data.ts # 颜色/形状/部件/配饰/设置
│ ├── pet.module.css # 样式(CSS Modules,构建时内联)
│ └── expressions.json # 原版表情环数据(构建时内联)
└── tests/ # node-plugin 冒烟测试(随 deepseek-harness 开发环境运行)
桌面宠物最初以内置客户端插件形态开发。若要在源码树内联调试:
src/ 与 tests/、package.json 同步到 <harness根>/packages/client/ui-pet/;<harness根>/packages/bundle/web-app/cordis.patch.yml 与 package.json 注册 ui-pet(或自定义 id)依赖;corepack pnpm install、corepack pnpm exec tsc -b packages/client/ui-pet、corepack pnpm --filter ... run bundle、corepack pnpm run build:web 后重启。对外发布形态(本仓库)与之等价:cordis.patch.yml 插入的行、dsh.client 清单与构建产物契约完全一致,只是不再需要改动官方源码。
MIT License — 宠物造型数据来自 LaoA-GrokBot(作者:老A玩AI,MIT)。完整署名见 THIRD_PARTY_NOTICES.md。