🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

启动动画定制 BEIDAOU/dsh-boot-animation-custom

DeepSeek 客户端
BEIDAOU13 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

自定义启动短片与问候语,让每次打开都有仪式感

30.3/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/BEIDAOU/dsh-boot-animation-custom.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/06·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 13 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 44 处,展示前 41 条)
  • 读取本地文件
    entry.js:309
    entries = await readdir(assetDir, { withFileTypes: true })
  • 读取本地文件
    entry.js:320
    const info = await stat(file)
  • 读取本地文件
    entry.js:377
    const info = await stat(absolute)
  • 读取本地文件
    entry.js:426
    const stream = createReadStream(absolute, { start: from, end: to })
  • 写入本地文件
    entry.js:573
    await mkdir(assetDir, { recursive: true })
  • 写入本地文件
    entry.js:590
    createWriteStream(temp),
  • 写入本地文件
    entry.js:592
    await rename(temp, join(assetDir, name))
  • 删除本地文件
    entry.js:595
    await unlink(temp).catch(() => {})
  • 执行外部命令来自配置/变量
    entry.js:618
    const child = spawn(opener, [assetDir], { detached: true, stdio: 'ignore' })
  • 读取本地文件
    entry.js:770
    return readFileSync(BOOT_SCREEN_PATH, 'utf8')
  • 发起网络请求
    lib/client.js:368
    fetch(MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    lib/client.js:533
    fetch(OPTIMIZE + '?name=' + encodeURIComponent(name), { method: 'POST', cache: 'no-store' })
  • 发起网络请求
    lib/client.js:1060
    fetch(CLIP_MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    lib/client.js:1108
    fetch(CLIP_UPLOAD + '?name=' + encodeURIComponent(file.name), { method: 'POST', body: file })
  • 发起网络请求
    lib/client.js:1127
    fetch(CLIP_FOLDER, { method: 'POST' })
  • 读取本地文件
    src/remux.js:191
    const buffer = readFileSync(file)
  • 写入本地文件
    src/remux.js:247
    mkdirSync(target, { recursive: true })
  • 写入本地文件
    src/remux.js:248
    writeFileSync(out, output)
  • 读取本地文件
    src/remux.js:312
    const info = statSync(file)
  • 写入本地文件
    src/remux.js:331
    mkdirSync(scratchDir, { recursive: true })
  • 读取本地文件
    src/remux.js:333
    if (!existsSync(produced)) throw new Error('重排没有产出文件')
  • 读取本地文件
    src/remux.js:334
    if (statSync(produced).size !== sizeBefore) throw new Error('重排后的长度变了')
  • 写入本地文件
    src/remux.js:337
    mkdirSync(backupDir, { recursive: true })
  • 读取本地文件
    src/remux.js:338
    if (existsSync(backup)) rmSync(backup, { force: true })
  • 删除本地文件
    src/remux.js:338
    if (existsSync(backup)) rmSync(backup, { force: true })
  • 写入本地文件
    src/remux.js:339
    renameSync(file, backup)
  • 删除本地文件递归
    src/remux.js:342
    rmSync(scratchDir, { recursive: true, force: true })
  • 读取本地文件
    src/remux.js:345
    if (!existsSync(file) && existsSync(backup)) renameSync(backup, file)
  • 写入本地文件
    src/remux.js:345
    if (!existsSync(file) && existsSync(backup)) renameSync(backup, file)
  • 删除本地文件
    src/remux.js:359
    rmSync(file, { force: true })
  • 删除本地文件递归
    src/remux.js:361
    rmSync(scratchDir, { recursive: true, force: true })
  • 删除本地文件递归
    src/remux.js:365
    rmSync(scratchDir, { recursive: true, force: true })
  • 读取本地文件
    build-client.mjs:17
    const id = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8')).name
  • 读取本地文件
    build-client.mjs:23
    const source = readFileSync(join(root, 'src', 'client.js'), 'utf8')
  • 写入本地文件
    build-client.mjs:29
    writeFileSync(join(root, 'lib', 'client.js'), bundle)
  • 发起网络请求
    src/boot-screen.js:1158
    fetch(cfg.manifest, { cache: 'no-store' })
  • 发起网络请求
    src/client.js:366
    fetch(MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    src/client.js:531
    fetch(OPTIMIZE + '?name=' + encodeURIComponent(name), { method: 'POST', cache: 'no-store' })
  • 发起网络请求
    src/client.js:1058
    fetch(CLIP_MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    src/client.js:1106
    fetch(CLIP_UPLOAD + '?name=' + encodeURIComponent(file.name), { method: 'POST', body: file })
  • 发起网络请求
    src/client.js:1125
    fetch(CLIP_FOLDER, { method: 'POST' })
扫描于 2026/11/6(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 启动动画定制插件:8 段短片随机或固定播放,支持片尾淡入、分时问候、可选欢迎语和素材管理。

README

由 DeepSeek 最新模型翻译生成
DSH 启动动画 · 欢迎回来 让 DeepSeek Harness 用一段短片迎接你。 8 段短片 · 随机 / 固定播放 · 片尾淡入 · 分时问候 · 可选欢迎语 安装 · 功能与设置 · 使用手册 · 致谢与素材说明 内置动画画面预览 为 DeepSeek Harness 桌面端制作的启动动画定制版:打开应用后播放短片,片尾自然淡入工作界面;想提前进入时,沿用现有点击 / 键盘进入方式。支持在控制页面管理素材、切换播放方式,以及单独选择是否播放额外的「欢迎回来」语音。 基于 lxj5820/dsh-boot-animation 定制。保留上游署名与许可,不修改 DSH 本体源码。 画面预览 以下为随包视频的真实截帧,用来展示动画素材;不包含个人聊天、账号信息或工作区截图。
展开完整文档(README 剩余 1 节)
DSH 启动动画 · 欢迎回来

让 DeepSeek Harness 用一段短片迎接你。

8 段短片 · 随机 / 固定播放 · 片尾淡入 · 分时问候 · 可选欢迎语

安装 · 功能与设置 · 使用手册 · 致谢与素材说明

内置动画画面预览

为 DeepSeek Harness 桌面端制作的启动动画定制版:打开应用后播放短片,片尾自然淡入工作界面;想提前进入时,沿用现有点击 / 键盘进入方式。支持在控制页面管理素材、切换播放方式,以及单独选择是否播放额外的「欢迎回来」语音。

基于 lxj5820/dsh-boot-animation 定制。保留上游署名与许可,不修改 DSH 本体源码。

画面预览

以下为随包视频的真实截帧,用来展示动画素材;不包含个人聊天、账号信息或工作区截图。

| 片段一 | 片段二 | 片段三 |
| 动画素材一 | 动画素材二 | 动画素材三 |

功能与设置

| 功能 | 说明 |
| 8 段内置短片 | 可随机轮播,也可固定播放指定片段 |
| 片尾过渡 | 支持片尾交叉溶解、播完再淡入、点击进入三种方式 |
| 分时问候 | 按本地时间显示凌晨、早晨、中午、下午或晚间问候 |
| 可选欢迎语 | 新增「播放欢迎语」,默认开启;关闭后不播放额外欢迎音 |
| 原声例外 | 1.mp4 自带欢迎语时,不再叠加额外欢迎音;影片原声由影片声音设置控制 |
| 素材管理 | 在设置里上传影片、勾选轮播素材、选择固定片段、打开素材目录 |
| 预览与兼容检查 | 可预览单个片段,显示素材时长、兼容性及 MP4 索引提示 |
| 启动保护 | 清单失败、片段不可播放或启动较慢时有兜底处理 |

保留已调好的播放节奏。 本次版本移除了容易与欢迎音冲突的「点鼠标直接进入」复选框,保留未勾选时的现有行为;为欢迎音增加播放中的防重入与预览监听清理。

安装

需要已安装 DeepSeek Harness,并能在终端使用 dsh 命令。

从 GitHub 安装

dsh plugin --profile desktop add github:BEIDAOU/dsh-boot-animation-custom

安装完成后,完整退出并重新打开 Harness。在 设置 → 启动动画 中配置;部分 DSH 版本也会在插件配置页显示同一张控制卡片。

使用打包文件安装

下载发布包 dsh-boot-animation-custom-0.3.1.tgz,然后执行:

dsh plugin --profile desktop add "C:\path\to\dsh-boot-animation-custom-0.3.1.tgz"

命令行 Web profile 用户可将 desktop 替换为自己的 profile 名称。

请通过插件管理命令安装,使包同时登记到依赖与 bundle 清单。不要仅把文件夹临时塞进 node_modules,否则后续包管理操作可能将它清理。

声音说明

- 播放影片声音:沿用原有整体静音行为;关闭时欢迎音也不播放。
- 播放欢迎语:仅控制额外添加的欢迎音,不删除视频原声里的内容。
- 1.mp4 已内置欢迎语,沿用特殊处理,不叠加独立欢迎音。
- 浏览器 / Electron 的自动播放策略可能要求先点击;插件不会自行修改系统声音权限或应用启动参数。

适配情况

- 已在 Windows x64 + DeepSeek Harness 0.2.1-rc.2 的本机桌面环境验证启动。
- Node.js 要求:^22.19.0 || >=24.0.0,通常由 Harness 自带运行时提供。
- macOS、Linux 及其他 Harness 版本尚未实机验证,不承诺相同行为。

开发与自检

npm install --ignore-scripts
npm run build
npm test
npm run check

src/client.js 是设置界面源码,lib/client.js 是构建产物。修改设置界面后需重新构建;修改 entry.js 后需重启 Harness。src/boot-screen.js 在加载启动页时重新读取。

卸载

dsh plugin --profile desktop remove dsh-boot-animation-custom

然后完整退出并重新打开 Harness。卸载前可备份自己添加的视频素材。

版本与许可

当前版本 0.3.1,变化见 CHANGELOG.md。

代码沿用上游 MIT 许可。上游明确按 MIT 分发的 3 段视频保留原声明;其他视频及欢迎音单独列在 CREDITS.md,不因本仓库代码采用 MIT 而自动获得相同许可。本项目与 DeepSeek 或上游作者不存在官方背书关系。
预览分享卡片长什么样 ↓BEIDAOU/dsh-boot-animation-custom
分享 · DeepSeek Harness Hub
BEIDAOU/dsh-boot-animation-custom

自定义启动短片与问候语,让每次打开都有仪式感

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部