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

React 视频工坊 STARDUSTLC666/dsh-remotion

DeepSeek Harnessv0.10.3
STARDUSTLC6660 天前有提交已提供中文文档扫描:含敏感能力

在 DSH 里把 React 工程做成视频。 首次使用需准备官方渲染环境 欢迎提交 issues 和 PR。

46.2/100
综合分
32
GitHub 星标
5,129
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-remotion
npm 源 · dsh-remotion 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-remotion @ 0.10.3
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 02:18:41

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 57 处,展示前 39 条)
  • 发起网络请求
    lib/client.js:292
    const response = await fetch(route, { method: 'POST', credentials: 'same-origin', cache: 'no-store', signal: controller.signal, headers: { 'content-ty
  • 发起网络请求
    lib/client.js:309
    const close = () => { void fetch(route, { method: 'POST', credentials: 'same-origin', keepalive: true, headers: { 'content-type': 'application/json',
  • 发起网络请求
    lib/client.js:729
    const response = await fetch(new URL(route, document.baseURI), { method: 'POST', credentials: 'same-origin', headers: { 'content-type': 'application/j
  • 发起网络请求
    lib/client.js:846
    const response = await fetch(new URL(route + '/upload', document.baseURI), { method: 'POST', credentials: 'same-origin', headers: { 'content-type': 'a
  • 读取本地文件
    lib/skill-bundle.js:49
    text = readFileSync(file, 'utf8');
  • 读取本地文件
    lib/media-workbench.js:60
    const file = await realpath(value), normalize = (p) => process.platform === 'win32' ? p.toLowerCase() : p;
  • 读取本地文件
    lib/media-workbench.js:61
    const known = await Promise.all(installedChromePaths().map(p => realpath(p).catch(() => '')));
  • 读取本地文件
    lib/media-workbench.js:64
    if (!(await stat(file)).isFile())
  • 读取本地文件
    lib/media-workbench.js:72
    const pkg = JSON.parse(await readFile(join(this.runtime, 'node_modules', this.engine === 'hyperframes' ? 'hyperframes' : '@remotion/cli', 'package.jso
  • 读取本地文件
    lib/media-workbench.js:73
    const stamp = JSON.parse(await readFile(join(this.runtime, 'ready.json'), 'utf8'));
  • 执行外部命令来自配置/变量
    lib/media-workbench.js:97
    execFile(join(process.env.SystemRoot || 'C:/Windows', 'System32/taskkill.exe'), ['/PID', String(child.pid), '/T', '/F'], { windowsHide: true }, () =>
  • 写入本地文件
    lib/media-workbench.js:109
    await mkdir(join(this.store.root, 'tmp'), { recursive: true });
  • 写入本地文件
    lib/media-workbench.js:110
    await mkdir(join(this.store.root, 'user-home/AppData/Roaming'), { recursive: true });
  • 写入本地文件
    lib/media-workbench.js:111
    await mkdir(join(this.store.root, 'user-home/AppData/Local'), { recursive: true });
  • 执行外部命令来自配置/变量
    lib/media-workbench.js:113
    const child = spawn(file, args, { cwd, env: { ...childEnv(this.store.root), ...environment }, windowsHide: true, shell: false, detached: process.platf
  • 写入本地文件
    lib/media-workbench.js:161
    await mkdir(this.runtime, { recursive: true });
  • 写入本地文件
    lib/media-workbench.js:163
    await mkdir(slot, { recursive: true });
  • 删除本地文件
    lib/media-workbench.js:166
    await unlink(join(this.runtime, 'ready.json')).catch(() => { });
  • 写入本地文件
    lib/media-workbench.js:172
    await writeFile(join(this.runtime, 'package.json'), JSON.stringify({ private: true, dependencies }));
  • 发起网络请求
    lib/media-workbench.js:229
    const response = await fetch(url, { signal: AbortSignal.timeout(1500) });
  • 读取本地文件
    lib/media-workbench.js:250
    const browserFile = await this.browserFile(JSON.parse(await readFile(join(this.runtime, 'ready.json'), 'utf8')).browserPath);
  • 发起网络请求
    lib/media-workbench.js:307
    async fetch(request) {
  • 发起网络请求
    lib/media-workbench.js:455
    host.connection?.fetch?.register({ path: workbench.route, methods: ['GET', 'POST'], requestBody: 'buffered', fetch: (request) => workbench.fetch(reque
  • 发起网络请求
    lib/media-workbench.js:456
    host.connection?.fetch?.register({ path: workbench.route + '/upload', methods: ['POST'], requestBody: 'streaming', fetch: (request) => workbench.fetch
  • 发起网络请求
    lib/media-workbench.js:490
    const response = await workbench.fetch(new Request('http://dsh.internal' + workbench.route, { method: 'POST', headers: { 'content-type': 'application/
  • 写入本地文件
    lib/media-store.js:18
    async init() { await mkdir(join(this.root, 'projects'), { recursive: true, mode: 0o700 }); }
  • 读取本地文件
    lib/media-store.js:22
    if ((await lstat(dir)).isSymbolicLink())
  • 读取本地文件
    lib/media-store.js:28
    const base = await realpath(this.root), actual = await realpath(path), rel = relative(base, actual);
  • 读取本地文件
    lib/media-store.js:35
    if ((await stat(file)).size > 65536)
  • 读取本地文件
    lib/media-store.js:37
    const p = JSON.parse(await readFile(file, 'utf8'));
  • 读取本地文件
    lib/media-store.js:54
    const ids = await readdir(folder).catch(error => { if (archived && error.code === 'ENOENT')
  • 写入本地文件
    lib/media-store.js:76
    await mkdir(folder, { recursive: true });
  • 读取本地文件
    lib/media-store.js:79
    if (await lstat(target).then(() => true, error => { if (error.code === 'ENOENT')
  • 写入本地文件
    lib/media-store.js:82
    await rename(source, target);
  • 写入本地文件
    lib/media-store.js:94
    await writeFile(temp, JSON.stringify(p, null, 2), { flag: 'wx', mode: 0o600 });
  • 写入本地文件
    lib/media-store.js:95
    await rename(temp, join(dir, 'project.json'));
  • 删除本地文件
    lib/media-store.js:98
    await unlink(temp).catch(() => { });
  • 写入本地文件
    lib/media-store.js:108
    await mkdir(join(this.root, 'projects', p.id), { mode: 0o700 });
  • 删除本地文件
    lib/media-store.js:203
    await unlink(file).catch(() => { });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • React编程式视频创作
  • 安装即用

DSH 视频创作技能插件:注册 Remotion 官方 12 个技能(React 编程式视频:动画/音频/字幕/3D/地图/图表),安装即用。

README

由 DeepSeek 最新模型翻译生成
简体中文 · English Remotion 在 DSH 里把 React 工程做成视频。 downloads total downloads 安装使用 · 使用流程 · 完整说明 功能 - 使用官方技能与工作台模板。 - 管理工程、素材顺序和 Studio 预览。 - 导出本机 MP4,保留后续可编辑的工程备份。 安装 在 DSH 桌面版「插件」面板安装 dsh-remotion。已配置命令行时也可使用: dsh plugin --profile desktop add dsh-remotion 网页版把 desktop 改为 web;安装后重启对应的 DSH。宿主要求以包声明 >=0.2.1-rc.3 为准。 开始使用 1. 从左侧栏打开 Remotion,点击“新建视频”,选模板并填写内容。 2. 保存工程,再上传图片、音频或视频;需要时在“素材”页调整图片顺序。 3. 首次在“环境”页准备官方渲染环境,完成后启动 Studio 预览。 4. 核对预览,停止预览后继续编辑或导出 MP4;修改后重新导出才会更新成品。 5. 在导出记录下载 MP4 或可编辑工程;用工程库搜索和归档整理多个项目。 可以这样说: 制作一个 React 视频工程,先确认结构和文案,再用 Studio 预览,最后导出 MP4。
展开完整文档(README 剩余 1 节)
简体中文 · English

Remotion

在 DSH 里把 React 工程做成视频。

downloads total downloads

安装使用 · 使用流程 · 完整说明

功能

- 使用官方技能与工作台模板。
- 管理工程、素材顺序和 Studio 预览。
- 导出本机 MP4,保留后续可编辑的工程备份。

安装

在 DSH 桌面版「插件」面板安装 dsh-remotion。已配置命令行时也可使用:

dsh plugin --profile desktop add dsh-remotion

网页版把 desktop 改为 web;安装后重启对应的 DSH。宿主要求以包声明 >=0.2.1-rc.3 为准。

开始使用

1. 从左侧栏打开 Remotion,点击“新建视频”,选模板并填写内容。
2. 保存工程,再上传图片、音频或视频;需要时在“素材”页调整图片顺序。
3. 首次在“环境”页准备官方渲染环境,完成后启动 Studio 预览。
4. 核对预览,停止预览后继续编辑或导出 MP4;修改后重新导出才会更新成品。
5. 在导出记录下载 MP4 或可编辑工程;用工程库搜索和归档整理多个项目。

可以这样说:

制作一个 React 视频工程,先确认结构和文案,再用 Studio 预览,最后导出 MP4。

开始前要知道

首次使用需准备官方渲染环境;修改工程后需要重新渲染成品。

配置、完整工具与排错见详细使用说明。

插件更新

在工作台或原生插件详情页底部检查更新。默认自动检查,默认不自动安装;是否安装、何时重启由你决定。Suite 管理的组件随整包更新。查看更新规则。

文档

- 详细使用、配置与边界
- 更新记录
- 验证范围与历史

反馈与贡献

如果插件帮到了你,欢迎 Star,让更多人发现它。问题和建议请提交 Issues,也欢迎代码与文档 PR。反馈时附上版本与复现步骤,并移除凭据。

License

MIT
预览分享卡片长什么样 ↓STARDUSTLC666/dsh-remotion
分享 · DeepSeek Harness Hub
STARDUSTLC666/dsh-remotion

在 DSH 里把 React 工程做成视频。 首次使用需准备官方渲染环境 欢迎提交 issues 和 PR。

这是你的仓库?认领条目

回到顶部