whitelonng/dshcode--packages-client-ui-brand-official ↗★ 715

@deepseek-ai/dsh-client-ui-brand-official

官方品牌占位插件,仅在官方构建中填充侧边栏品牌槽位 适合选择或替换品牌展示的用户,非官方构建不注册任何内容

包名
@deepseek-ai/dsh-client-ui-brand-official
兼容性
待验证
Harness 依赖范围
workspace:^
Cordis 依赖范围
workspace:^
版本
0.1.2-alpha.4
许可证
MIT
最近更新
2026年9月13日

同名包的其他仓库

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗


description: "Official DeepSeek Harness brand occupants for the sidebar, active only in official builds; for users and maintainers choosing or replacing brand presentation." kind: "package-reference"

@deepseek-ai/dsh-client-ui-brand-official

English | 中文

Summary

This package fills the sidebar brand slots — sidebar.brand.mark and sidebar.brand.name — with the official DeepSeek Harness mark and name. It registers these occupants only when the client bundle builds with the official profile; every other build loads the plugin but registers nothing, so the shell fallbacks stay visible. The conversation hero slot (conversation.hero.brand.mark) stays unoccupied in every build: its declaring package renders the animated hero fish (hover swim morph) as the fallback, and the official brand is that fish. Choose this package when the deployed identity is DeepSeek's own; a deployment with its own brand composes a different package into the same slots instead. It retains no runtime state and contributes nothing to model requests.

Table of Contents


Use this package

Mount this plugin in the browser roster of a deployment whose identity is DeepSeek's own, then build the client with the official profile so the occupants register.

Choosing the profile

DSH_CLIENT_BUILD_PROFILE selects which brand renders. An official build shows the official mark and name in the sidebar; any other value leaves the shell fallbacks — the fish mark and the local-build label — in place. The conversation hero shows the animated hero fish from dsh-client-ui-conversation regardless of profile, because that fallback is already the official mark. The plugin still loads and validates in both cases; only the registration is profile-gated.

Replacing the brand

A deployment with its own identity leaves this package out and composes another package that occupies the sidebar slots — and the hero slot, which this package leaves on its fallback. Occupying a slot is the only composition route; there is no brand configuration surface here.


Understand the implementation

Implementation internals — click to expand

The two occupants install as one declaration-aware registration set: nested ctx.slots.inject() calls wait on the sidebar declaration, so the set works whether this row activates before or after the declarer, withdraws both occupants when the declaration collapses, and leaves no partial brand mix during HMR. The browser half is src/client/index.ts; the node half is an empty Loader seat. The browser title is a build-environment concern (DSH_CLIENT_TITLE), outside the slot system.


Further Exploration

Read these pages when the brand surface is not enough. They move from the slots this package occupies to the shell that renders them.

  • ui-sidebar — declares sidebar.brand.mark and sidebar.brand.name and renders their fallbacks.
  • ui-conversation — declares conversation.hero.brand.mark in the hero.
  • Web client architecture — how browser plugin rows load and register slots.

Model Experience

None, as the package contributes browser presentation only; nothing here reaches a model request.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

These limits define how brand presentation is supplied. They are current package constraints, not a brand-design comparison or a task backlog.

  • One occupant set — alternative presentation belongs in another Cordis package occupying the same slots.
  • The browser title is independent — DSH_CLIENT_TITLE selects title text at build time rather than through a UI slot.

Dev Note

Working context for maintainers — click to expand

None.

Runtime invariant: No companion is published. The package retains no mutable state, and its three slot occupants install and leave through one transactional effect.