acryldev/acryl--plugins-dsh-client-ui-brand-acryl ↗★ 237
dsh-client-ui-brand-acryl
ACRYL brand occupants for the DSH Web client's sidebar and conversation-hero slots - the swappable counterpart to @deepseek-ai/dsh-client-ui-brand-official 适合需要自定义DSH Web客户端品牌视觉和界面标识的用户。
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗dsh-client-ui-brand-acryl
ACRYL brand occupants for the DSH Web client's sidebar and conversation-hero
slots (sidebar.brand.mark, sidebar.brand.name,
conversation.hero.brand.mark) - the swappable counterpart to
@deepseek-ai/dsh-client-ui-brand-official.
Why this package exists
Both packages occupy the identical slot contract declared by
@deepseek-ai/dsh-client-ui-sidebar and @deepseek-ai/dsh-client-ui-conversation.
Neither patches the other; a host selects brand identity purely through its
own Loader composition - enable exactly one row, disable the other. This is
the first proof-of-concept slice of ACRYL's broader "swappable Cordis
provider" pattern (see specs/028-harness-engine-swap for the larger
interchangeable-engine ledger this pattern extends toward).
Use this package
Compose it as a Loader row alongside (never instead of) the row it swaps against:
- id: ui-brand-official
name: '@deepseek-ai/dsh-client-ui-brand-official'
disabled: true
- id: ui-brand-acryl
name: dsh-client-ui-brand-acryl
acryl-desktop/src/profile.ts composes exactly this pair, selected by its
own DESKTOP_BRAND constant - see assertUniqueEntryIds/composeEntries
in that package's tests for the verified row shape.
Source of the logo assets
The two source PNGs (acryl-logo.png / acryl-logo-white.png, 974x974,
transparent) live at the workspace root and are the same single source of
truth acryl-desktop reads for its native app icon and tray artwork.
pnpm run generate:logo embeds them as base64 data URLs in
src/client/acryl-logo-data.ts (generated - do not edit manually); pnpm run build and pnpm run typecheck both run it first.
Known limitations
This is a first-slice proof of concept, not the final shape:
- The brand selection is a build-time composition constant
(
acryl-desktop'sDESKTOP_BRAND), not a live Settings-driven toggle. HOT-swapping brand identity at runtime (matching the/reloadpatternspecs/028-harness-engine-swapdesigns for the engine itself) is a follow-up once this composition-level swap is validated. - Only
acryl-desktopcomposes this package today;acryl-webstill ships withdsh-client-ui-brand-officialunconditionally enabled (the DSH default) and has not adopted the swap.