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

字符电影引擎 YanKaFei/ascii-cinema-engine

DeepSeek Harness
YanKaFei16 天前有提交已提供中文文档扫描:含敏感能力

把主题渲染成 240×120 字符网格的完整影片

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add YanKaFei/ascii-cinema-engine
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 38 处,展示前 30 条)
  • 读取本地文件
    experiments/gpu-ascii/spike.mjs:35
    const scene = JSON.parse(await readFile(irPath, "utf8"));
  • 写入本地文件
    experiments/gpu-ascii/spike.mjs:64
    await mkdir(path.dirname(outPath), { recursive: true });
  • 写入本地文件
    experiments/gpu-ascii/spike.mjs:66
    await writeFile(outPath, png);
  • 读取本地文件
    src/audio/audio-source.ts:71
    const b = await readFile(p);
  • 读取本地文件
    src/audio/decode.ts:56
    const pcm = await readFile(decodedPath);
  • 删除本地文件递归
    src/audio/decode.ts:59
    await rm(dir, { recursive: true, force: true });
  • 读取本地文件
    src/cli/engine.ts:110
    return JSON.parse(await readFile(p, "utf8")) as T;
  • 写入本地文件
    src/cli/engine.ts:184
    await writeFile(p.spec, JSON.stringify(film, null, 2) + "\n", "utf8");
  • 写入本地文件
    src/cli/engine.ts:230
    await writeFile(p.shots, JSON.stringify(shotList, null, 2) + "\n", "utf8");
  • 写入本地文件
    src/cli/engine.ts:291
    await writeFile(path.join(outDir, "film-spec-v2.json"), JSON.stringify(film, null, 2) + "\n", "utf8");
  • 写入本地文件
    src/cli/engine.ts:292
    await writeFile(path.join(outDir, "film-spec.json"), JSON.stringify(v1, null, 2) + "\n", "utf8");
  • 写入本地文件
    src/cli/engine.ts:324
    await writeFile(path.join(outDir, "shot-list.json"), JSON.stringify(shotList, null, 2) + "\n", "utf8");
  • 写入本地文件
    src/cli/engine.ts:329
    await writeFile(
  • 读取本地文件
    src/cli/engine.ts:500
    const buf = await readFile(p);
  • 写入本地文件
    src/render/encode.ts:19
    await mkdir(dir, { recursive: true });
  • 读取本地文件
    src/render/encode.ts:24
    return (await stat(p)).size;
  • 写入本地文件
    src/render/encode.ts:94
    await writeFile(outPath, png);
  • 写入本地文件
    src/render/encode.ts:150
    await writeFile(outPath, png);
  • 写入本地文件
    src/render/encode.ts:179
    await writeFile(outPath, buf);
  • 删除本地文件
    src/render/encode.ts:185
    await rm(p, { force: true });
  • 执行外部命令来自配置/变量
    src/util/ffmpeg.ts:18
    const child = spawn(bin, args, {
  • 执行外部命令来自配置/变量
    src/util/ffmpeg.ts:40
    const r = spawnSync(bin, ["-version"], { encoding: "utf8" });
  • 执行外部命令来自配置/变量
    src/util/ffmpeg.ts:200
    const child = spawn(opts.ffmpeg, args, {
  • 执行外部命令来自配置/变量
    src/util/ffmpeg.ts:244
    const r = spawnSync(c, ["-version"], { encoding: "utf8" });
  • 执行外部命令来自配置/变量
    src/util/ffmpeg.ts:309
    const child = spawn(opts.ffmpeg, args, {
  • 执行外部命令来自配置/变量
    src/util/toolchain.ts:73
    const r = spawnSync(bin, ["-hide_banner", "-version"], {
  • 读取本地文件
    src/util/toolchain.ts:87
    if (existsSync(candidate) && statSync(candidate).isFile()) return candidate;
  • 读取本地文件
    src/util/toolchain.ts:87
    if (existsSync(candidate) && statSync(candidate).isFile()) return candidate;
  • 读取本地文件
    src/util/toolchain.ts:98
    if (envFfmpeg && envFfprobe && existsSync(envFfmpeg) && existsSync(envFfprobe)) {
  • 读取本地文件
    src/util/toolchain.ts:165
    return readdirSync(root).filter((d) => d.startsWith("compositor-"));
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

一部完全由字符构成的电影引擎——每帧 240×120 个 ASCII 字符格,确定性渲染,因果编译。

README

由 DeepSeek 最新模型翻译生成
运行 / RUN npm ci npm run typecheck && npm run build npm test # 518,975 不变式断言 npm run gate:phase2 # 完整质量门:typecheck → build → test → 回归 → 基准 → 多样性 完整管线: node scripts/pipeline.mjs --prompt <主题> --out out/<name> 环境变量 两个脚本需要外部素材,路径由环境变量提供,仓库内不含这些文件: | 变量 | 用途 | | CINEMA_TRACK | scripts/phase4a3.mjs / phase4b0-.mjs 的音频轨路径 | | CINEMA_PYTHON | scripts/phase4a3-independent.mjs 用于独立比对的 Python 解释器 | 未设置时会明确报错,不会静默使用错误路径。 依赖的渲染工具链不在本仓库内 node_modules 与 FFmpeg / Remotion 平台二进制不随仓库分发(见 LICENSE.md)。 out/draftt2/final-draftt2.mp4 是已生成的成片,用于直接观看。 ENGINE · 96 TypeScript files / 30,458 lines · 240 × 120 character grid · byte-for-byte reproducible
预览分享卡片长什么样 ↓YanKaFei/ascii-cinema-engine
分享 · DeepSeek Harness Hub
YanKaFei/ascii-cinema-engine

把主题渲染成 240×120 字符网格的完整影片

回到顶部