DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Client Ui Primitives — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@morlay/dsh-client-ui-primitives

Client Ui Primitives

用于 forked conversation UI 的 css-in-js 样式工具包(styled / Token / Styling),以及共享的引用解析器和渲染器(findReferences / parseReferenceToken):使用官方 --dsw-* 设计令牌,因此无需 CSS Modules 预编译步骤。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @morlay/dsh-client-ui-primitives@0.0.2-alpha.8
README兼容性版本

兼容性与来源证明

Client Ui Primitives 以 @morlay/dsh-client-ui-primitives 发布,当前版本为 0.0.2-alpha.8。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/17

版本

0.0.2-alpha.8prerelease
2026/9/24
查看其余 8 个版本收起版本
0.0.2-alpha.7prerelease
2026/9/23
0.0.2-alpha.6prerelease
2026/9/22
0.0.2-alpha.5prerelease
2026/9/20
0.0.2-alpha.4prerelease
2026/9/20
0.0.2-alpha.3prerelease
2026/9/18
0.0.2-alpha.2prerelease
2026/9/18
0.0.2-alpha.1prerelease
2026/9/18
0.0.2-alpha.0prerelease
2026/9/18

相关插件

正在加载相关插件…

最新版
0.0.2-alpha.8
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
1.4 MB
文件数
35
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 8
周下载
44
最近提交
2026/10/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

@morlay/dsh-client-ui-primitives

对话 UI 的 css-in-js 样式层(styled / Token / Styling,消费官方主题已注入的 --dsw-* 变量, 因此不需要 CSS Modules 那一步预编译,源码可直接加载),被 fork 的对话 UI 共用的 引用解析与渲染转换(findReferences / parseReferenceToken,源码上唯一一份, @morlay/dsh-reference 的引用展开也复用它),以及从上游 fork 过来的 设置表单原语(暂存式表单模型 SettingsFormModel + 字段控件 + 表单框,样式同样走本包的 styled / dsw)。

设计取舍(为什么 css-in-js、为什么生成 token 树、与上游 ui-primitives 的关系)见 ADR-css-in-js样式层与官方token消费; 设置表单原语的搬迁与同步纪律见 ADR-设置表单原语搬进client半。

能力

导出用途
styled('div')(style, …)生成带 data-css-* 的组件;多个样式对象深合并(变体叠基样式)
stylingprops(style) 取 data-css-* 属性、keyframes、injectGlobals、sheets()
Token变量引用代理(vars)、局部变量赋值(assignVars)、变体选择器(variants)、组合子(calc / min / max / url / colorMix / colorScale / fallbackVar / val)
dsw官方主题变量引用:dsw.alias.bg.base → var(--dsw-alias-bg-base)
SettingsFormModel暂存式表单模型:草稿(edit / resetField / save / discard)、字段状态(field)、表单状态(shell)、快照投影(bind);settingsNumberField / settingsTextField 给字段的转换 spec
SettingsForm设置表单框:不可用 / 只读 / 保存中 / 保存失败各状态,离开页面时丢弃草稿
SettingsValueField / SettingsSecretField字段控件:标签、草稿文本、覆盖徽标与重置、非法提示、可选说明面板;控件只上报用户输入,不写盘
findReferences / parseReferenceTokenhost 面:@ 引用的统一解析与形态归一(@path / @"path" / skill:name → 结构化引用与 span),Reference / ReferenceSpan 类型
designTokens生成的 token 树,叶子是官方默认值(可作 fallback 与类型推导来源)

样式注入是惰性立即注入(某条规则第一次生成时就 append <style data-css="…">, 按 id 去重),不提供 Provider。

token 树

designTokens(src/client/theme.generated.ts)由 scripts/gen-design-tokens.mts 从 上游主题源码生成,共 367 个 --dsw-*:叶子是该变量在 light 主题里的默认值。 生成机制、"$" 键语义与守卫判据见 ADR-css-in-js样式层与官方token消费。

设置表单原语

上游 @deepseek-ai/dsh-client-ui-primitives 的 settings-form 原语搬在 src/client/settings-form/ (form-model.ts / fields.tsx / SettingsForm.tsx,导出面同形同名)。消费方从 client 出口取:

import { SettingsFormModel, settingsNumberField, SettingsForm, SettingsValueField } from "@morlay/dsh-client-ui-primitives/client";

const form = new SettingsFormModel(scope, [settingsNumberField("timeoutMs")]);
const store = form.bind(() => ({ ...form.shell(), timeoutMs: form.field("timeoutMs") }));

控件只上报用户输入,save 是唯一写盘点;判据(暂存、校验与非法输入、可用性与只读、revision 栅栏、 保存失败保留草稿)见如何验证,搬迁与同步纪律见 ADR-设置表单原语搬进client半。

装配

本包是 profile 的一行 insert(client 半按 dsh.client 声明加载);本仓库的装配真源是 packages/session/better-session/cordis.patch.yml 的 ui-primitives-fork 行。

已知限制

  • token 值只在生成物里(默认值),运行时不重新定义官方变量;主题切换仍由官方 --dsw-* 覆盖完成。
  • styled 不做 polymorphic(无 as / asChild):需要换渲染元素时直接 styled('a') 或包一层组件。
  • 设置表单原语是上游三份源的对照副本,没有漂移守卫:上游升级后要人工 diff(纪律见 ADR-设置表单原语搬进client半)。