核查日期:2026-11-10(UTC+8)。范围:共享任务 task-1;只写本文,不改应用代码、包清单、票据或参考仓,不复制播放器资产。本文是工程来源核查,不替代法务意见,也不代表已获授权或真实播放验收通过。
后续决定优先:第1至5节保留首轮核查时的事实与待定建议。Lead 随后转达用户已选择原生 WebRTC/原生 video,并允许仅测试用 DOM 依赖、禁用安装脚本;当前执行决定与 LinkeDOM 官方核实见第6节。首轮“尚未决定/不可安装”不再作为新的方案或授权结论。
v3 分支与 master 分支的 LICENSE 都展示 GNU GPL version 3;不能用参考应用的 MIT 或当前应用的 Apache-2.0 代替 SDK 许可。用户需确认实际授权、交付形态和相应发行义务后,才能决定复用。<video src>。已阅读项目规则、领域词汇、领域文档规则、票据规则、实施票02、视频规格以及视频边界例外、视频访问例外。
参考仓的协作规则、记忆索引与最近索引会话亦已读取;索引指定的长期记忆文件读取为不存在。参考仓的记忆写入要求不扩大本任务唯一文档写权限;未在参考仓补写记录。
本任务不运行服务、浏览器、设备操作、真实迁移、包安装或下载 SDK;不使用 deck,不提交。
对 E:/city-life-line/public/jessibuca 做了完整普通文件列表检查(3个文件),并以只读 SHA-256 运算固定当前内容。参考仓 git ls-files public/jessibuca 也仅列出这三项;该路径 git status --short 无变更。最近路径历史为 5117acf(2026-10-13,视频重构)和 df508d1(2026-10-12,新增视频模块),它们是应用入库历史,不是上游发行版本证明。
| 本地文件 | 字节数 | SHA-256 |
|---|---|---|
| jessibuca.js | 207042 | 7112378e6c3e6e477eb8155dd71857a707867455cdb2cbe13a7407bfcc3ee783 |
| decoder.js | 110216 | 30ea729d30ec1f93740c265549e74cf07d8ea923a1bacff8beb5ef57623314ff |
| jessibuca.d.ts | 20126 | cad4bacfbdb65cf639d96b7c4ba426625fe61da8ccab33953d2116980c481df3 |
decoder.js 与 decoder.wasm文件必须是放在同一个目录下面。当前该目录没有 decoder.wasm。解码脚本本身也有 we(ve="decoder.wasm"),后续通过 locateFile 或脚本路径拼接定位;在当前参考组件的设置下不能把三个文件视作完整软解码交付包。window.Jessibuca。这只能提供项目归属线索,不能证明来自某个 tag、未修改的发行包或授权合同。5.6.2 处于 RecordRTC 代码上下文;不能把它报告成 Jessibuca 版本。脚本中的 Emscripten 文档地址也不是具体编译器/解码库版本或许可证明。参考 VideoPlayer:15–43按 BASE_URL 加载本地播放器和解码脚本,设置 useMSE: false、useWCS: false,并打开 screenshot: true;它只把 script onload 当作加载完成、监听播放器 play 作为 ready。其缺失 Wasm、加载/就绪确认、受控路径及禁止截图/录制等边界必须独立复核,不能复制后就声称满足视频规格的静态资源和真实验收要求。
本地压缩播放器还包含录制相关的外部默认资源 URL(例如 unpkg 上的 webm-wasm)。本次未执行脚本,不能据此断言实际发生过外连;后续受控资源检查不应只核对顶层 script 地址,也不应启用超出规格的录制路径。
先加载了 research、firecrawl、firecrawl-developer-index、firecrawl-scrape 技能。现有 firecrawl --status 返回 command not found,未安装工具;直连 raw GitHub 失败。随后使用现有 read_page 读取官方 GitHub 页面,工具明确返回 Firecrawl 云端 Markdown 提取,不是原始文件字节。未启动本地浏览器,未登录,未读取用户凭据,未下载 SDK。
| 官方证据 | 可得出的结论 | 不可得出的结论 |
|---|---|---|
v3/LICENSE;页面文件提交 379c930c88ab403d7f7d8b917e077b85bb3a8929 |
正文标题为 GNU GENERAL PUBLIC LICENSE / Version 3, 29 June 2007,不是 MIT |
不能证明本地压缩资产与该分支/提交逐字一致,不能证明已有商业例外授权 |
| master/LICENSE | 此分支同样显示 GPL v3,未将旧 master 错当当前默认分支 | 不能从分支许可替本地资产完成版本归属 |
v3/package.json;页面文件提交 663cbb1d84fa3459c0a25379433f2d74c2346062 |
当次页面显示 jessibuca、3.3.28,依赖 recordrtc: 5.6.2 |
3.3.28不是已核实的本地版本;5.6.2不是播放器版本 |
| 官方仓 README | 区分开源版与 PRO 版;说明 Emscripten/Wasm 解码及多种播放能力 | “开源”“已有文件”或“可商用”不等于免除许可证条件,也不证明购买/授权范围 |
GPL 正文已提取到第4、5、6节:包括保留许可/版权通知、修改说明、适用的整体许可要求及非源码形式的 Corresponding Source 条件。本文不替用户判断本项目交付是否属于何种组合/传播形式;需维护者/授权方确认合规路径。许可文本中的 Copyright (C) 2007 Free Software Foundation, Inc. 是许可证文本版权,不能当作 Jessibuca 实现的作者/权利人证明。
参考应用 LICENSE写的是 Copyright (c) 2018 RuoYi 和 MIT;参考应用包清单也写 MIT。它们没有给这套第三方压缩 SDK 建立可验证的授权链。当前驾驶舱包清单的 Apache-2.0 同样不覆盖这个证据缺口。
以当前仓根目录的 createRequire(.../package.json).resolve(...) 做只读入口解析,并读取已有包清单/许可证;没有调用这些模块的编译或测试函数。Node 为 v24.20.0。
| 包 | 本地状态 | 可以支持/不能证明的事项 |
|---|---|---|
vue |
3.5.21,入口可解析;版本与应用声明一致 |
已有 Vue 运行时;不提供浏览器 DOM |
@vue/compiler-sfc |
清单 3.5.21;本地 MIT |
可作为后续获准离线 SFC 编译工具;本次未执行 |
@vue/compiler-dom |
清单 3.5.21;本地 MIT |
模板编译器,不是 DOM 模拟器 |
@vue/server-renderer |
清单 3.5.21;本地 MIT |
可供后续 SSR 输出检查;SSR 不能证明 TAB 点击、焦点、事件传播、媒体播放或卸载行为 |
jsdom / happy-dom / linkedom |
根目录逐项解析均 MODULE_NOT_FOUND |
不能声称已有现成离线浏览器 DOM 环境 |
@vue/test-utils / vitest / jest-environment-jsdom |
根目录逐项解析均 MODULE_NOT_FOUND |
不能默认使用这些测试 API,也未安装它们 |
直接针对现有 yarn.lock的完整检索也未匹配上述缺失包。对整个依赖目录的通用递归搜索曾达到10,000文件扫描上限,因此不宣称整个磁盘或任意深层私有依赖绝对不存在这些包;本结论限定为当前项目根入口不可解析、锁文件无记录。缩小到 node_modules/@vue 的列表已完成,现有 compiler/runtime/server-renderer 可见,test-utils 未列出。
最小测试建议(供 lead 决定,不是本任务实施):
由于项目规则要求,已跳过 build/debug 验证;未运行服务、浏览器、测试套件、真实视频、设备操作或数据库迁移。本文只提供只读证据与决策输入,不把 SDK 来源缺口或 DOM 测试缺口静默掩盖。
更新日期:2026-11-10(UTC+8)。决定依据:本会话 Lead 转达“用户已选择原生WebRTC/原生video,明确允许添加仅测试用DOM依赖并禁安装脚本”。这不是本研究代理自行变更方案;本代理仍只更新本文、只读核实,不安装任何包、不修改应用包清单或锁文件,由 Lead 负责依赖变更。
<video> 的协议适配,不复制现有 Jessibuca、decoder 脚本或 Wasm,不新增第三方播放 SDK。webrtc: 地址直接塞进 <video src>;原生 video 也只消费实际支持的媒体信息。playing/轨道事件不能替代真实播放;本会话没有因此获得服务启动、浏览器或设备操作授权。本次只读查询官方 npm latest 元数据和固定版本元数据,均返回 HTTP 200;并与官方 GitHub 包清单、官方 LICENSE交叉核对。npm 返回的是 JSON 元数据;GitHub 通过已有 Firecrawl 云读取通道提取。未下载 tarball、未安装、未运行包脚本。
| 项目 | 当次可核实的结果 |
|---|---|
| 名称 / 当前 latest | linkedom / 0.18.15;建议 Lead 若采用则精确锁定这个版本,不把浮动 latest 写入测试依赖 |
| 上游仓库 | https://github.com/WebReflection/linkedom.git |
| npm gitHead / 官方包清单提交 | 6e2ae0ca56adc00f9e6e7d35971f22d676a454ff(官方页面显示 0.18.15) |
| 包许可 | ISC;官方 LICENSE 为 Copyright (c) 2021, Andrea Giammarchi, @WebReflection,允许有偿/无偿使用、复制、修改、分发,但要求保留版权与许可通知;无担保 |
| Node 要求 | engines.node: >=16;此前本机 v24.20.0 满足直接包要求,尚未安装验证传递依赖 |
| 已发布入口 | ESM ./esm/index.js;CommonJS ./cjs/index.js;包元数据已列相应 exports,无需从 Git 源码运行 build 来获得入口 |
| 直接运行依赖 | css-select ^7.0.0、cssomnom ^0.1.11、html-escaper ^3.0.3、htmlparser2 ^10.1.0、uhyphen ^0.2.0 |
| 可选 peer | canvas >=2,peerDependenciesMeta.canvas.optional: true;本测试范围不需要主动加入原生 canvas 包或其构建链 |
| 自身安装生命周期 | 当次官方 scripts 未声明 preinstall、install、postinstall、prepare;存在 build/test 等开发脚本,但本次不执行。这不能证明传递依赖或当前应用没有安装脚本 |
| tarball 完整性元数据 | sha512-o0w7eD/SvoCao+pUi6dzocCLuMR11g4Tv/et0W2OUzwWmUcewntSzyl+Ua/K+0yKym0Y/Mav3nFAaI5Av5jvZg==;仅记录 registry 值,未下载验证 |
ISC 原文关键条件:“Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.” 此许可结论来自 LinkeDOM 自身,不由应用许可推断;传递依赖应保留其各自许可。
--ignore-scripts 选项,而非仅检查 LinkeDOM 自身。尤其应用现有 postinstall也属于需禁止的安装脚本;不能为“修补环境”补跑。依赖图与锁文件最终结果仍由 Lead 核对。