snowowowo/dsh-manim-card

dsh-manim-card

新增 manim_card 工具,把 Manim Python 渲染为聊天流中可播放的动画卡片;代码经随包分发的运行时在浏览器内执行,本机无需安装 Python;导出视频时,本机装了 Manim 就走 CLI 渲染,否则在浏览器内逐帧导出。

Uncategorizeddeepseek-harnessmanim

dsh-manim-card

中文 | English

给 DeepSeek Harness 加一个能力:AI 在聊天里直接写 Manim 代码,当场在聊天流里出现一张可播放的动画卡片——能播放、能查看代码、能导出视频。

代码在浏览器内执行,运行资源随插件分发,渲染不需要本机安装 Python,也不依赖任何外部服务。导出视频有两档:装了就交给本机 Manim 渲 mp4,没装就在浏览器里逐帧导出(见下)。

聊天流中的 Manim 动画卡片:标题行、画布,右侧三个按钮

线上文档(安装 / 在聊天里用 / 配置面,中英双语):https://snowowowo.github.io/dsh-manim-card/

特点

  • 卡片就长在聊天流里:一行标题、一块画布,右侧三个按钮——播放 / 查看代码 / 导出视频(点开是两条路)。播放完停在终态画面,不会自己重来。
  • 先预检,再呈现:代码返回前先在真解释器里跑一遍,语法错与不支持的写法当场回给模型、同一回合修正,聊天里不会留下空白或残缺的卡片。
  • 渲染不要求本机 Python:执行在浏览器内完成,运行资源随插件分发。
  • 播放有分寸:只有刚生成的那张卡真播一遍;重新挂载与旧会话里的卡一律直接落终态。手动播放一键压过全部自动规则。
  • 导出视频给两条路,谁都能导出:本机装了 Manim 就交给 manim CLI 真渲成 mp4(1080p);没装就退到浏览器里逐帧导出(把时间轴按帧出图再编码,webm / mp4 由浏览器定),帧率稳、不实时播。两行的二级菜单各有画质档位:本机默认高清 1080p60,Web 默认流畅 720p30(逐帧编码每提一档就得多等好几倍,想要更清楚的自己往上挑)。菜单里两行各自说明条件,缺什么一目了然;本机环境的逐项探测在插件详情页的配置面里。

安装

在宿主的插件管理里:

dsh plugin add github:snowowowo/dsh-manim-card

装完刷新宿主页面,「插件」页里出现 Manim Card,它的详情页里有本插件的配置面。首次渲染需要取一次运行资源(约 13 MB),之后离线可用。

用起来

在会话里说一句「用 Manim 画一个单位圆」,卡片随即出现在聊天流中。更多细节见文档站的在聊天里用。

开发

技术栈、目录结构、开发流程与测试分工见文档站的开发与调试。

pnpm install
pnpm build      # 产出 client.js
pnpm test       # 单测(不联网那一档)
pnpm docs       # 本地起文档站

许可

本项目依 MIT 授权,全文见 LICENSE。

随包分发的运行资源与构建产物内联的第三方组件,各依其自身许可——清单见 THIRD-PARTY.md。