# dsh-ulian-web **Repository Path**: winter1991/dsh-ulian-web ## Basic Information - **Project Name**: dsh-ulian-web - **Description**: ulian work brand - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-16 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @ulian-web/dsh-ui-branding UL Work 品牌定制插件:把 DeepSeek Harness Web 界面的品牌外观替换为 **UL Work / 优联智能办公**。 ## 功能 | 位置 | 替换前 | 替换后 | | --- | --- | --- | | 浏览器标签页标题 | `DeepSeek Harness` / `X — DeepSeek Harness` | `UL Work` / `X — UL Work` | | 侧边栏展开态品牌区 | 鲸鱼 + HARNESS 徽章 SVG | `icon.png` 图标 + **UL Work** 文字 | | 侧边栏折叠 rail 图标 | 鲸鱼 FishLogo | `icon.png` | | Hero 空状态图标 | 鲸鱼 FishLogo | `icon.png` | | Hero 空状态标语 | 探索未至之境 / Into the Unknown | **优联智能办公** | | UI 文案品牌词(产品名) | DeepSeek Harness / Harness / DSH | **UL Work** | > 模型相关文案**保持不变**:模型提供方展示名 `DeepSeek`、模型名(如 > `DeepSeek-V4-Flash`、`DeepSeek-V4-Pro`)、`DeepSeek 官方模型`、 > `DeepSeek 搜索提供方` 等不会被替换——它们指代 DeepSeek 模型本身, > 不是本产品品牌。仅替换产品品牌词(`DeepSeek Harness` 及其简称 > `Harness` / `DSH`)。 实现方式为浏览器侧 DOM 品牌替换(`MutationObserver` 持续兜底 React 重渲染), 图标以 base64 内联,**不依赖任何网络资源或宿主文件读取**。 ## 安装 ```bash pnpm add @ulian-web/dsh-ui-branding # 或 npm install @ulian-web/dsh-ui-branding ``` ## 挂载到 DSH 在宿主组合(如 `cordis.patch.yml` / `cordis.yml`)的浏览器插件 roster 中加入一行: ```yaml - id: ui-branding name: '@ulian-web/dsh-ui-branding' ``` 该包的 `package.json` 声明了 `dsh.client.platform: "web"`,会被 DSH 的 `dsh-client-modules` 扫描进 `window.__DSH_BOOT__` 浏览器插件 roster。 ## 构建 ```bash pnpm install pnpm run build ``` 产物: - `lib/index.js` — Node/宿主半(空实现) - `lib/client.js` — 浏览器半(`window.__ModuleLoader__.load` 契约 bundle) - `lib/types/` — TypeScript 声明 ## 替换图标 1. 将新图标缩放为 **128×128** PNG(`icon.png` 已缩放为 `assets/icon-128.png`) 2. 运行脚本重新生成内联常量: ```bash node scripts/generate-icon.mjs ``` 3. 重新构建并提交 `lib/` ## 公司内部使用(git 仓库分发) 无需 npm registry,把本包推入公司 git 仓库即可。 ### 发布侧(开发者) 1. 修改代码或图标后构建: ```bash pnpm run build ``` 2. 打 tag 并推送(**必须包含 `lib/` 构建产物**,部署机直接使用,无需工具链): ```bash git add -A git commit -m "chore: release v0.1.x" git tag v0.1.x git push origin v0.1.x ``` ### 安装侧(DSH 部署机) 在 DSH 项目根目录安装: ```bash dsh plugin --profile web add git+ssh://git@<公司git域名>/<组织>/dsh-ui-branding.git#v0.1.x # 或 HTTPS:dsh plugin --profile web add git+https://<公司git域名>/<组织>/dsh-ui-branding.git#v0.1.x ``` 包内声明了 `dsh.bundle.patch`(见 `cordis.patch.yml`),`dsh plugin add` 会自动把 `@ulian-web/dsh-ui-branding` 加入 `dsh.profile.bundles` 层并挂载到 浏览器 roster——**无需手动编辑 cordis.patch.yml**。 重启 DSH 即可生效。 ### 说明 - 本包运行时**完全自包含**:图标已 base64 内联、client bundle 无外部依赖, git 安装后不需要 pnpm install / build。 - `@deepseek-ai/cordis` 仅作类型标注(可选 peer),DSH 宿主自带该运行时。 - 更新插件:重新 tag → 部署机 `pnpm add …#v新tag` 覆盖安装即可。 ## 本地开发(不使用 npm registry) 本工作区构建依赖 `@deepseek-ai/cordis`(类型 only)与 `tsdown`。若无法访问 registry,可临时链接 DSH checkout 的依赖: ```bash mkdir -p node_modules/@deepseek-ai ln -sfn /vendor/cordis node_modules/@deepseek-ai/cordis ln -sfn /node_modules/.pnpm/tsdown@*/node_modules/tsdown node_modules/tsdown ``` ## License MIT