clclyzybzjsq/deepseek-harness-yunoseek1

dsh-yunoseek-skin

Yunoseek pink skin for the DeepSeek Harness web GUI: a pink --dsw-* token layer (light and dark palettes), yunoseek brand artwork, and the assistant avatar.

包名
dsh-yunoseek-skin
版本
0.1.0
许可证
MIT
最近更新
2026年8月23日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:clclyzybzjsq/deepseek-harness-yunoseek

dsh-yunoseek-skin

Yunoseek pink skin for the DeepSeek Harness web GUI. It restyles the DSH browser UI with the pink art direction of the yunoseek chat UI (#E91E8C / #FF6B9D gradients, pink tints) while reusing every DSH layout and component unchanged, through the standard client-plugin interfaces:

  • Pink token layer — a theme overrideTokens layer over the --dsw-* semantic tokens and the --dsw-static-deepseek-* scale, every token carrying explicit light and dark values from yunoseek's two palettes. The skin is always on and follows the user's light/dark/system preference; no settings change needed.
  • Art direction sheet — the pink Hero glow recolor per palette, and the assistant avatar painted into every chat assistant row via its stable data-chat-flow-kind attribute (the host's CSS Modules class names are hashed and not addressable cross-package).
  • Brand marks (non-official builds only) — the yunoseek logo in the sidebar brand row, the gradient "Yunoseek" wordmark, and the welcome artwork in the conversation Hero seat. Official DeepSeek Harness compositions already own those single-occupant slots with the built-in brand, so the skin yields them by default (see "Build profile" below).

no host component modified

Install

Requirements: a dsh installation (the dsh CLI) and a web profile — the default GUI profile is named web.

From GitHub

dsh plugin --profile web add github:/dsh-yunoseek-skin

A git install fetches sources, not built artifacts, so pnpm runs the package's prepare script to build lib/. pnpm ≥ 10 refuses to run a git dependency's prepare until explicitly allowed — the first add fails and dsh prints the exact package key; copy it into the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-yunoseek-skin: true

then re-run the add. (That allowance is permission to execute the package's code at install time; only allow packages whose source you trust, and pin a commit: github:/dsh-yunoseek-skin#.) Then (re)start your dsh web once so the new roster row composes; later code changes to the skin hot-reload through the web HMR chain.

From npm or a tarball

Prebuilt options need no build allowance:

dsh plugin --profile web add dsh-yunoseek-skin        # npm, lib/ built at publish time
dsh plugin --profile web add ./dsh-yunoseek-skin-0.1.0.tgz   # pnpm pack

Uninstall

dsh plugin --profile web remove dsh-yunoseek-skin

Build profile and the brand seats

The tsdown config pins DSH_CLIENT_BUILD_PROFILE (default official). In an official build the skin applies the token layer, avatar sheet, and Hero glow only — official web compositions contain the built-in deepseek brand, which owns the sidebar.brand.mark / sidebar.brand.name / conversation.hero.brand.mark seats and must not collide. To show the yunoseek marks instead (e.g. a dev/self-built web, or after disabling the built-in brand row), build with:

DSH_CLIENT_BUILD_PROFILE=dev pnpm install   # rebuilds lib/ with brand marks on

and, when your composition still carries the built-in brand row, disable it in the profile patch ($DSH_HOME/profiles/web/cordis.patch.yml):

- update:
    - id: ui-brand-official
      disabled: true

Build

pnpm install    # installs tsdown and runs prepare, emitting lib/

The prepare script is self-contained (docs/user/develop/basic/publish.md): it builds from src/ with a dedicated tsdown config — no monorepo context, no project references, no typechecking. Outputs: lib/index.js (ESM node half) and lib/client.js (CJS browser half).

Distribution

This is a standard dsh bundle: package.json declares dsh.bundle (patch cordis.patch.yml, which inserts the yunoseek-skin row) and dsh.client (platform: "web", informational inject edges). To publish: create a repository under your GitHub account, push this directory, and users install with dsh plugin --profile web add github:/dsh-yunoseek-skin; or npm publish with lib/ built, or ship pnpm pack tarballs.

Known limitations

  • The assistant avatar is painted into chat rows by selector: [data-chat-flow-kind="assistant-step"]::before with a fixed 34px geometry. If ui-conversation changes that attribute or row geometry, the rule (in src/client/styles.ts) needs a revisit.
  • The sidebar and Hero marks are skipped in official builds by design (single-occupant brand slots); see above for the dev-profile path.
  • The Hero glow rule targets [data-phase="hero"] svg ellipse; a future Hero redesign may move the glow out of an SVG ellipse.

License

MIT