Site Architecture
AvdLee/RocketSimApp
When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking.
VideoDevour 桌面客户端(macOS .app / Windows 安装包)的打包、签名、发版与热更新。当用户要求"打包客户端"、"构建/出安装包"、"发版/发布 release"、"实现热更新或自动更新"、"客户端装不上/打开报错/签名问题"时使用;也用于排查打包特有的故障——应用被判"已损坏"、功能在开发模式正常但客户端里失效、模块缺失(No module named…
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install datawhalechina/video-devour videodevour-desktop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/videodevour-desktop .claude/skills/videodevour-desktop && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .claude/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktopType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install datawhalechina/video-devour videodevour-desktop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/videodevour-desktop .agents/skills/videodevour-desktop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .agents/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install datawhalechina/video-devour videodevour-desktop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/videodevour-desktop .cursor/skills/videodevour-desktop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .cursor/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/datawhalechina/video-devour.git --path .agents/skills/videodevour-desktop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install datawhalechina/video-devour videodevour-desktop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/videodevour-desktop .gemini/skills/videodevour-desktop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .gemini/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install datawhalechina/video-devour videodevour-desktopInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/videodevour-desktop .github/skills/videodevour-desktop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .github/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add datawhalechina/video-devour --skill videodevour-desktop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install datawhalechina/video-devour videodevour-desktop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datawhalechina/video-devour.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/videodevour-desktop .opencode/skills/videodevour-desktop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "videodevour-desktop" agent skill from https://github.com/datawhalechina/video-devour/tree/main/.agents/skills/videodevour-desktop into .opencode/skills/videodevour-desktop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "videodevour-desktop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
videodevour-desktopVideoDevour 桌面客户端(macOS .app / Windows 安装包)的打包、签名、发版与热更新。当用户要求"打包客户端"、"构建/出安装包"、"发版/发布 release"、"实现热更新或自动更新"、"客户端装不上/打开报错/签名问题"时使用;也用于排查打包特有的故障——应用被判"已损坏"、功能在开发模式正常但客户端里失效、模块缺失(No module named…
Videodevour Desktop is an agent skill from datawhalechina/video-devour. VideoDevour 桌面客户端(macOS .app / Windows 安装包)的打包、签名、发版与热更新。当用户要求"打包客户端"、"构建/出安装包"、"发版/发布 release"、"实现热更新或自动更新"、"客户端装不上/打开报错/签名问题"时使用;也用于排查打包特有的故障——应用被判"已损坏"、功能在开发模式正常但客户端里失效、模块缺失(No module named ...)、下载没反应或白屏、进程残留、架构不匹配。
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `README.md`, `references/pitfalls.md` and `references/release-checklist.md`). Compatibility notes: 需要 macOS 构建机(macOS 版必须);轻量依赖环境 .venv-lite(arm64) / .venv-x64(Intel);Windows 包由 CI 构建,不能跨平台本地构建
It works with macOS. The repository describes itself as: 🚀 基于 ASR + VLM 技术的智能视频笔记工具,能够将任何视频"吞噬"并生成包含图文内容和视频剪影的结构化笔记报告. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 487eddf. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
uvbashghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
需要 macOS 构建机(macOS 版必须);轻量依赖环境 .venv-lite(arm64) / .venv-x64(Intel);Windows 包由 CI 构建,不能跨平台本地构建
From compatibility in the SKILL.md frontmatter.
Videodevour Desktop loads about 1.1k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 60 tokens; SKILL.md has 268 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from datawhalechina/video-devour at commit 487eddf, republished under its Apache-2.0 licence (© datawhalechina). 268 words, ~1,072 tokens.
.claude/skills/videodevour-desktop/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.维护 VideoDevour 的桌面客户端分发:本地/CI 构建 → 签名与校验 → 发布 Release → 组件热更新。
核心事实:客户端是 PyInstaller onedir 冻结包 + pywebview 壳,与开发模式的行为差异极大—— 大量 bug 只在冻结环境出现。任何"开发模式正常"都不能作为客户端可用的证据。
| # | 约束 | 违反的后果 |
|---|---|---|
| 1 | macOS 产物禁止在签名后修改 bundle 内任何文件 | 签名 seal 失效 → 用户看到 "已损坏,无法打开",xattr -cr 也救不了 |
| 2 | 分发的 macOS 产物必须用 ditto -c -k 打 zip | upload-artifact / 普通 zip 会丢 symlink(~109 个)→ 同样"已损坏" |
| 3 | spec 收集项目模块不能用 collect_submodules("backend") | backend/ 无 __init__.py(命名空间包),该调用只收到 5 个模块 → 功能静默缺失 |
| 4 | 项目内导入一律用绝对路径 backend.algorithm.x | 裸导入(from vlm_handler import)在冻结包中失效(代码在 PYZ 内,sys.path 插入无效) |
| 5 | 传给 js_api 的对象,其公开属性会被 pywebview 递归内省 | 把 window 等原生对象存成公开属性 → 无限递归 → 窗口卡死(Windows 实测) |
| 6 | 签名/校验失败绝不能被 || true、2>/dev/null 吞掉 | 坏包静默流出,用户端才发现 |
详细现象与修法见 references/pitfalls.md(20 项,按现象索引)。
# arm64(Apple Silicon 本机)
uv venv .venv-lite --python 3.12
uv pip install --python .venv-lite/bin/python -r requirements-lite.txt pyinstaller pywebview
# x86_64(在 Apple Silicon 上经 uv 安装 Intel Python,Rosetta 构建)
uv python install cpython-3.12.13-macos-x86_64-none
uv venv .venv-x64 --python cpython-3.12.13-macos-x86_64-none
uv pip install --python .venv-x64/bin/python -r requirements-lite.txt pyinstaller pywebview
# 各架构静态 ffmpeg(按 <target>/ 分目录,双架构可共存)
./desktop/fetch_binaries.sh --all-macos版本号单一来源:
pyproject.toml。build_mac.sh与installer.iss的AppVersion需同步手改。
PYTHON_ARM64=$PWD/.venv-lite/bin/python \
PYTHON_X64=$PWD/.venv-x64/bin/python \
./desktop/build_mac.sh --both --sign # 或 --arm64 / --x64
# 打分发 zip(保留 symlink,等价 CI 流程)
cd desktop/dist/arm64 && ditto -c -k --keepParent --sequesterRsrc VideoDevour.app VideoDevour-macos-arm64.zip脚本内置签名与 codesign --verify 校验,失败即退出。
bash .agents/skills/videodevour-desktop/scripts/verify_bundle.sh desktop/dist/arm64/VideoDevour.app检查项:签名 seal、symlink 数量、架构一致性、捆绑二进制、关键模块是否收录。
见 references/release-checklist.md。要点:
pyproject.toml + desktop/installer.iss)→ PR → 合并触发 CIgh release create 上传 4 个资产见 references/update-design.md。结论速览:
按现象查 references/pitfalls.md:
| 现象 | 先查 |
|---|---|
| macOS 报"已损坏,无法打开" | 约束 1/2;pitfalls「分发」组 |
| Windows 一点击就卡死、终端刷满 recursion | js_api 公开属性(约束 5) |
| 报告没有配图 / 功能静默降级 | 模块未收录(约束 3/4) |
客户端报 No module named X | 函数内导入的依赖未收集 |
| 下载 .md 白屏 / 点了没反应 | ALLOW_DOWNLOADS 默认 False |
| 应用启动后无窗口、无日志即退出 | console=False(必须 console=True) |
| 关闭应用后进程残留 | 父进程监测 / 信号处理 |
| 换了架构后功能失效(如在线 ASR) | 二进制 wheel 链接方式差异(cryptography 案例) |
| CI 打包步骤失败 | 编码(PowerShell/Python 写文件需注意 BOM) |
| 设计 | 原因 |
|---|---|
单可执行双角色:VideoDevour(壳) / VideoDevour --backend-only(后端) | 避免 .app 内查找第二个 EXE 的路径与签名复杂度 |
| 端口握手用文件,不用 stdout | macOS 窗口模式(console=False 时)stdout 不可用 |
console=True(后端 EXE) | 窗口模式的 runw 引导器不保留标准文件描述符,uvicorn 会静默退出 |
| 绑定 socket 后交给 uvicorn | 禁止"探测端口→关闭→再绑定"(存在竞争窗口) |
data_root 四级优先级 | --data-dir → VIDEO_DEVOUR_DATA_DIR → 平台默认 → 源码根(开发模式行为不变) |
后端监测父进程需 --parent-pid 显式传入 | 按 os.getppid() 推断会误杀独立启动/CI 场景 |
xattr -cr,且不能做整包自动更新© datawhalechina, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in .agents/skills/videodevour-desktop of datawhalechina/video-devour.
Open the folder on GitHubat commit 487eddf
Videodevour Desktop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Videodevour Desktop this skilldatawhalechina/video-devour | 157 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Site ArchitectureAvdLee/RocketSimApp | 805 | 11 repos | ~3.3k | Automated safety check: Pass | Custom licence | |
| Engine Whats Newflutter/flutter | 179k | — | ~978 | Automated safety check: Pass | BSD-3-Clause | |
| macOS Spm App PackagingDimillian/Skills | 4k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Openclaw Live Updateropenclaw/openclaw | 392k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Orca iOS Simulator Controlstablyai/orca | 89k | 1 repos | ~584 | Automated safety check: Pass | Apache-2.0 |
AvdLee/RocketSimApp
When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking.
flutter/flutter
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
Dimillian/Skills
Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project.
openclaw/openclaw
Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.
stablyai/orca
iOS Simulator control from inside Orca, with the live device view in Orca's emulator pane. Use when driving a booted Apple Simulator on macOS: taps, gestures…
tw93/Mole
A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.
datawhalechina/video-devour
使用 VideoDevour 把视频(B站/YouTube/抖音/X 链接、微信视频号分享链接或本地文件)处理成中文图文报告。当用户要求"处理这个视频"、"视频转笔记/报告/图文大纲"、"下载并总结B站/YouTube/抖音/X/视频号视频"时使用。支持搜索视频、查询链接信息、一键生成带关键帧的图文报告(精简/详细),改写成量子速读/公众号文章/小红书笔记、导出…
Works with
VideoDevour 桌面客户端(macOS .app / Windows 安装包)的打包、签名、发版与热更新。当用户要求"打包客户端"、"构建/出安装包"、"发版/发布 release"、"实现热更新或自动更新"、"客户端装不上/打开报错/签名问题"时使用;也用于排查打包特有的故障——应用被判"已损坏"、功能在开发模式正常但客户端里失效、模块缺失(No module named…. Videodevour Desktop is an agent skill from datawhalechina/video-devour.
Run `npx skills add datawhalechina/video-devour --skill videodevour-desktop -a claude-code`. Or copy the skill folder (.agents/skills/videodevour-desktop in datawhalechina/video-devour) into .claude/skills/videodevour-desktop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add datawhalechina/video-devour --skill videodevour-desktop -a codex`. Or copy the skill folder (.agents/skills/videodevour-desktop in datawhalechina/video-devour) into .agents/skills/videodevour-desktop in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add datawhalechina/video-devour --skill videodevour-desktop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/videodevour-desktop, .gemini/skills/videodevour-desktop, .github/skills/videodevour-desktop and .opencode/skills/videodevour-desktop in your project.
Going by SKILL.md and its folder, Videodevour Desktop needs a shell for the scripts in its folder and the command-line tools its instructions call (uv, bash and gh). Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): 需要 macOS 构建机(macOS 版必须);轻量依赖环境 .venv-lite(arm64) / .venv-x64(Intel);Windows 包由 CI 构建,不能跨平台本地构建.
SKILL.md contains no URLs. Its commands use uv and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Videodevour Desktop is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Videodevour Desktop: Site Architecture (AvdLee/RocketSimApp, 805 stars), Engine Whats New (flutter/flutter, 179k stars), macOS Spm App Packaging (Dimillian/Skills, 4k stars) and Openclaw Live Updater (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
datawhalechina (a GitHub organization) maintains it in datawhalechina/video-devour, which has 157 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 21, 2026.
Source: datawhalechina/video-devour on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.