dshbase

插件目录 / Developer / dsh-ui-sidebar

dsh-ui-sidebar

已验证 · 实测可装 nicklin99

✓ 持续维护 基于 6 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-17最近推送
跨平台平台

功能简介

Developer 类别的 DeepSeek Harness 插件。

✅
我们的评价
可用 — 实测通过,早期项目

Developer 类别的 DeepSeek Harness 插件。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-ui-sidebar

基于 deepseek-harness 的 @deepseek-ai/dsh-client-ui-sidebar 派生的自定义 dsh 客户端侧边栏插件。

本插件仅替换了品牌 Logo,其余逻辑(折叠动画、会话树槽位、设置槽位、本地化、滚动条跟随等)与上游 ui-sidebar 完全一致。品牌标记使用远程图片(https://wfell.top/nicklin-logo.png)。

工作原理

本插件是上游 ui-sidebar 的 fork 替代品,而非叠加在上游之上的补丁:

  • 通过 cordis.patch.yml 禁用上游 ui-sidebar(disabled: true),避免与本插件在 sidebar 槽位重复注册、重复声明子槽位导致冲突。
  • 本插件注册 sidebar 槽位(priority: -1)并声明其子槽位 sidebar.workspaces / sidebar.settings / sidebar.footer.action,成为唯一的侧边栏 shell。
  • 会话树、搜索、分组(注册到 sidebar.workspaces)、设置(注册到 sidebar.settings)等子组件仍由宿主环境的其他独立插件提供。

与上游的差异

  • 移除了默认的 BrandWordmark(展开态单词标记)与 FishLogo(折叠态鲸鱼图标)。
  • 新增本地组件 src/client/Logo.tsx:
    • Logo —— 展开态:显示远程图片 wordmark(高度 28px)。
    • LogoCollapsed —— 折叠态:显示同一图片(高度 24px、宽度自适应,对齐上游 FishLogo size 接口)。

修改 Logo

编辑 src/client/Logo.tsx 顶部的 LOGO_URL 常量即可替换品牌图:

const LOGO_URL = 'https://wfell.top/nicklin-logo.png'

图片为横长条 wordmark(约 3:1)。折叠态按高度 24px、宽度自适应完整显示;若折叠 rail(56px 图标列)被撑宽或希望折叠态只用缩略/首字母图标,需调整 LogoCollapsed 的样式。

目录结构

src/
  index.ts                 # 主入口,re-export client 入口
  client/
    index.ts               # 注册 sidebar 槽位、子槽位声明与本地化(apply)
    SidebarRoot.tsx        # 侧边栏外壳(仅此处替换了 logo)
    Logo.tsx               # 自定义 Logo 组件(唯一改动点)
    locales.ts             # 本地化字典
    SidebarRoot.module.css # 样式(复制自上游)
    css-modules.d.ts       # *.module.css 的类型声明
cordis.patch.yml           # dsh 补丁:禁用上游 ui-sidebar + 插入本插件
package.json               # dsh.client / dsh.bundle 声明 + 入口
tsdown.config.ts           # 构建配置(含 CSS module 注入)

构建

pnpm install
pnpm bundle      # 输出到 lib/
pnpm watch       # 监听模式
pnpm typecheck   # 类型检查

该插件依赖 deepseek-harness monorepo 内部的 @deepseek-ai/dsh-client-*
包(workspace:^),需放置于该 monorepo 的 packages/client/ 下,
或将依赖指向本地路径后使用。

作为 dsh 插件加载

package.json 中的 dsh.bundle.patch 指向 cordis.patch.yml,dsh.client 声明了客户端入口与注入依赖,dsh 加载器会据此自动加载:

# cordis.patch.yml
- id: ui-sidebar
  name: '@deepseek-ai/dsh-client-ui-sidebar'
  disabled: true          # 禁用上游,避免槽位/子槽位/本地化冲突

- insert:
    - id: dsh-ui-sidebar
      name: "dsh-ui-sidebar"

配置文件(cordis.patch.yml)在 dsh 启动时才重新组合 entry list,修改后必须重启 dsh 才能生效。

"dsh": {
  "bundle": { "patch": "./cordis.patch.yml" },
  "client": {
    "inject": [
      "@deepseek-ai/dsh-client-runtime",
      "@deepseek-ai/dsh-client-ui-layout",
      "@deepseek-ai/dsh-client-locale"
    ],
    "platform": "web"
  }
}

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-ui-sidebar」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:nicklin99/dsh-ui-sidebar

Headless(CLI)profile:

dsh plugin --profile headless add github:nicklin99/dsh-ui-sidebar

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →