# dsh-limix-cover 中文文档

规范地址：https://npmcn.com/package/dsh-limix-cover/

版本：0\.3\.14
npm 元数据更新时间：2026-11-03T11:50:30.553Z
中文译文更新时间：2026-11-03T13:56:31.717Z
软件包许可：PolyForm-Noncommercial-1\.0\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dsh-limix-cover
原文对照：https://npmcn.com/package/dsh-limix-cover/?lang=original
项目主页：https://github.com/Limitless2023/limix-dsh#readme
源码仓库：https://github.com/Limitless2023/limix-dsh

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：479 kB，17 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-11-02T08:36:15.827Z
- 最新版本发布：2026-11-03T11:50:30.181Z
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

LimiX品牌覆盖空白会话英雄和侧边栏品牌行。

## 安装

```sh
npm install dsh-limix-cover
```

也可以使用：`pnpm add dsh-limix-cover`、`yarn add dsh-limix-cover`、`bun add dsh-limix-cover`

## README

# dsh-limix-cover

一个 DSH 客户端插件：把「空白会话」封面和左侧边栏品牌都换成 LimiX。

```
封面：  [ 小鱼图标 ] 探索未至之境 [预览版]   →   [ LimiX 三角标 ] LimiX 智能预测Agent [预览版]
侧边栏：[ 小鱼 ] deepseek HARNESS           →   [LimiX 官网原始完整标志]
```

## 它怎么做到的

### 封面（hero）

由 `@deepseek-ai/dsh-client-ui-conversation` 渲染，结构是：

```jsx
<span className="…fishHitbox">
  {renderSlot('conversation.hero.brand.mark', { size: 34, className },
              { fallback: <HeroFish /> })}           // ← 图标：官方 slot（replaceRisk: none）
</span>
<span className="…titleGroup">
  <span>{t('hero.headline')}</span>                  // ← 「探索未至之境」
  <span className="…previewBadge">{t('hero.preview')}</span>   // ← 「预览版」
</span>
```

-   **图标**：占 `conversation.hero.brand.mark`，画自己的标 + 标题 + 徽标。
-   **文字**：标题和徽标是语言词条、没有 slot，而 `ctx.locale.register()` 对同一个 命名空间 + 语言重复注册会抛错，覆盖不了。所以插件注入一小段 CSS 把原 `.titleGroup` 隐藏（`[class*="fishHitbox"] + [class*="titleGroup"]`，不依赖构建 生成的 class 前缀 hash），文字由 occupant 自己画。

### 侧边栏

由 `@deepseek-ai/dsh-client-ui-sidebar` 渲染：

```jsx
<span className="…brandMark">{renderSlot('sidebar.brand.mark', { size: 24 }, {…})}</span>
<span className="…brandName">{renderSlot('sidebar.brand.name', {}, {…})}</span>
```

两个都是 `shadows-shipped-ui` 的替换位。**单槽位的规则是「按 priority 升序取第一个 entry」，priority 相同则保留注册顺序**，所以这里用 `priority: -1` 抢在官方 occupant 前面，实现覆盖（官方那个是 priority 0、先注册）。

同一个标还会出现在折叠护栏（`span.railMark`）里，复用同一个 occupant。

宿主的 `brandIdentity` 和 `brandName` 固定为 24px 高。插件将包含 `.limix-sidebar-name` 的这两个容器改为自动高度，让 32px Logo 完整显示。 不修改原图，也不移除侧栏整体的溢出保护。

### 文案

文案走客户端 locale 服务：插件注册自己的命名空间 `limix-cover`（zh + en）， 组件里用 `ctx.locale.bind('limix-cover')` 取词条，切换语言即时生效，且不碰任何 官方命名空间。

不改 `app.asar`，不碰签名和 `ElectronAsarIntegrity`，升级 DSH 不会被覆盖。

## 文件

| 路径 | 作用 |
| --- | --- |
| `src/client.js` | 浏览器半边源码（文案字典、样式、三个 slot 占用），要改就改这里 |
| `src/index.js` | 宿主半边（空的 `apply`，给 Loader 一个宿主行） |
| `locale/zh.json`、`locale/en.json` | 插件页显示用的标题/描述（不是运行时文案） |
| `assets/limix-mark.png` | 官网原始图标，构建时内联成 data URI |
| `assets/limix-logo.png` | 官网原始完整标志，供展开侧栏使用 |
| `assets/SOURCES.md` | 官方文件地址与 SHA-256 校验值 |
| `assets/limix-icon.png` | 官网原始图标，供插件列表使用 |
| `build.mjs` | 把 `src/*` 和标志图合成 `lib/client.js` / `lib/index.js` |
| `lib/` | 构建产物，插件实际加载的就是这里 |
| `smoke.mjs` | 不装插件也能跑的自测（stub loader + 渲染成静态 HTML） |
| `cordis.patch.yml` | bundle patch：安装时把插件行插进 profile 树 |

## 改文案 / 换图

1.  文案在 `src/client.js` 的 `MESSAGES`：
    
    ```js
    const MESSAGES = {
      zh: { 'hero.title': 'LimiX 智能预测Agent', 'hero.badge': '预览版', 'sidebar.name': 'LimiX' },
      en: { 'hero.title': 'LimiX Prediction Agent', 'hero.badge': 'Preview', 'sidebar.name': 'LimiX' },
    };
    ```
    
    `hero.badge` 设成 `''` 就不显示徽标。插件页里显示的名字/描述在 `locale/*.json`。
    
2.  品牌图只使用官方原始文件，禁止 AI 重绘或去纹理。来源与校验值见 `assets/SOURCES.md`。图标为 `assets/limix-mark.png` 和 `assets/limix-icon.png`；完整标志为 `assets/limix-logo.png`。
    
3.  重新构建并自测：
    
    ```bash
    node build.mjs && node smoke.mjs
    ```
    
4.  完全退出并重新打开桌面应用，再核对原图纹理和边缘。当前桌面版的 Cmd+R 未重新加载品牌插件，不能据此判断构建已生效。
    

## 安装 / 卸载

安装走 `plugin_manager`（`install_bundle`，target 为这个包的绝对路径），或 GUI 「插件」页的安装入口；卸载用 `remove_bundle`，或在插件页把它关掉。

修好这个包之后如果要重新装一次同样的路径，`install_bundle` 会返回 `already-installed`——先 `remove_bundle` 再装，或者直接改文件靠 HMR 生效。

## 已知边界

-   隐藏原标题用的是结构性选择器（`fishHitbox` + `titleGroup` 这对相邻关系）。 DSH 若重构 hero 结构，这段 CSS 要跟着调；失效表现是标题重复出现，不会白屏。
-   侧边栏图形与字标均为透明底品牌蓝 PNG，字标保留官方字形。
-   英文词条是按中文意译的（`LimiX Prediction Agent` / `Preview`），如需固定说法改 `MESSAGES.en` 即可。

## 常见问题

### dsh-limix-cover 是什么？

LimiX品牌覆盖空白会话英雄和侧边栏品牌行。

### 如何安装 dsh-limix-cover？

在项目目录运行 npm install dsh-limix-cover，或使用 pnpm add / yarn add / bun add。

### dsh-limix-cover 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-limix-cover 是否存在。

### dsh-limix-cover 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### dsh-limix-cover 可以商用吗？

dsh-limix-cover 使用 PolyForm-Noncommercial-1\.0\.0 许可。声明的许可为 PolyForm-Noncommercial-1\.0\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### dsh-limix-cover 还在维护吗？

最新版本 0\.3\.14 发布于 2026/11/03（今天）；至今共发布 6 个版本，其中过去 12 个月发布了 6 个；首次发布于 2026/11/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

