#298 by GitHub stars
ZJU-REAL/Easel
An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/builtin/ai-image-gen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/ai-music/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/ai-video-gen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/asset-manager/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/audio-denoise/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/audio-editing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/audio-mix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/audio-visualizer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/auto-short-video/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/auto-subtitle/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/batch-process/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/beat-sync-video/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/card-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/card-quote/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/card-xiaohongshu/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/chart-visualization/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/clipify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/comparison-card/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/copywriting/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/data-report/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/doc-convert/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/ecom-details-image/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/green-screen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/gzh-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/image-editing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/image-enhance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/infographic/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/meme-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/mindmap/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/multi-voice-dubbing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/novel-writer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/paper-explainer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/post-formatter/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/poster-hero/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/remove-bg/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/roi-calculator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/short-drama/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-account-diagnosis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-algorithm-updates/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-article-outline/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-audience-profiler/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-bilibili-upload/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-brand-onboarding/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-campaign-planner/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-carousel-planner/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-channels-upload/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-collab-proposal/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-comment-insights/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-community-ops/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-competitor-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-calendar/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-calendar-log/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-gap-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-matrix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-postmortem/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-repurposing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-content-strategy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-cross-platform-diff/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-cross-platform-publish/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-data-tracker/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-douyin-upload/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-event-calendar/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-hook-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-kuaishou-upload/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-livestream/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-my-account/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-news-intelligence/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-persona-check/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-positioning-analysis/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-post-scorer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-profile-builder/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-profile-manager/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-publish-analytics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-publish-checklist/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-publish-log/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-publish-notify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-publish-scheduler/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-quality-gate/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-record-card/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-risk-scanner/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-rss-aggregator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-seo-quality/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-short-link/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-social-performance-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-strategy-advisor/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-topic-evaluator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-trend-rider/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-trending-topics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-ugc-discovery/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-voice-builder/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-wechat-publisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-xhs-analyzer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-xhs-comment-reply/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-xhs-publisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-zhihu-answer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/skill-zhihu-publisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/slideshow-video/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/social-content/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/style-transfer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/subtitle-translate/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/template-library/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/text-condenser/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/text-polisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/tts-voiceover/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-chapters/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-editing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-highlights/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-intro-outro/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-production/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-reframe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-script/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-strategy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/video-to-article/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/voice-clone/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
skills/builtin/xhs-note-creator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
5a597e5f3ef5 → 0f43dc98277e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 5a597e5f3ef5
No earlier version was observed for comparison.
Verified commit 0f43dc98277eac85fb48952878acad349731d3fc
git clone --filter=blob:none --no-checkout https://github.com/ZJU-REAL/Easel.git .hotskills/zju-real-easel && git -C .hotskills/zju-real-easel checkout --detach 0f43dc98277eac85fb48952878acad349731d3fc
# Copy each selected skill directory from .hotskills/zju-real-easel into .agents/skills/<skill-name>/Heat
7.7- Star growth, last 7 daysAhead of 97% of tracked repositories
- Star growth, last 24 hoursAhead of 96% of tracked repositories
- Rank movement, last 7 daysAhead of 55% of tracked repositories
- Commits, last 30 daysAhead of 96% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- ai-image-gen
skills/builtin/ai-image-gen - ai-music
skills/builtin/ai-music - ai-video-gen
skills/builtin/ai-video-gen - asset-manager
skills/builtin/asset-manager - audio-denoise
skills/builtin/audio-denoise - audio-editing
skills/builtin/audio-editing - audio-mix
skills/builtin/audio-mix - audio-visualizer
skills/builtin/audio-visualizer - auto-short-video
skills/builtin/auto-short-video - auto-subtitle
skills/builtin/auto-subtitle - batch-process
skills/builtin/batch-process - beat-sync-video
skills/builtin/beat-sync-video - card-design
skills/builtin/card-design - card-quote
skills/builtin/card-quote - card-xiaohongshu
skills/builtin/card-xiaohongshu - chart-visualization
skills/builtin/chart-visualization - clipify
skills/builtin/clipify - comparison-card
skills/builtin/comparison-card - copywriting
skills/builtin/copywriting - data-report
skills/builtin/data-report - doc-convert
skills/builtin/doc-convert - ecom-details-image
skills/builtin/ecom-details-image - green-screen
skills/builtin/green-screen - gzh-design
skills/builtin/gzh-design - image-editing
skills/builtin/image-editing - image-enhance
skills/builtin/image-enhance - infographic
skills/builtin/infographic - meme-generator
skills/builtin/meme-generator - mindmap
skills/builtin/mindmap - multi-voice-dubbing
skills/builtin/multi-voice-dubbing - novel-writer
skills/builtin/novel-writer - paper-explainer
skills/builtin/paper-explainer - post-formatter
skills/builtin/post-formatter - poster-hero
skills/builtin/poster-hero - remove-bg
skills/builtin/remove-bg - roi-calculator
skills/builtin/roi-calculator - short-drama
skills/builtin/short-drama - skill-account-diagnosis
skills/builtin/skill-account-diagnosis - skill-algorithm-updates
skills/builtin/skill-algorithm-updates - skill-article-outline
skills/builtin/skill-article-outline - skill-audience-profiler
skills/builtin/skill-audience-profiler - skill-bilibili-upload
skills/builtin/skill-bilibili-upload - skill-brand-onboarding
skills/builtin/skill-brand-onboarding - skill-campaign-planner
skills/builtin/skill-campaign-planner - skill-carousel-planner
skills/builtin/skill-carousel-planner - skill-channels-upload
skills/builtin/skill-channels-upload - skill-collab-proposal
skills/builtin/skill-collab-proposal - skill-comment-insights
skills/builtin/skill-comment-insights - skill-community-ops
skills/builtin/skill-community-ops - skill-competitor-analysis
skills/builtin/skill-competitor-analysis - skill-content-calendar
skills/builtin/skill-content-calendar - skill-content-calendar-log
skills/builtin/skill-content-calendar-log - skill-content-gap-analysis
skills/builtin/skill-content-gap-analysis - skill-content-matrix
skills/builtin/skill-content-matrix - skill-content-postmortem
skills/builtin/skill-content-postmortem - skill-content-repurposing
skills/builtin/skill-content-repurposing - skill-content-strategy
skills/builtin/skill-content-strategy - skill-cross-platform-diff
skills/builtin/skill-cross-platform-diff - skill-cross-platform-publish
skills/builtin/skill-cross-platform-publish - skill-data-tracker
skills/builtin/skill-data-tracker - skill-douyin-upload
skills/builtin/skill-douyin-upload - skill-event-calendar
skills/builtin/skill-event-calendar - skill-hook-generator
skills/builtin/skill-hook-generator - skill-kuaishou-upload
skills/builtin/skill-kuaishou-upload - skill-livestream
skills/builtin/skill-livestream - skill-my-account
skills/builtin/skill-my-account - skill-news-intelligence
skills/builtin/skill-news-intelligence - skill-persona-check
skills/builtin/skill-persona-check - skill-positioning-analysis
skills/builtin/skill-positioning-analysis - skill-post-scorer
skills/builtin/skill-post-scorer - skill-profile-builder
skills/builtin/skill-profile-builder - skill-profile-manager
skills/builtin/skill-profile-manager - skill-publish-analytics
skills/builtin/skill-publish-analytics - skill-publish-checklist
skills/builtin/skill-publish-checklist - skill-publish-log
skills/builtin/skill-publish-log - skill-publish-notify
skills/builtin/skill-publish-notify - skill-publish-scheduler
skills/builtin/skill-publish-scheduler - skill-quality-gate
skills/builtin/skill-quality-gate - skill-record-card
skills/builtin/skill-record-card - skill-risk-scanner
skills/builtin/skill-risk-scanner - skill-rss-aggregator
skills/builtin/skill-rss-aggregator - skill-seo-quality
skills/builtin/skill-seo-quality - skill-short-link
skills/builtin/skill-short-link - skill-social-performance-review
skills/builtin/skill-social-performance-review - skill-strategy-advisor
skills/builtin/skill-strategy-advisor - skill-topic-evaluator
skills/builtin/skill-topic-evaluator - skill-trend-rider
skills/builtin/skill-trend-rider - skill-trending-topics
skills/builtin/skill-trending-topics - skill-ugc-discovery
skills/builtin/skill-ugc-discovery - skill-voice-builder
skills/builtin/skill-voice-builder - skill-wechat-publisher
skills/builtin/skill-wechat-publisher - redbook
skills/builtin/skill-xhs-analyzer - skill-xhs-comment-reply
skills/builtin/skill-xhs-comment-reply - skill-xhs-publisher
skills/builtin/skill-xhs-publisher - skill-zhihu-answer
skills/builtin/skill-zhihu-answer - skill-zhihu-publisher
skills/builtin/skill-zhihu-publisher - slideshow-video
skills/builtin/slideshow-video - social-content
skills/builtin/social-content - style-transfer
skills/builtin/style-transfer - subtitle-translate
skills/builtin/subtitle-translate - template-library
skills/builtin/template-library - text-condenser
skills/builtin/text-condenser - text-polisher
skills/builtin/text-polisher - tts-voiceover
skills/builtin/tts-voiceover - video-chapters
skills/builtin/video-chapters - video-editing
skills/builtin/video-editing - video-highlights
skills/builtin/video-highlights - video-intro-outro
skills/builtin/video-intro-outro - video-production
skills/builtin/video-production - video-reframe
skills/builtin/video-reframe - video-script
skills/builtin/video-script - video-strategy
skills/builtin/video-strategy - video-to-article
skills/builtin/video-to-article - voice-clone
skills/builtin/voice-clone - xhs-note-creator
skills/builtin/xhs-note-creator
How it works
ai-image-gen
When your agent uses it
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI 作图、换图、改图、图像编辑、给我画一张、生成一张图 时使用。支持 OpenAI 兼容 API 与 apimart 异步 API,用户自备 API key。
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
1,569 tokensWhen the skill is activated
Reference documents
636 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 边界(和相邻 SKILL 区分)
- 配置(执行前必读)
- 执行步骤
- 产物
- Profile 感知
- 常见问题
Files
EASEL-META.mddoc2,123 bytesSKILL.mdcore5,169 bytesSKILL.mdcore5,169 bytesSKILL.mdcore5,169 bytesSKILL.mdcore5,169 bytesSKILL.mdcore5,169 bytes
Read SKILL.md
# ai-image-gen Skill
> 通用 AI 文生图 / 图生图 / 图像变体。用户自备图像生成 API key(OpenAI 兼容 或 apimart 异步),产物写入 `outputs/`。
调用共享脚本 `skills/shared/scripts/ai_image.py`(纯标准库,无第三方依赖)。
本 SKILL 不索要、不回显、不写入、不提交任何真实 API key —— key 只存在于用户自己的 `.env`。
## 边界(和相邻 SKILL 区分)
- **ai-image-gen(本 SKILL)**:通用 AI 生图,任意题材,文生图 / 图生图 / 变体。
- **ecom-details-image**:电商详情页 / 商品主图专用出图(25 场景模板、PDP 序列)。要做电商商品图走它。
- **card-\* / poster-\***:HTML+CSS 渲染截图(金句卡、小红书卡、海报),**非 AI 生成**,是确定性设计出图。
- **image-editing**:已有图片的确定性处理(改尺寸/裁剪/加水印/压缩),不生成新画面。
View the complete source on GitHubai-music
When your agent uses it
AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方 API)文生音乐,异步提交→轮询→下载,产物可再裁剪/归一化或加到视频。当用户说“AI 音乐”“AI 配乐”“生成 BGM”“背景音乐”“原创音乐”“AI 作曲”“纯音乐”“给视频配乐”“做首曲子”时使用。与 tts-voiceover 的区别:tts-voiceover 生成人声口播/旁白,ai-music 生成背景音乐/配乐(无人声或带演唱)。
What it loads into context
Frontmatter
170 tokensAlways available to the agent
SKILL.md
1,611 tokensWhen the skill is activated
Reference documents
369 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 配置(需设的环境变量)
- 执行步骤
- 规则
Scripts executed separately
../../shared/scripts/ai_music.py../../shared/scripts/audio_ops.py../../shared/scripts/model_registry.py../../shared/scripts/video_ops.py
Files
EASEL-META.mddoc1,220 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytesSKILL.mdcore5,502 bytes../../shared/scripts/ai_music.pyruns21,197 bytes../../shared/scripts/audio_ops.pyruns18,370 bytes../../shared/scripts/model_registry.pyruns12,510 bytes../../shared/scripts/video_ops.pyruns31,775 bytes
Read SKILL.md
# AI 音乐 / BGM 生成(AI Music)
给短视频、Vlog、社媒内容生成**原创背景音乐 / 配乐 / 纯音乐**。全程通过共享脚本
`skills/shared/scripts/ai_music.py` 封装音乐生成 API(可插拔 provider),
异步提交 → 轮询 → 下载。生成的音乐可再交给 `audio_ops.py` / `video_ops.py`
做裁剪、归一化或加到视频。
**边界**:本 SKILL 只做背景音乐 / 配乐。要**人声口播 / 旁白 / 朗读**用 `tts-voiceover`。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| prompt | 是 | 风格 / 情绪 / 乐器描述(如“轻快 lo-fi,钢琴+鼓点,vlog 片头”) |View the complete source on GitHubai-video-gen
When your agent uses it
AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容)异步生成视频,用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy(选型/策略)、video-editing(剪辑处理)、clipify(切片)区别:本 SKILL 是从 0 用 AI 生成新视频。
What it loads into context
Frontmatter
154 tokensAlways available to the agent
SKILL.md
1,648 tokensWhen the skill is activated
Reference documents
1,648 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置:配置 API key
- 输入
- 输出
- 执行步骤
- Profile 感知
- 注意
Files
EASEL-META.mddoc1,246 bytesSKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytesSKILL.mdcore5,521 bytes../video-strategy/references/ai-video-prompting.mddoc5,258 bytes
Read SKILL.md
# AI 视频生成
> 文生视频 / 图生视频 / 数字人首帧驱动。封装 `skills/shared/scripts/ai_video.py`,多 provider 可插拔、异步提交→轮询→下载。**用户自备 API key**(在 `.env` 配置)。
## 前置:配置 API key
> **配置检查路径铁律**:先 `cd` 到运行时说明给出的 Easel 项目根,确认当前目录有 `.env` 和 `skills/shared/scripts/`,再运行注册表、`check` 或生成命令。不得改用 workspace 的共享脚本副本,也不得以 `env` / `printenv` 没显示变量为由判断未配置。
先选 provider 并在 `.env` 填对应 key,然后 `check` 离线校验:
```bash
python skills/shared/scripts/ai_video.py check --provider dashscope
```
View the complete source on GitHubasset-manager
When your agent uses it
outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、 "outputs 整理"、"之前做的"时使用。 与其他 produce 层 SKILL 的区别:produce 层负责生成内容, asset-manager 负责生成后的产物管理(归档、检索、标签)。
What it loads into context
Frontmatter
127 tokensAlways available to the agent
SKILL.md
1,806 tokensWhen the skill is activated
Reference documents
440 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
scripts/assets.py
Files
EASEL-META.mddoc1,476 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesSKILL.mdcore5,821 bytesscripts/assets.pyruns17,859 bytes
Read SKILL.md
# 素材管理器
> outputs/ 产物的归档、标签、检索 — 让历史内容随时可查可复用
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| action | 是 | 操作类型:`scan` / `search` / `archive` / `tag` / `list` / `report` |
| query | 否 | 搜索关键词(search 操作时使用) |
| path | 否 | 指定操作的文件或目录(默认 `outputs/`) |
| tags | 否 | 要添加的标签列表,逗号分隔(tag 操作时使用) |
| filter_platform | 否 | 按平台筛选:`xiaohongshu` / `weibo` / `douyin` / `zhihu` / `wechat` / `x` |
| filter_type | 否 | 按类型筛选:`image` / `video` / `text` / `card` / `poster` / `script` |View the complete source on GitHubaudio-denoise
When your agent uses it
音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。 当用户说"降噪""去噪""去杂音""消除背景噪声""电流声""风噪""录音有杂音""音频降噪"时使用。 和 audio-editing 的区别:audio-editing 做剪辑/转码/音量等通用音频操作(内置 denoise 兜底),本 SKILL 专做降噪调参。
What it loads into context
Frontmatter
156 tokensAlways available to the agent
SKILL.md
1,552 tokensWhen the skill is activated
Reference documents
239 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 三级降噪方案(对应脚本 `--tier`)
- 执行步骤
- 规则
- 自研参考
Scripts executed separately
../../shared/scripts/audio_ops.py
Files
EASEL-META.mddoc710 bytesSKILL.mdcore4,840 bytesSKILL.mdcore4,840 bytesSKILL.mdcore4,840 bytesSKILL.mdcore4,840 bytesSKILL.mdcore4,840 bytes../../shared/scripts/audio_ops.pyruns18,370 bytes
Read SKILL.md
# 音频降噪
清理录音中的背景噪声。降噪专项 SKILL——通过共享脚本 `skills/shared/scripts/audio_ops.py denoise` 封装 ffmpeg 降噪滤镜,提供三级方案(从基础滤波到 RNN 神经网络),参数确定、可复现,不现场手拼命令。
> 通用音频操作(裁剪/转码/音量/提取/拼接/淡入淡出/变速)见 **audio-editing**。本 SKILL 专注降噪。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| input_file | 是 | 音频或视频文件路径 |
| tier | 否 | `1` / `2` / `3`(默认 `2`) |
| output_file | 否 | 默认 `outputs/主题名/{filename}-clean.{ext}` |
| mix | 否 | 降噪强度 0.0-1.0(默认 0.8,仅 tier3 RNNoise) |View the complete source on GitHubaudio-editing
When your agent uses it
通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。
What it loads into context
Frontmatter
173 tokensAlways available to the agent
SKILL.md
1,342 tokensWhen the skill is activated
Reference documents
184 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 与 audio-denoise 的边界
- 规则
- Profile 感知
Scripts executed separately
../../shared/scripts/audio_ops.py
Files
EASEL-META.mddoc568 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytesSKILL.mdcore4,456 bytes../../shared/scripts/audio_ops.pyruns18,370 bytes
Read SKILL.md
# 通用音频处理
除降噪外的通用音频操作:裁剪、转码、音量归一化、提取音轨、拼接、淡入淡出、变速。全部通过共享脚本 `skills/shared/scripts/audio_ops.py` 封装 ffmpeg,参数确定、可复现,不现场手拼命令。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| input_file | 是 | 音频或视频文件路径 |
| operation | 是 | trim / convert / normalize / extract / concat / fade / speed / denoise / info |
| output_file | 否 | 默认 `outputs/主题名/{name}-{op}.{ext}` |
支持格式:wav / mp3 / m4a / aac / flac,视频容器 mp4 / mkv / mov(提取音轨)。
View the complete source on GitHubaudio-mix
When your agent uses it
音频混合 / 混音:把旁白口播 + 背景音乐 + 音效混成一轨,BGM 自动循环补足并可闪避(旁白说话时自动压低 BGM 保证人声清晰)。当用户说 混音、音频混合、旁白加背景音乐、配音加BGM、人声和音乐混一起、加音效、音频叠加、BGM 压低、闪避、ducking、把配音和bgm合起来 时使用。基于 shared/scripts/audio_mix.py。与 audio-editing concat 区别:concat 是前后顺序拼接,本 SKILL 是同时叠加混音;与 video-editing bgm 区别:那个给视频配乐,本 SKILL 输出纯音频。
What it loads into context
Frontmatter
191 tokensAlways available to the agent
SKILL.md
1,157 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 调参
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/audio_mix.py
Files
SKILL.mdcore3,663 bytesSKILL.mdcore3,663 bytes../../shared/scripts/audio_mix.pyruns11,703 bytes
Read SKILL.md
# 音频混合(旁白 + BGM + 音效)
> 把多条音频**同时叠加**混成一轨,核心能力是**闪避(ducking)**——旁白说话时自动压低
> 背景音乐,人声清晰、音乐不抢。全部走 `skills/shared/scripts/audio_mix.py`,
> **不要手拼 amix/sidechaincompress**。
> 前后顺序拼接(一段接一段)见 **audio-editing** `concat`;给视频配乐见 **video-editing** `bgm`;
> 降噪见 **audio-denoise**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 旁白 | 否 | 口播/配音主轨(给了则输出时长跟它走,并触发闪避) |View the complete source on GitHubaudio-visualizer
When your agent uses it
音频可视化视频:把纯音频(播客片段、音乐、口播金句、电台)渲染成带动态波形/频谱的视频,配封面和标题,好发到抖音/B站/视频号等只收视频的平台。当用户说 音频可视化、音频转视频、播客做成视频、音频波形视频、音乐可视化、给音频配画面、声波视频、频谱视频、把音频发到视频平台、电台切片视频 时使用。基于 shared/scripts/audio_viz.py(ffmpeg showwaves/showcqt/showspectrum)。与 audio-mix 区别:那个输出音频,本 SKILL 输出视频;与 slideshow-video 区别:那个用图片,本 SKILL 用音频驱动画面。
What it loads into context
Frontmatter
194 tokensAlways available to the agent
SKILL.md
1,168 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 模式怎么选
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/audio_viz.py
Files
SKILL.mdcore3,756 bytesSKILL.mdcore3,756 bytes../../shared/scripts/audio_viz.pyruns9,946 bytes
Read SKILL.md
# 音频可视化视频
> 把音频渲染成带动态波形/频谱的视频,配封面+标题,让纯音频能发到视频平台。全部走
> `skills/shared/scripts/audio_viz.py`,**不要手拼 showwaves/showcqt 滤镜**。
> 输出音频(混音)见 **audio-mix**;用图片做视频见 **slideshow-video**;
> 给已有视频加字幕见 **auto-subtitle**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 音频文件 | 是 | 播客/音乐/口播片段(没给就问) |
| 画幅 | 是 | 用户或上游任务未明确横版/竖版(或具体分辨率)时,制作前必须追问并等确认;不得按平台、Profile 或默认值静默推断,已明确则不重复问 |View the complete source on GitHubauto-short-video
When your agent uses it
一句话主题 → 成品短视频:自动串联 文案→配图/AI视频→配音→字幕→BGM→合成,把 Easel 制作层零件编排成一条'一键出片'流水线。**单条视频、口播/资讯向,画面默认逐句配图 + Ken Burns 缓动,需要动态时才逐段图生视频**。当用户说 一键生成视频、自动做短视频、主题生成视频、帮我做条视频、口播视频一条龙、自动出片、短视频一键生成 时使用。**有剧情/角色/对白/反转/多集的短剧改用 short-drama(每镜强制图生视频、不用静态图冒充);只写脚本用 video-script;只生成单个片段用 ai-video-gen。**
What it loads into context
Frontmatter
200 tokensAlways available to the agent
SKILL.md
1,816 tokensWhen the skill is activated
Reference documents
12,418 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤(按需裁剪,缺 API key 的环节自动降级或询问)
- 编排原则
- Profile 感知
Scripts executed separately
scripts/assemble.py
Files
../ai-image-gen/SKILL.mddoc5,169 bytes../ai-music/SKILL.mddoc5,502 bytes../ai-video-gen/SKILL.mddoc5,521 bytesEASEL-META.mddoc1,261 bytesSKILL.mdcore6,228 bytesSKILL.mdcore6,228 bytesSKILL.mdcore6,228 bytesscripts/assemble.pyruns40,192 bytes../auto-subtitle/SKILL.mddoc5,155 bytes../image-editing/SKILL.mddoc5,869 bytes../tts-voiceover/SKILL.mddoc5,600 bytes../video-script/SKILL.mddoc6,342 bytes
Read SKILL.md
# 一键短视频(端到端编排)
> 输入一个主题,自动产出一条短视频。本 SKILL 是**编排层**:把已有制作零件串成流水线——
> 文案(video-script) → 逐句配图(ai-image-gen)或片段(ai-video-gen) → 配音(tts-voiceover) →
> 字幕(auto-subtitle) → BGM(ai-music) → **合成(scripts/assemble.py)**。
> 沉淀自 Pixelle-Video / MoneyPrinterTurbo 的自动短视频引擎思路。
## 输入
- 主题 / 文案(必填)
- 可选:目标时长、风格、是否要配音/字幕/BGM、配图用 AI 生图还是用户素材
- **画幅确认硬门**:用户或上游任务未明确横版/竖版(或 16:9/9:16/具体分辨率)时,制作/付费调用前必须追问并等确认;不得从平台、Profile 或默认值静默推断,已明确则不重复问
## 输出View the complete source on GitHubauto-subtitle
When your agent uses it
自动字幕 / 语音转字幕:把音频或视频里的语音识别成字幕文件(SRT/ASS/TXT/JSON),可选把字幕烧录进视频。当用户说自动字幕、语音转字幕、视频加字幕、上字幕、转录、听写、字幕文件、生成字幕、烧字幕时使用。
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
1,600 tokensWhen the skill is activated
Reference documents
234 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 前置
- 执行步骤
- 规则
- 自研参考
Scripts executed separately
../../shared/scripts/asr.py
Files
EASEL-META.mddoc738 bytesSKILL.mdcore5,155 bytesSKILL.mdcore5,155 bytesSKILL.mdcore5,155 bytes../../shared/scripts/asr.pyruns20,606 bytes
Read SKILL.md
# 自动字幕(语音转字幕)
把音频/视频里的人声识别成字幕。基于共享脚本 `skills/shared/scripts/asr.py`(faster-whisper 封装),
参数确定、可复现,做中文友好断句。可选把字幕烧录进视频(复用 `skills/shared/scripts/video_ops.py` / ffmpeg subtitles 滤镜)。
> 只做"语音 → 字幕文件 (+ 可选烧录)"。通用视频剪辑见 **video-editing**;纯降噪见 **audio-denoise**;长视频智能切片+烧字幕见 **clipify**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| input_file | 是 | 音频或视频文件路径(视频自动提取音轨) |
| format | 否 | `srt`(默认)/ `ass` / `txt` / `json` |
| language | 否 | `auto`(默认)或 `zh`/`en` 等 ISO 639-1 码 |View the complete source on GitHubbatch-process
When your agent uses it
批量处理:对一个目录里的一批图片/视频/音频统一套用同一操作——批量压缩、加水印、转格式、缩放、转比例、音量归一化等。当用户说 批量处理、批量压缩、批量加水印、批量转格式、一批图片/视频、给这个文件夹、全部转成、批量缩放、批量转竖版、整个目录 时使用。基于 shared/scripts/batch_process.py(委派 image_ops/video_ops/audio_ops)。与 image-editing/video-editing/audio-editing 区别:那些处理单文件,本 SKILL 批量套用到整个目录。
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
940 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(默认 `<目录>/batch_out/`)
- 执行
- 可用操作(透传给 ops 脚本,`<脚本> <op> -h` 看参数)
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/batch_process.py
Files
SKILL.mdcore3,332 bytesSKILL.mdcore3,332 bytes../../shared/scripts/batch_process.pyruns7,846 bytes
Read SKILL.md
# 批量处理(目录级)
> 对整个目录的图片/视频/音频统一套用同一操作。走 `skills/shared/scripts/batch_process.py`,
> 逐个委派给对应确定性脚本(image_ops / video_ops / audio_ops)。
> 单文件处理见 image-editing / video-editing / audio-editing;本 SKILL 是它们的**目录批量版**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 目录 | 是 | 待处理文件所在目录 |
| 类型 | 是 | `image` / `video` / `audio`(决定用哪个 ops 脚本 + 文件筛选) |
| 操作 | 是 | ops 子命令(如 resize/compress/watermark/aspect/convert/normalize) |View the complete source on GitHubbeat-sync-video
When your agent uses it
音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。
What it loads into context
Frontmatter
165 tokensAlways available to the agent
SKILL.md
1,149 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Files
SKILL.mdcore3,721 bytesSKILL.mdcore3,721 bytesSKILL.mdcore3,721 bytes
Read SKILL.md
# 音乐卡点视频(踩点混剪)
> 用 librosa 检测背景音乐节拍,让画面在节拍上硬切换,配节拍特效,做"踩点"燃系短视频。
> 全部走 `skills/shared/scripts/beatsync.py`,**不要手数节拍、手拼滤镜**——脚本已做
> 节拍检测、区间切分、素材循环、音画对齐。
> 每图固定时长的柔和相册见 **slideshow-video**;主题→AI 配图配音成片见 **auto-short-video**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 背景音乐 | 是 | 决定卡点的音乐文件(节奏越强效果越好;没给就问) |
| 素材 | 是 | 一组图片和/或短片段(按顺序,循环使用),或一个目录 |View the complete source on GitHubcard-design
When your agent uses it
社媒卡片视觉设计系统:提供配色、中文字体层级、满画幅布局、品类骨架和死空白/密度质检,避免模板化 PPT 与廉价 AI 感。 当用户说“卡片难看、优化视觉、封面/海报设计、排版配色、卡片填不满、AI 味重”时使用;所有 card-*、poster-hero 等视觉产出应把它作为设计规范,而非最终渲染器。
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
1,615 tokensWhen the skill is activated
Reference documents
9,289 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 五步流程(照做,别跳)
- 铁律速查(详见 references)
- references
- Profile 感知
- 参考来源
Scripts executed separately
scripts/card_audit.py
Files
EASEL-META.mddoc1,781 bytesSKILL.mdcore4,968 bytesSKILL.mdcore4,968 bytesreferences/anti-ai-slop.mddoc3,442 bytesreferences/card-recipes.mddoc4,108 bytesreferences/layout-laws.mddoc3,490 bytesreferences/palettes.mddoc3,063 bytesreferences/styles.mddoc8,019 bytesreferences/typography.mddoc2,544 bytesscripts/card_audit.pyruns8,901 bytes
Read SKILL.md
# 卡片设计系统(生成前必读)
> 这不是一个"生成器",而是一套**设计系统 + 硬规则**。所有"HTML/CSS → 截图"的卡片/海报 SKILL
> 在写第一行 HTML 之前先读它。核心信念(来自实战开源方案与去 AI 味研究的一致结论):
> **高级感来自「克制 + 层级 + 网格 + 填满」,不是靠阴影/圆角/渐变堆出来的。**
> 「没人做设计决定」= AI 选了一万张图的统计平均值 = 廉价。本系统就是替你把决定钉死。
## 五步流程(照做,别跳)
1. **让用户选风格**(第一步,也是最重要的一步):从 `references/styles.md` 的**风格库**里给用户几个选项,让 ta 挑一个——
- 用户已指定风格 → 直接用。
- 用户没指定 → **列 3-4 个候选**(风格名 + 一句话 + 适用),按内容品类/平台/Profile 推荐,问 ta 选哪个;急着要就用推荐的第一个并说明"默认用了 X 风格,想换随时说"。
- 风格库现有 9 种:瑞士极简 / 杂志编辑 / 新中式墨韵 / 奶油温柔 / 多巴胺 Y2K / 高奢黑金 / 手账贴纸 / 极客终端 / 植物清新。**卡片美不美,第一取决于选对风格**,别所有内容都套同一种。
2. **锁定该风格的 spec**:`styles.md` 里选中风格给了**字体(family+字重)+配色(hex)+版式性格+装饰**——**严格照它**,整套卡片全程只用这一套,不自由发挥、不换色。(配色细节另见 `palettes.md`)View the complete source on GitHubcard-quote
When your agent uses it
生成适合微博、知乎、公众号或 X/Twitter 分享的 16:9 横版金句卡和数据卡。当用户说“做金句卡、语录卡、数据卡、横版分享卡”时使用。小红书竖版知识卡用 card-xiaohongshu,竖版营销海报用 poster-hero。
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
962 tokensWhen the skill is activated
Reference documents
1,861 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 骨架(二选一,按内容是"观点"还是"数字")
- 国内平台适配
- 渲染出图(必做,勿手动截图)
- 与其他卡片 SKILL 的区别
Files
../card-design/SKILL.mddoc4,968 bytesEASEL-META.mddoc617 bytesSKILL.mdcore3,241 bytesSKILL.mdcore3,241 bytesexample.htmlasset3,625 bytesexample.mddoc119 bytes
Read SKILL.md
# 金句卡片
> HTML 单图渲染 → 截图分享。16:9 横版,一句 hero 金句 / 一组核心数据。
> ⚠<U+FE0F> **生成前先读 [card-design](../card-design/SKILL.md) 设计系统**(选立场/锁配色/字越大越细/禁 AI 廉价感)。金句卡尤其靠排版层级——避免渐变文字、粗黑大标题、居中一切。
## 骨架(二选一,按内容是"观点"还是"数字")
先按 card-design 选风格锁配色,再套下面对应骨架。
### A. 金句卡(一句 hero 观点)
- 容器 `w-[1600px] h-[900px]`,暗色 / 亮色按内容情绪二选一。
- 中央一句 hero 金句(**字越大越细**,限 2-3 行,最戳的词用 1 个强调色)。View the complete source on GitHubcard-xiaohongshu
When your agent uses it
把已有卡片文案渲染为 1080×1440 小红书竖版知识卡片组,并按 card-design 选择视觉风格。当用户说“渲染/制作小红书卡片、知识卡、滑动卡片组”时使用。整套笔记策划与文案用 xhs-note-creator;横版金句卡用 card-quote。
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
1,585 tokensWhen the skill is activated
Reference documents
2,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 生成前必读设计系统(否则大概率做出廉价 AI 卡)
- 输出规范
- 卡片结构
- 视觉风格(硬性,细节见 card-design)
- Profile 感知
- 与其他卡片 SKILL 的区别
- 输出
Scripts executed separately
../card-design/scripts/card_audit.py../card-design/scripts/card_audit.py../../shared/scripts/render_card.py
Files
../card-design/SKILL.mddoc4,968 bytes../card-design/scripts/card_audit.pyruns8,901 bytes../card-design/scripts/card_audit.pyruns8,901 bytesEASEL-META.mddoc378 bytesSKILL.mdcore5,147 bytesSKILL.mdcore5,147 bytesexample.mddoc945 bytes../../shared/scripts/render_card.pyruns8,268 bytes
Read SKILL.md
# 小红书图文卡片
你是一名小红书视觉内容设计师。根据用户提供的内容,生成一组小红书风格的 HTML 知识卡片。
## ⚠<U+FE0F> 生成前必读设计系统(否则大概率做出廉价 AI 卡)
**写第一行 HTML 之前,先读 [card-design](../card-design/SKILL.md) 设计系统**,按它的五步来:
①**先让用户选风格**(card-design 有 9 种命名风格:瑞士极简/杂志编辑/新中式墨韵/奶油温柔/多巴胺Y2K/高奢黑金/手账贴纸/极客终端/植物清新——用户没选就列 3-4 个候选让 ta 挑或按内容推荐) ②锁定该风格 spec(字体/配色hex,禁自定义) ③字体层级(字越大越细) ④套骨架 ⑤渲染后跑 `card_audit.py` 硬门禁。
不读设计系统、凭"感觉"写,就会做出:深蓝科技渐变 + emoji 当图标 + 大片死空白的 PPT 味卡片(反面教材)。**卡片美不美第一取决于选对风格**,别所有内容都套同一种。
## 输出规范
- 输出 N 张连续卡片,每张 `width: 1080px; height: 1440px`,用 flex 纵向排列方便整体截图也方便单张截图View the complete source on GitHubchart-visualization
When your agent uses it
将数据可视化为图表。当用户需要生成柱状图、折线图、饼图、散点图、雷达图、桑基图、思维导图、流程图等图表时调用此技能,通过 curl 工具调用 AntV API 生成图表图片。产出静态图片 URL(25+ 类型);要本地渲染的信息图/GIF 动画图表用 infographic,要 CSV/JSON→整页报告用 data-report
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
1,846 tokensWhen the skill is activated
Reference documents
321 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他图表 SKILL 的区别
- 步骤
- 图表选择指南
- API 接口
- 支持的图表类型
- 通用可选参数
- 各图表 data 格式
Files
EASEL-META.mddoc1,026 bytesSKILL.mdcore6,048 bytesSKILL.mdcore6,048 bytes
Read SKILL.md
请根据用户输入的内容,将数据可视化为图表。
## 与其他图表 SKILL 的区别
三者都能"生成图表",但机制与产物不同,按需求路由:
- **chart-visualization(本 SKILL)** = 调 AntV 远程 API(gpt-vis),产出**静态图片 URL**,25+ 图表类型,最快拿到单张图。要单张标准统计图、直接拿到图片链接时用它。
- **infographic** = 本地 JS 渲染,产出**信息图 / GIF 动画图表**(列表/流程/对比/层级模板 + 逐帧动画)。要可导出 SVG 的结构化信息图、或带入场动画的 GIF/MP4 时用它。
- **data-report** = 输入 CSV/Excel/JSON,产出**整页可视化报告**(KPI 卡 + 多图 + 数据洞察 + 表格)。要一份完整报告页而非单图时用它。
## 步骤
1. 分析用户数据和需求,选择最合适的图表类型
2. 构造符合规范的 JSON 请求体
3. 使用 curl 工具调用 API 生成图表图片View the complete source on GitHubclipify
When your agent uses it
从长视频中自动提取精彩片段,切成独立短视频,支持 16:9→9:16 竖版转制和逐字字幕烧录。 当用户说"视频切片""提取精彩片段""长视频切短""切成短视频""高光剪辑""逐字字幕""转竖版短视频"时使用。 和 video-highlights 的区别:clipify 专做英文口播找笑点+动态人脸 pan;video-highlights 更通用(中文/直播皆可),静态转竖版更稳。
What it loads into context
Frontmatter
143 tokensAlways available to the agent
SKILL.md
2,670 tokensWhen the skill is activated
Reference documents
209 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Tooling (use only the fastest path)
- Workflow
- Pitfalls (lessons from prior runs — don't repeat)
Scripts executed separately
scripts/analyze.pyscripts/audio_align.pyscripts/build_ass.pyscripts/build_pan.py
Files
EASEL-META.mddoc623 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesSKILL.mdcore9,147 bytesassets/preview.pngasset280,420 bytesscripts/analyze.pyruns2,236 bytesscripts/audio_align.pyruns951 bytesscripts/build_ass.pyruns2,699 bytesscripts/build_pan.pyruns524 bytes
Read SKILL.md
# Clipify
Find the funniest moments in a video, cut them as standalone clips, optionally reformat 16:9 → 9:16 (face-pan or split-screen), and burn opus-style word-by-word captions.
## Inputs
- A video file path (the user will provide it; otherwise ask)
- Optional: requested format (9:16, 16:9, 1:1) — if not given, ask after candidates are picked
- Optional: subtitle style preference — if not given, ask before captioning
## Tooling (use only the fastest path)
- **Whisper:** `whisper --model tiny.en --word_timestamps True --output_format json` (≈10× faster than `small.en`; quality fine for English). For non-English: `--model base` (drop `--language`).
- **ffmpeg:** hardware decode is optional and platform-specific — use `-hwaccel auto`, or omit it (macOS: `videotoolbox`; Linux: `vaapi`/`cuda`/none). Add `-preset ultrafast` for renders. Use `-c:v libx264 -crf 20` for the final master.View the complete source on GitHubcomparison-card
When your agent uses it
对比图/一图流:生成 A vs B 参数对比图、优劣势对比表、产品参数一图流。 用 HTML+CSS 渲染成可截图的视觉卡片,适合小红书/微博等平台分享。 使用时机:用户说"做个对比图"、"A vs B"、"参数对比"、"优劣对比"、 "一图流"、"对比表"、"哪个好"、"对比一下"。 和 chart-visualization 的区别:chart 做数据图表(柱状图/折线图),comparison-card 做对比表/一图流。 和 infographic 的区别:infographic 做多维信息图,comparison-card 专注 A vs B 对比。
What it loads into context
Frontmatter
187 tokensAlways available to the agent
SKILL.md
1,517 tokensWhen the skill is activated
Reference documents
1,871 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
../card-design/SKILL.mddoc4,968 bytesEASEL-META.mddoc920 bytesSKILL.mdcore4,893 bytesSKILL.mdcore4,893 bytesreferences/comparison-template.htmlasset8,897 bytes
Read SKILL.md
# 对比图 / 一图流
> 生成 A vs B 可视化对比卡片,一张截图说清楚差异,适合社媒分享。
> ⚠<U+FE0F> **生成前先读 [card-design](../card-design/SKILL.md) 设计系统**(锁配色/字体层级/填满画幅/去 AI 廉价感)。对比图用「对比表」骨架(左右双栏、≥5 对比行、行高一致),避免渐变、emoji、底部死空白。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| `items` | 是 | 要对比的 2-4 个对象(名称) |
| `dimensions` | 否 | 对比维度列表(如价格、性能、功能等);不指定则自动提取 |
| `data` | 否 | 结构化对比数据(JSON/表格);不提供则由 SKILL 调研填充 |
| `layout` | 否 | 布局模式:`table`(默认)/ `versus` / `pros_cons` |View the complete source on GitHubcopywriting
When your agent uses it
国内带货转化营销文案:提炼卖点并产出种草、信息流广告、活动促销、电商详情页或落地页的标题、正文和 CTA。 当用户说“写种草/广告/活动/促销/详情页/落地页文案、提炼卖点、广告语”时使用。 整套小红书笔记用 xhs-note-creator;涨粉互动内容用 social-content;严格套 PAS/AIDA 等框架用 post-formatter。
What it loads into context
Frontmatter
126 tokensAlways available to the agent
SKILL.md
2,060 tokensWhen the skill is activated
Reference documents
3,055 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 职责边界
- 输入
- 输出
- 执行步骤
- 文案核心原则
- 文案类型速览
- Profile 感知
Files
EASEL-META.mddoc1,825 bytesSKILL.mdcore6,840 bytesSKILL.mdcore6,840 bytesreferences/copy-frameworks.mddoc3,697 bytesreferences/natural-transitions.mddoc2,594 bytesreferences/writing-style-rules.mddoc1,595 bytes
Read SKILL.md
# 营销文案写作
> 为国内营销场景撰写和优化高转化文案:种草、信息流广告、卖点提炼、活动促销、电商详情页、落地页。套经典框架,落国内语境。
## 职责边界
| 场景 | 交给谁 | 为什么 |
|------|--------|--------|
| **卖货/转化导向的营销文案**(种草卖点、信息流广告、活动、详情页、落地页) | **本 SKILL** | 以"促成购买/转化"为目标,讲卖点、讲收益、给 CTA |
| **整套小红书笔记**(多卡片 + caption + hashtags + 去 AI + 校验全流程) | `xhs-note-creator` | 小红书图文/种草的总入口,不是单条文案 |
| 通用社媒内容(多平台原生格式、钩子、标签、互动引导) | `social-content` | 偏内容运营/涨粉互动,不强转化 |
| 严格套 PAS/AIDA/BAB/STAR 框架的结构化帖子(200-250 字、移动端排版) | `post-formatter` | 专做单一框架的规范化帖子 |
一句话分工:**要卖货找 copywriting,要整套小红书笔记找 xhs-note-creator,要涨粉找 social-content,要套固定框架排版找 post-formatter。** 可串联(本 SKILL 出卖点文案 → post-formatter 排成帖子 → social-content 适配多平台)。View the complete source on GitHubdata-report
When your agent uses it
把 CSV、Excel 或 JSON 数据生成包含 KPI、图表和洞察的完整可视化报告页。当用户说“数据报告、CSV/Excel 转报告、做 KPI 看板、生成可视化报告页”时使用。单张图表用 chart-visualization;信息图或 GIF 动画图表用 infographic。
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,004 tokensWhen the skill is activated
Reference documents
477 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他图表 SKILL 的区别
- 输入
- 输出
- 执行步骤
- Profile 感知
- 要点
Scripts executed separately
scripts/report.py
Files
EASEL-META.mddoc1,530 bytesSKILL.mdcore3,496 bytesSKILL.mdcore3,496 bytesSKILL.mdcore3,496 bytesSKILL.mdcore3,496 bytesscripts/report.pyruns22,250 bytes
Read SKILL.md
# 数据可视化报告
你是一名数据可视化专家。把用户提供的 CSV/Excel/JSON 数据,转成一份自包含的
HTML 可视化报告(KPI 卡片 + 图表 + 数据洞察 + 数据表)。
数据读取、聚合、出图、HTML 组装都由 `scripts/report.py` 确定性完成,
你只负责"写洞察文字"这一需要理解的环节,不要手算聚合、手拼图表。
## 与其他图表 SKILL 的区别
三者都能"生成图表",但机制与产物不同,按需求路由:
- **data-report(本 SKILL)** = 输入 CSV/Excel/JSON,产出**整页可视化报告**(KPI 卡 + 多图 + 洞察 + 表格)。要一份完整报告页时用它。
- **chart-visualization** = 调 AntV 远程 API,产出**单张静态图片 URL**(25+ 类型)。只要一张标准统计图、直接拿图片链接时用它。View the complete source on GitHubdoc-convert
When your agent uses it
把 Markdown 文稿排版并转换为 HTML、可打印 PDF 或长图 PNG。当用户说“Markdown/MD 转 HTML/PDF/图片、文章导出长图、MD 排版/渲染”时使用。仅处理 Markdown;DOCX/PPT 不在范围内,层级大纲转脑图用 mindmap。
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
594 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入 / 输出
- 执行
- 前置
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/doc_convert.py
Files
SKILL.mdcore2,131 bytesSKILL.mdcore2,131 bytes../../shared/scripts/doc_convert.pyruns8,026 bytes
Read SKILL.md
# Markdown 格式转换 / 排版
> 把 Markdown 排版成 HTML / PDF / 长图 PNG。走 `skills/shared/scripts/doc_convert.py`
> (python-markdown 排版 + Chromium 打印/截图)。
> 思维导图见 mindmap;公众号专属排版见 skill-wechat-publisher;卡片/海报见 card-*/poster-hero。
## 输入 / 输出
- 输入:Markdown 文件(支持标题、列表、表格、代码块、引用、图片等)。
- 输出(`outputs/主题名/`):按后缀 `.html` / `.pdf` / `.png`(长图)。
## 执行
View the complete source on GitHubecom-details-image
When your agent uses it
生成电商商品视觉方案:主图概念、场景图、详情页视觉方向和 AI 生图 Prompt。 当用户说"商品主图""详情页视觉""电商配图方案""商品场景图""带货视觉""产品视觉方向""详情页设计"时使用。 本 SKILL 出视觉方案+生图 Prompt(策划);实际抠白底图用 remove-bg,实际生成图片用 ai-image-gen。
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
2,135 tokensWhen the skill is activated
Reference documents
8,742 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- References(按需加载,不要一次性全读)
- 核心流程
- 最小输入
- 生图脚本调用(scripts/generate_image.py)
- QA 检查(输出前逐条确认)
- 输出格式
Scripts executed separately
scripts/generate_image.py
Files
../card-design/SKILL.mddoc4,968 bytes.env.exampleasset469 bytesEASEL-META.mddoc1,533 bytesSKILL.mdcore7,687 bytesSKILL.mdcore7,687 bytesreferences/campaign-style-lock.mddoc2,735 bytesreferences/image-gen-rules.mddoc5,393 bytesreferences/pdp-sequences.mddoc12,113 bytesreferences/templates.mddoc2,702 bytesreferences/templates/01-hero-image.jsonasset2,471 bytesreferences/templates/02-lifestyle-scene.jsonasset2,806 bytesreferences/templates/03-flat-lay.jsonasset2,657 bytesreferences/templates/04-detail-macro.jsonasset2,618 bytesreferences/templates/05-poster-banner.jsonasset2,851 bytesreferences/templates/06-social-media.jsonasset3,078 bytesreferences/templates/07-ugc-style.jsonasset4,039 bytesreferences/templates/08-model-showcase.jsonasset3,193 bytesreferences/templates/09-before-after.jsonasset2,413 bytesreferences/templates/10-packaging.jsonasset2,509 bytesreferences/templates/11-infographic.jsonasset2,552 bytesreferences/templates/12-creative-concept.jsonasset2,452 bytesreferences/templates/13-size-spec.jsonasset2,593 bytesreferences/templates/14-multi-product.jsonasset2,465 bytesreferences/templates/15-livestream.jsonasset3,410 bytesreferences/templates/16-try-on-virtual.jsonasset2,669 bytesreferences/templates/17-exploded-view.jsonasset2,765 bytesreferences/templates/18-ghost-mannequin.jsonasset2,839 bytesreferences/templates/19-multi-angle-grid.jsonasset2,613 bytesreferences/templates/20-magazine-editorial.jsonasset3,042 bytesreferences/templates/21-seasonal-campaign.jsonasset2,680 bytesreferences/templates/22-luxury-atmospherics.jsonasset2,809 bytesreferences/templates/23-device-mockup.jsonasset2,821 bytesreferences/templates/24-storefront.jsonasset2,765 bytesreferences/templates/25-sports-campaign.jsonasset2,794 bytesscripts/generate_image.pyruns18,698 bytes
Read SKILL.md
# ecom-details-image Skill
当用户需要视觉策略、图片 Prompt、商品主图、营销图、社媒图、广告图、电商 PDP 视觉,或要求直接 AI 生图时,使用这个 Skill。
两种模式:
1. **Brief / Prompt 模式**:只输出视觉简报和可执行图片 Prompt。
2. **Generate 模式**:当用户明确要求"生图、生成图片、出图、render image"时,先输出最终 Prompt,再调用 `scripts/generate_image.py`。
> **审美方向对齐 [card-design](../card-design/SKILL.md)**:详情页信息图 / 营销图的视觉方向遵守同一套去 AI 廉价感原则——禁蓝紫科技渐变、禁 emoji 当图标、字大字细、留白克制、填满不空。把这些写进 Prompt 的正向/否定约束里(本 SKILL 出 t2i Prompt,非 HTML 渲染,故是"审美方向"层面对齐,不走 render_card)。
不要暴露、索要、写入、提交或回显真实 API key。使用者必须通过自己的环境变量配置 API。
## References(按需加载,不要一次性全读)View the complete source on GitHubgreen-screen
When your agent uses it
绿幕抠像 / 换背景 / 合成:把绿幕(或蓝幕/指定色)拍摄的前景人物抠出来,合成到新背景——图片、视频、纯色或前景自身模糊。当用户说 绿幕、抠像、抠图换背景、去绿幕、chromakey、绿幕合成、换背景、蓝幕、把绿幕背景换掉、人物抠出来、绿布 时使用。基于 shared/scripts/chromakey.py(ffmpeg chromakey + despill)。与 video-reframe 区别:reframe 只改画幅不换背景;与 ai-image-gen 区别:那个生成新图,本 SKILL 处理已拍的绿幕素材。
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
1,042 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 调参(抠不干净时)
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/chromakey.py
Files
SKILL.mdcore3,267 bytesSKILL.mdcore3,267 bytes../../shared/scripts/chromakey.pyruns9,347 bytes
Read SKILL.md
# 绿幕抠像 / 换背景合成
> 把绿幕前景抠出来合成到新背景。全部走 `skills/shared/scripts/chromakey.py`,
> **不要手拼 chromakey/overlay 滤镜**——脚本已处理抠像、溢色抑制(despill)、边缘融合、
> 背景缩放、音轨保留。
> 只改画幅见 **video-reframe**;从零 AI 生成画面见 **ai-video-gen**;通用剪辑见 **video-editing**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 前景视频 | 是 | 绿幕/蓝幕拍摄的素材(没给就问) |
| 背景 | 是 | 四选一:图片 / 视频 / 纯色 / 前景自身模糊 |View the complete source on GitHubgzh-design
When your agent uses it
微信公众号文章排版引擎:把 Markdown / Word(.docx) / PDF / 纯文本转成可直接粘贴进公众号编辑器的 HTML,自动章节编号、关键词标记、引言卡、目录、代码块、图片/GIF、作者签名;主题从 references/theme-index.md 组件库按题材推荐,支持"一键自动排版"与按描述/参考图生成自定义主题。触发:用户提到"公众号排版/微信排版/gzh"、想把文章(md/docx/pdf/纯文本)转成公众号 HTML、说"自动排版/一键排版"公众号内容。不用于普通网页/落地页/PPT。
What it loads into context
Frontmatter
164 tokensAlways available to the agent
SKILL.md
5,368 tokensWhen the skill is activated
Reference documents
230,954 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 工作流
- 生成时的智能处理(这些是本 skill 的特色,必须做)
- 视觉层级(3 层递进,所有主题通用)
- 平台红线(核心,完整检查交给校验脚本)
- Gotchas(真实排版踩过的坑)
- 自定义主题生成(第二条工作流)
- 添加新主题的规范
Scripts executed separately
scripts/component_lint.pyscripts/extract_docx.pyscripts/validate_gzh_html.pyscripts/wrap_preview.py
Files
CONTRIBUTING.mddoc2,082 bytesEASEL-META.mddoc1,085 bytesLICENSEasset34,992 bytesREADME.en.mddoc15,943 bytesREADME.mddoc20,281 bytesSKILL.mdcore18,232 bytesSKILL.mdcore18,232 bytesarchive/gallery-v1/cardnote.htmlasset19,138 bytesarchive/gallery-v1/cream.htmlasset18,675 bytesarchive/gallery-v1/datainfo.htmlasset30,526 bytesarchive/gallery-v1/dianlan.htmlasset18,164 bytesarchive/gallery-v1/graphite.htmlasset20,185 bytesarchive/gallery-v1/heibaihui.htmlasset18,006 bytesarchive/gallery-v1/heikeji.htmlasset23,529 bytesarchive/gallery-v1/hongbai.htmlasset17,605 bytesarchive/gallery-v1/hupo.htmlasset17,546 bytesarchive/gallery-v1/jiaotang.htmlasset18,063 bytesarchive/gallery-v1/lvkeji.htmlasset21,528 bytesarchive/gallery-v1/magfeature.htmlasset23,002 bytesarchive/gallery-v1/meigui.htmlasset17,629 bytesarchive/gallery-v1/mistblue.htmlasset20,852 bytesarchive/gallery-v1/qingshiban.htmlasset17,373 bytesarchive/gallery-v1/rich_hongbai.htmlasset14,810 bytesarchive/gallery-v1/rich_morandi.htmlasset15,611 bytesarchive/gallery-v1/rich_terminal.htmlasset17,944 bytesarchive/gallery-v1/rich_zen.htmlasset13,618 bytesarchive/gallery-v1/tianlan.htmlasset16,665 bytesarchive/gallery-v1/zise.htmlasset18,127 bytesarchive/themes-v1/theme-amber-orange.mddoc22,560 bytesarchive/themes-v1/theme-caramel-brown.mddoc23,700 bytesarchive/themes-v1/theme-card-notes.mddoc34,743 bytesarchive/themes-v1/theme-cream-warmth.mddoc22,614 bytesarchive/themes-v1/theme-data-infographic.mddoc35,687 bytesarchive/themes-v1/theme-editorial-feature.mddoc26,317 bytesarchive/themes-v1/theme-elegant-purple.mddoc21,386 bytesarchive/themes-v1/theme-emerald-tech.mddoc24,307 bytesarchive/themes-v1/theme-indigo-business.mddoc21,397 bytesarchive/themes-v1/theme-mist-blue.mddoc26,108 bytesarchive/themes-v1/theme-mono-black.mddoc20,191 bytesarchive/themes-v1/theme-morandi.mddoc25,651 bytesarchive/themes-v1/theme-rose-pink.mddoc24,005 bytesarchive/themes-v1/theme-sky-blue.mddoc14,318 bytesarchive/themes-v1/theme-slate-minimal.mddoc22,766 bytesarchive/themes-v1/theme-terminal.mddoc28,270 bytesarchive/themes-v1/theme-terracotta-tech.mddoc21,739 bytesassets/preview-template.htmlasset4,135 bytesassets/sample-article.mddoc2,815 bytesassets/theme-previews/theme-mono-blue-editorial.htmlasset46,103 bytesdocs/all-themes.mddoc1,991 bytesdocs/gallery/graphite-minimal.htmlasset18,835 bytesdocs/gallery/index.htmlasset3,007 bytesdocs/gallery/moyu-green.htmlasset25,429 bytesdocs/gallery/moyu-ticket.htmlasset22,893 bytesdocs/gallery/olive-journal.htmlasset26,967 bytesdocs/gallery/red-white.htmlasset19,183 bytesdocs/gallery/sample-article.mddoc2,815 bytesdocs/gallery/zen-whitespace.htmlasset17,321 bytesreferences/common-components.mddoc11,620 bytesreferences/eval-cases.mddoc5,690 bytesreferences/format-normalize.mddoc4,497 bytesreferences/theme-generator.mddoc25,935 bytesreferences/theme-graphite-minimal.mddoc33,530 bytesreferences/theme-index.mddoc3,218 bytesreferences/theme-moyu-green.mddoc44,166 bytesreferences/theme-moyu-ticket.mddoc24,054 bytesreferences/theme-olive-journal.mddoc56,689 bytesreferences/theme-red-white.mddoc29,053 bytesreferences/theme-zen-whitespace.mddoc23,833 bytesscripts/component_lint.pyruns3,864 bytesscripts/extract_docx.pyruns6,304 bytesscripts/validate_gzh_html.pyruns7,190 bytesscripts/wrap_preview.pyruns3,501 bytes
Read SKILL.md
# 公众号文章排版 Skill
把一篇 Markdown 文章转换为可直接复制粘贴进微信公众号编辑器、且粘贴后样式不丢失的 HTML。
核心资产是 `references/` 下的**主题组件库**(每套一个主题:设计变量 + 各组件完整 HTML + 模板骨架 + 映射规则)外加 1 套**通用增量库**(代码块 / 图片·GIF / 小标签标题,所有主题共用)。主题清单以 `references/theme-index.md` 为单一来源。本 SKILL.md 只负责流程与决策,**具体 HTML 代码一律从组件库取,不要凭记忆手写**。
## 工作流
### 0. 输入与格式归一化
用户可能给:Markdown 文本或 `.md` 路径(直接进第 1 步)、`.docx`、`.pdf`、`.txt`/无标记纯文本、网页富文本。**非 Markdown 输入必须先读 [references/format-normalize.md](references/format-normalize.md) 按其规则转成 Markdown 草稿并做结构确认**(docx 用 `scripts/extract_docx.py`,PDF 用 Read 分页读取+清噪,纯文本按标题启发式推断结构)。什么都没给时,向用户索要。
用户说「直接排 / 自动排 / 一键 / 不用问」时进**全自动模式**:跳过结构确认与选主题提问,自动推断结构、按题材自选主题、排版校验,交付时附决策说明(章节结构、自拟标题、选题理由)。
View the complete source on GitHubimage-editing
When your agent uses it
通用图像处理加工:改尺寸/缩放、裁剪、补边适配平台尺寸、格式转换(png/jpg/webp)、 压缩到目标大小、加文字或图片水印、圆角、多图拼接、生成缩略图、读图片信息。 基于 image_ops.py 确定性处理。 使用时机:用户说"改尺寸"、"缩放图片"、"裁剪"、"压缩图片"、"加水印"、"转格式"、 "圆角"、"拼图/多图联排"、"缩略图"、"适配小红书/朋友圈尺寸"、"把图 pad 成 1:1"。 和 card-*(卡片类)的区别:card-* 是"HTML 设计→渲染出图", image-editing 只加工已有图片,不负责视觉设计。
What it loads into context
Frontmatter
215 tokensAlways available to the agent
SKILL.md
1,726 tokensWhen the skill is activated
Reference documents
823 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 边界(与 card-* 划清)
- 执行步骤
- 命令速查
- 领域知识:平台推荐尺寸
- Profile 感知
- 依赖与错误处理
Scripts executed separately
../../shared/scripts/image_ops.py
Files
EASEL-META.mddoc644 bytesSKILL.mdcore5,869 bytesSKILL.mdcore5,869 bytesreferences/platform-sizes.mddoc1,653 bytes../../shared/scripts/image_ops.pyruns25,646 bytes
Read SKILL.md
# 图像处理加工
> 对**已有图片**做确定性处理:缩放/裁剪/补边/转格式/压缩/水印/圆角/拼接/缩略图。
> 所有操作走 `skills/shared/scripts/image_ops.py`(纯 Pillow),不即兴写脚本。
## 输入
- 一张或多张已存在的图片文件路径(png/jpg/webp 等 Pillow 支持格式)
- 目标操作与参数(尺寸、比例、质量、水印文字、拼接方式等)
## 输出
- 处理后的图片文件(路径由用户指定或默认写入 `outputs/主题名/`)
- 每条命令回显 `✅ 路径 (宽x高, 大小KB)`;`info` 输出 jsonView the complete source on GitHubimage-enhance
When your agent uses it
图片增强 / 放大 / 变清晰:高质量放大(Lanczos 2x/4x)+ 去噪 + 锐化 + 自动对比度/饱和度,改善偏糊、偏暗、噪点多的图片。当用户说 图片放大、图片变清晰、提高清晰度、图片增强、去噪点、锐化、图片太糊了、放大到高清、提升画质、优化图片、图片调亮调色 时使用。基于 shared/scripts/img_enhance.py(Pillow+OpenCV)。注意:这是传统增强非 AI 超分,凭空生成细节请用 ai-image-gen 图生图。与 image-editing 区别:那个做缩放/裁切/水印等常规操作,本 SKILL 专做画质提升。
What it loads into context
Frontmatter
196 tokensAlways available to the agent
SKILL.md
945 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 调参
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/img_enhance.py
Files
SKILL.mdcore2,997 bytesSKILL.mdcore2,997 bytes../../shared/scripts/img_enhance.pyruns7,398 bytes
Read SKILL.md
# 图片增强 / 放大
> 高质量放大 + 去噪 + 锐化 + 调色,改善偏糊/偏暗/有噪点的图片。走
> `skills/shared/scripts/img_enhance.py`。
> ⚠<U+FE0F> **传统确定性增强,不是 AI 超分**——能改善轻中度模糊/噪点,但无法凭空造细节。
> 要 AI 超分/重绘用 **ai-image-gen**(图生图)。常规缩放/裁切/压缩/水印见 **image-editing**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 图片 | 是 | 要增强的图片(没给就问) |
| 放大倍数 | 否 | 默认 2 倍;1 表示只增强不放大 |View the complete source on GitHubinfographic
When your agent uses it
将数据或文字内容转化为可视化信息图,支持静态(AntV)和动画 GIF 两种模式。当用户需要制作信息图、数据可视化、流程图、对比图、动画图表、GIF 图表、思维导图、SWOT 分析图时调用。本地渲染信息图/GIF 动画;要单张静态图片 URL 用 chart-visualization,要 CSV/JSON→整页报告用 data-report
What it loads into context
Frontmatter
112 tokensAlways available to the agent
SKILL.md
1,278 tokensWhen the skill is activated
Reference documents
3,192 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他图表 SKILL 的区别
- 输入
- 输出
- 执行步骤
- 目录结构
Scripts executed separately
scripts/gif_chart.py
Files
EASEL-META.mddoc1,532 bytesSKILL.mdcore4,445 bytesSKILL.mdcore4,445 bytesreferences/antv-templates.mddoc5,719 bytesreferences/gif-charts.mddoc3,212 bytesscripts/gif_chart.pyruns21,790 bytes
Read SKILL.md
# 信息图制作
> 将数据或文字内容转化为可视化信息图,支持静态 AntV 信息图和动画 GIF 两种输出模式
## 与其他图表 SKILL 的区别
都能"生成图表",但机制与产物不同,按需求路由:
- **infographic(本 SKILL)** = 本地渲染。两种产物:静态**信息图**(AntV DSL,列表/流程/对比/层级 HTML→SVG)+ **GIF 动画图表**(matplotlib 逐帧→GIF)。
- **chart-visualization** = 调 AntV 远程 API,产出**单张静态图片 URL**(25+ 类型),最快拿到单图。
- **data-report** = 输入 CSV/Excel/JSON,产出**整页可视化报告**(KPI 卡 + 多图 + 洞察 + 表格)。
**两模式边界**:要**静态矢量信息图**(可导出 SVG、模板丰富)→ 模式 A;要**会动的 GIF**(发社媒/朋友圈的动图,如条形竞赛、数字滚动、进度动画、折线生长)→ 模式 B。
View the complete source on GitHubmeme-generator
When your agent uses it
表情包 / Meme 生成:给图片加经典上下大字(白字黑边)做梗图,或在图上/下加配文条做反应图('当…的时候'格式)。中英文都支持,自动换行和字号自适应。当用户说 表情包、做表情包、meme、梗图、reaction 图、配图加字、给这张图加字、做个梗、反应图、当xx的时候 时使用。基于 shared/scripts/meme_ops.py(Pillow)。与 card-quote 区别:card-quote 做精致金句卡片,meme-generator 做梗图/表情包;与 image-editing watermark 区别:那个加水印,本 SKILL 加梗字。
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
961 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 排版怎么选
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/meme_ops.py
Files
SKILL.mdcore3,167 bytesSKILL.mdcore3,167 bytes../../shared/scripts/meme_ops.pyruns10,357 bytes
Read SKILL.md
# 表情包 / Meme 生成
> 给图片加梗字做表情包。两种排版:经典上下大字叠在图上,或加纯色配文条(反应图格式)。
> 走 `skills/shared/scripts/meme_ops.py`,**不要手算字号/换行**——脚本已做自适应字号、
> 中英文换行、白字黑边。
> 精致金句卡片见 **card-quote**;小红书知识卡见 **card-xiaohongshu**;加水印见 **image-editing**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 底图 | 是 | 表情包底图/截图/反应图(没给就问) |
| 文字 | 是 | 上下字(overlay)或配文(bar) |View the complete source on GitHubmindmap
When your agent uses it
思维导图:把 Markdown 大纲(标题层级 + 列表)渲染成可交互思维导图 HTML,可选导出 PNG。适合知识结构、内容框架、SWOT、脑图梳理。当用户说 思维导图、脑图、mindmap、知识导图、大纲图、把要点做成脑图、内容结构图、SWOT图、树状图 时使用。基于 shared/scripts/mindmap.py(markmap 自包含 HTML + Chromium 渲染 PNG)。与 chart-visualization/infographic 区别:那些做数据图表/信息图,本 SKILL 专做层级大纲思维导图。
What it loads into context
Frontmatter
163 tokensAlways available to the agent
SKILL.md
772 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行
- 用法要点
- 前置(PNG)
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/mindmap.py
Files
SKILL.mdcore2,570 bytesSKILL.mdcore2,570 bytes../../shared/scripts/mindmap.pyruns6,668 bytes
Read SKILL.md
# 思维导图(Markdown → 脑图)
> 把 Markdown 大纲渲染成可交互思维导图 HTML,可选导出 PNG。走 `skills/shared/scripts/mindmap.py`
> (markmap)。
> 数据图表见 chart-visualization;信息图/流程图见 infographic;本 SKILL 专做**层级大纲脑图**。
## 输入
Markdown 大纲(用标题 `#`/`##`/`###` 表示层级,`-` 列表表示叶子):
```markdown
# 中心主题
## 分支一
- 要点 AView the complete source on GitHubmulti-voice-dubbing
When your agent uses it
多角色对话配音:按 cast 和逐行对白为不同角色分配音色与情绪,合成多声线音轨和带角色名字幕。 当用户说“多角色/双人/剧本/对话配音、多人对白、不同角色不同声音、有声剧配音”时使用。 单一公共音色用 tts-voiceover;克隆本人音色用 voice-clone;整部短剧制作由 short-drama 编排。
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
2,345 tokensWhen the skill is activated
Reference documents
539 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 配音质量分层(重要:治「像 AI 平读」)
- 谁会用到
- 输入
- 执行步骤
- 降级
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/multivoice.py../../shared/scripts/multivoice.py
Files
EASEL-META.mddoc1,711 bytesSKILL.mdcore7,784 bytesSKILL.mdcore7,784 bytesSKILL.mdcore7,784 bytesSKILL.mdcore7,784 bytes../../shared/scripts/multivoice.pyruns59,724 bytes../../shared/scripts/multivoice.pyruns59,724 bytes
Read SKILL.md
# 多角色 / 对话配音(Multi-voice Dubbing)
把「多人对话 / 多角色脚本」合成为**多声线音轨**——每个角色一个符合其人设的声音,
不再是「全程一个声音」。核心引擎 `skills/shared/scripts/multivoice.py`:
逐行调 `tts.py`(edge-tts 免费多音色)或 `voice_clone.py`(云端表现力 provider / 克隆音色)合成,
把每行 emotion 喂进 provider 的**真情感通道**,`ffmpeg` 拼成一轨 + 生成对齐的说话人字幕。
> 创意(谁说什么、什么情绪)由你 LLM 产出;音色映射在 cast。确定性 IO(逐行合成/拼接/字幕)走引擎。
> 产物 `voice.mp3` 可直接当 narration 喂 `auto-short-video/assemble.py` 或加进任意视频;`voice.srt` 是带角色名的字幕。
## 配音质量分层(重要:治「像 AI 平读」)
**edge-tts 没有情感引擎**,只能变速变调,再怎么调也像机器平读。要"像人"必须用有情感通道的**云 provider**(用户自备 key,**无需 GPU**):
View the complete source on GitHubnovel-writer
When your agent uses it
长篇小说/网文连载创作:从世界观、人设和三级大纲写到逐章正文,并用文件化状态维护伏笔、前情和跨章一致性。 当用户说“写小说/网文/盐选故事、连载、续写下一章、小说大纲、人物设定、世界观、黄金三章”时使用。 通用文章用 article-outline/social-content;单段改风格或润色用 style-transfer/text-polisher。
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
2,220 tokensWhen the skill is activated
Reference documents
4,325 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 产物结构(`outputs/书名/`)
- 执行步骤(按对话选对应子流程,不必每次全跑)
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
scripts/novel_ops.py../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc1,554 bytesSKILL.mdcore7,257 bytesreferences/consistency-rules.mddoc3,515 bytesreferences/platform-specs.mddoc2,915 bytesreferences/scene-card-schema.mddoc2,128 bytesreferences/web-novel-methodology.mddoc3,676 bytesscripts/novel_ops.pyruns13,655 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# AI 小说 / 网文连载创作
> 一句灵感 → 世界观/人设 → 三级大纲 → 逐章正文。核心是**长篇一致性**:
> 用「**文件即真相 + 按需加载**」——AI 不靠上下文记忆,每写一章只加载相关切片,
> 状态全落文件、可 diff、可续写。确定性 IO(搭骨架/进度/机械查 AI 味)走
> `scripts/novel_ops.py`,**创意(设定/大纲/正文)由你 LLM 完成**。
> 只做单段风格改写见 **style-transfer**;只做润色去 AI 感见 **text-polisher**;
> 只做通用文章见 **social-content**;发知乎见 **skill-zhihu-publisher**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|View the complete source on GitHubpaper-explainer
When your agent uses it
科研论文解读:解析 arXiv/PDF 的公式与图表,提炼问题、贡献、方法、关键图和结论,再产出 B站/视频号解读视频或知乎/公众号图文。 当用户说“论文解读、讲论文、论文转视频/图文、科研科普、arXiv、学术视频”时使用。 本 SKILL 从论文做内容;video-to-article 从视频做图文,doc-convert 只转换文档格式。
What it loads into context
Frontmatter
126 tokensAlways available to the agent
SKILL.md
2,854 tokensWhen the skill is activated
Reference documents
9,277 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 产物结构(`outputs/论文简称/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
scripts/paper_ingest.pyscripts/render_slides.py
Files
../card-design/SKILL.mddoc4,968 bytesEASEL-META.mddoc2,113 bytesSKILL.mdcore10,011 bytesSKILL.mdcore10,011 bytesreferences/explain-methodology.mddoc3,299 bytesreferences/paper-distill-schema.mddoc2,800 bytesreferences/platform-adapt.mddoc2,360 bytesreferences/slide-design.mddoc11,804 bytesreferences/slide-plan.example.jsonasset2,973 bytesreferences/slide-plan.style-transfer.example.jsonasset1,894 bytesreferences/video-storyboard.mddoc3,205 bytesscripts/paper_ingest.pyruns19,585 bytesscripts/render_slides.pyruns49,664 bytes
Read SKILL.md
# 科研论文解读(论文 → 视频 / 图文)
> 把一篇论文讲成普通人/同行都爱看的视频号视频或图文。核心中间产物是一份
> **结构化 asset library**(一次解析+提炼,视频与图文两条产线共用,不重复调 LLM)。
> 确定性 IO(拉论文/解析 PDF/骨架)走 `scripts/paper_ingest.py`;**提炼与分镜脚本由你 LLM 完成**——这是本 SKILL 的核心价值。
> 视频转图文(反向)见 **video-to-article**;纯格式转换见 **doc-convert**;
> 只做图表见 **chart-visualization / infographic**;发视频号见 **skill-channels-upload**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 论文 | 是 | arxiv id(2401.12345)/ arxiv 链接 / 本地 PDF 路径(没给就问) |View the complete source on GitHubpost-formatter
When your agent uses it
用 PAS、AIDA、BAB、STAR、SLAY 等经典框架将主题结构化为社媒帖子。 200-250 字、20 行以内、移动端友好排版。适用于公众号、知乎、微博、LinkedIn 等长文帖子。 当用户说"用 PAS 写"、"AIDA 框架"、"结构化帖子"、"套框架写"时使用。 和 social-content 的区别:post-formatter 严格套用营销框架,social-content 偏自由写作。
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
1,196 tokensWhen the skill is activated
Reference documents
1,918 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 与 social-content 的边界
- Profile 感知
- 硬规则
Scripts executed separately
../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc1,782 bytesSKILL.mdcore4,116 bytesreferences/formatting.mddoc2,841 bytesreferences/frameworks.mddoc1,481 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# 帖子框架化
> 用 PAS / AIDA / BAB / STAR / SLAY 五大经典框架,把一个主题结构化成中文社媒长文帖子。
> 只负责"套框架 + 排版",不做自由创作(那是 social-content 的活)。
## 输入
从用户 prompt 中提取以下信息,缺哪个就现场问:
| 字段 | 说明 | 缺省处理 |
|------|------|----------|
| 主题 | 一句话主题,或一段素材/笔记/数据 | 必需,缺则询问 |
| 框架 | PAS / AIDA / BAB / STAR / SLAY 之一 | 缺则按内容目的自动选 |
| 平台 | 小红书 / 抖音 / B站 / 微博 / 公众号 / 知乎 | 缺则按通用中文社媒 |View the complete source on GitHubposter-hero
When your agent uses it
生成 1080×1920 竖版营销海报,包含大标题、核心卖点和可选二维码,适合产品发布、活动宣传与朋友圈传播。当用户说“做竖版营销海报、活动宣传图、朋友圈海报、产品发布海报”时使用。横版金句卡用 card-quote,小红书知识卡用 card-xiaohongshu。
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
1,330 tokensWhen the skill is activated
Reference documents
1,825 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输出规范
- 海报结构
- 视觉风格
- 示例 Prompt
- 与其他卡片 SKILL 的区别
- Profile 感知
- 输出
Files
../card-design/SKILL.mddoc4,968 bytesEASEL-META.mddoc373 bytesSKILL.mdcore4,450 bytesSKILL.mdcore4,450 bytesexample.htmlasset6,354 bytesexample.mddoc263 bytes
Read SKILL.md
# 营销海报
你是一名视觉营销设计师。根据用户提供的内容,生成一张竖版高冲击力营销海报 HTML。
> ⚠<U+FE0F> **生成前先读 [card-design](../card-design/SKILL.md) 设计系统**(锁配色/字体层级/填满画幅/去 AI 廉价感)。营销海报可用**有品味的**渐变/mesh 作背景氛围(这是海报的合理手段,与知识卡不同),但仍**禁**:蓝紫科技渐变、渐变文字、emoji 当图标、粗黑大标题、底部死空白。海报也要填满 1080×1920。
## 输出规范
- 容器 `width: 1080px; height: 1920px`,居中显示,圆角裁切
- 输出完整的 HTML 文件,写入 `outputs/` 目录,可直接在浏览器打开截图
## 海报结构
1. **上部** — 品牌名 / 标签(发布日期、版本号、活动名等)+ 一个**线性图标或抽象几何标记**(禁 emoji 当图标)View the complete source on GitHubremove-bg
When your agent uses it
图片去背景 / 抠图 / 换背景:用 AI 语义分割把主体从背景抠出,输出透明 PNG,或直接换成纯色(电商白底)/ 新场景背景。无需绿幕。当用户说 去背景、抠图、抠图换背景、去掉背景、透明背景、白底图、换背景、抠人像、抠产品、扣图、KO图、商品白底 时使用。基于 shared/scripts/remove_bg.py(rembg u2net)。与 green-screen 区别:green-screen 处理绿幕视频,本 SKILL 处理任意图片;与 ecom-details-image 区别:那个出电商视觉方案,本 SKILL 只做抠图。
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
1,004 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 模型选择
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/remove_bg.py
Files
SKILL.mdcore3,370 bytesSKILL.mdcore3,370 bytesSKILL.mdcore3,370 bytes../../shared/scripts/remove_bg.pyruns8,823 bytes
Read SKILL.md
# 图片去背景 / 抠图换背景
> 用 rembg(AI 语义分割)把主体抠出,输出透明 PNG 或换新背景。无需绿幕。全部走
> `skills/shared/scripts/remove_bg.py`。
> 绿幕**视频**抠像见 **green-screen**;电商视觉方案见 **ecom-details-image**;
> 常规缩放/裁切/水印见 **image-editing**。
## 前置
首次运行自动下载模型(~4-170MB,视模型而定),需外网代理(脚本读 `EASEL_PROXY`/`http(s)_proxy`,未设则直连)。先自检:
```bash
python skills/shared/scripts/remove_bg.py check
```View the complete source on GitHubroi-calculator
When your agent uses it
计算内容营销 ROI:根据投放数据算出 CTR/CPC/CPM/ROAS 等指标,对比行业基准,支持单活动分析与多活动横向比较。 当用户说"算ROI""投放效果""CTR/CPC/CPM/ROAS""投产比""广告效果""投放数据分析""活动ROI"时使用。
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
2,269 tokensWhen the skill is activated
Reference documents
1,939 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 有机内容模式
- Profile 感知
- 规则
- 自研笔记
Scripts executed separately
scripts/calc.py
Files
EASEL-META.mddoc1,263 bytesSKILL.mdcore7,841 bytesSKILL.mdcore7,841 bytesSKILL.mdcore7,841 bytesreferences/benchmarks.mddoc3,735 bytesscripts/calc.pyruns7,445 bytes
Read SKILL.md
# 内容投放 ROI 计算器
> 根据用户提供的投放数据,计算标准营销效果指标,对比行业基准,输出结构化分析报告。
## 输入
用户提供以下字段的任意子集(缺失字段跳过其依赖指标):
| 字段 | 代号 | 单位 | 必要性 |
|------|------|------|--------|
| 投放费用 | ad_spend | CNY | 核心(为 0 或缺失时切换有机模式) |
| 曝光量 | impressions | 次 | 可选 |
| 点击量 | clicks | 次 | 可选 |
| 互动量 | engagements | 次(赞+评+转) | 可选 |View the complete source on GitHubshort-drama
When your agent uses it
制作多集 AI 微短剧:建立剧集圣经和角色参考,完成分集剧本、逐镜 I2V、对白审计、配音字幕 BGM 与成片,保持跨镜跨集一致性。 当用户说“AI/横屏/竖屏/微短剧、拍短剧、分集剧本、连续剧情视频、做几集短剧”时使用。 单条非剧情视频用 auto-short-video;只写单条脚本用 video-script;只生成一个视频片段用 ai-video-gen。
What it loads into context
Frontmatter
136 tokensAlways available to the agent
SKILL.md
7,701 tokensWhen the skill is activated
Reference documents
18,488 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⛔ 三条铁律(最容易翻车,动手前先记死)
- 输入
- 产物结构(`outputs/剧名/`)
- 执行步骤
- 编排原则(承 auto-short-video)
- Profile 感知
Scripts executed separately
../auto-short-video/scripts/assemble.py../auto-short-video/scripts/assemble.pyscripts/drama_ops.pyscripts/dubbing.py../../shared/scripts/voice_clone.py
Files
../auto-short-video/scripts/assemble.pyruns40,192 bytes../auto-short-video/scripts/assemble.pyruns40,192 bytesEASEL-META.mddoc2,920 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesSKILL.mdcore24,706 bytesreferences/causal-beats.mddoc3,270 bytesreferences/character-consistency.mddoc3,427 bytesreferences/dialogue-craft.mddoc4,260 bytesreferences/drama-review-rubric.mddoc5,177 bytesreferences/four-act-drama.mddoc2,719 bytesreferences/genre-hooks-handbook.mddoc5,556 bytesreferences/native-audio-workflow.mddoc6,265 bytesreferences/satisfaction-and-villain.mddoc3,913 bytesreferences/series-bible-schema.mddoc5,598 bytesreferences/shot-prompt-format.mddoc6,593 bytesreferences/story-engine.mddoc5,961 bytesreferences/vertical-pacing.mddoc2,029 bytesscripts/drama_ops.pyruns41,777 bytesscripts/dubbing.pyruns47,168 bytes../../shared/scripts/voice_clone.pyruns29,055 bytes
Read SKILL.md
# AI 短剧制作(横屏/竖屏微短剧,多集)
> **配置检查路径铁律**:整条流水线开始前先 `cd` 到运行时说明给出的 Easel 项目根,确认 `.env` 与 `skills/shared/scripts/` 存在。生图、视频、配音配置必须从这里运行注册表/`check`;不得在任何执行引擎的 workspace 或共享脚本副本中检查,不得用 `env` / `printenv` 判定缺少 `IMG_BASE_URL`、`VOICE_BASE_URL` 或 Key。发现缺项先核对 `pwd`,回项目根并显式传 `--env-file .env` 重查。
## ⛔ 三条铁律(最容易翻车,动手前先记死)
1. **每镜必须「图生视频」成动态片段——绝不能拿静态图冒充。** 关键帧图(frame)只是 I2V 的**首帧**,必须再用 **ai-video-gen `image2video`** 驱动成会动的 `clip`。跳过这步 = 一堆静态图配音,垃圾。合成前 `storyboard` 会**硬拦**只有 frame 没 clip 的镜头。
2. **配音必须闭源云 provider(有情感、像真人)——绝不用 edge(AI 味平读)。** 先 `.env` 配 `VOICE_PROVIDER` + `voice_clone.py check` 验 key;配了 key 后 `dubbing align/dub` **合成前就硬拦** edge,任何角色(含旁白)想落到 edge 直接失败。只有完全没 key 才 `--allow-edge` 兜底。
3. **原生音频优先、环境音每镜必留、台词务必喂给模型。** 视频模型原生音频(环境音/脚步/物理音效)质量好,**环境音默认整轨全用**。**头号要点:生视频必须把台词写进 `generation_prompt`(`prepare` 生成)喂给模型**,否则模型不知说啥、台词全错。默认 **native-first**(让模型逐字说、能说就用、不默认丢 TTS)→ `audit` 逐镜 ASR 核验:对上用原生对白(常态)、说错转 `dub` 换 TTS、旁白/动作镜走 TTS/环境音。决策与探针细节见步骤 16/18 及 `references/native-audio-workflow.md`。
4. **画面/声音/字幕按时间线对齐,自然播放。** 画面用真实片段全长(台词只占其中一段,按实际说话时间放置),**绝不慢放/循环/冻结**;片段盖不住台词就重生成/拆镜(`align` 硬拦)。
> **⚠<U+FE0F> 不许抄近路(执行纪律,最常翻车)**:`prepare → drama_ops.py generate(生视频) → audit → align` 是**不可跳的链**,脚本已加**链式硬门**:① 生视频**必须走 `drama_ops.py generate`**(它逐镜读 `generation_prompt` 自己调视频模型,agent 无从传成只有画面的 prompt)——别再逐镜手调 ai-video-gen;② `generate`/`audit` 见有台词的镜缺 `generation_prompt` → 判定「没跑 prepare」直接失败;③ `align` 见缺 `clip-audit.json` → 判定「没跑 audit」直接失败(不再静默把全部对白降级成 TTS)。「手调生视频只传画面 prompt + 直接 TTS」这条错误捷径会被拦回来——才有「台词喂给模型 + 用视频原声」。
> 编排层 SKILL:创意(圣经/剧本/分镜/lines)你 LLM 写,生成动作全委派已有 SKILL(ai-image-gen/ai-video-gen/ai-music),确定性 IO 走 `scripts/drama_ops.py` + `scripts/dubbing.py`;角色一致性靠「先定参考图再 I2V」+ 剧集圣经锁成同一部剧。
## 输入View the complete source on GitHubskill-account-diagnosis
When your agent uses it
账号诊断/起号体检:读取已完善的画像 Profile + 近期内容数据,诊断垂直度、定位清晰度、限流降权信号、流量池阶段,给出病因→证据→处方式的起号意见与发布建议。当用户说账号诊断/起号体检/为什么没流量/是不是被限流了/账号定位诊断/起号建议/怎么起号时使用
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
1,023 tokensWhen the skill is activated
Reference documents
2,413 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc850 bytesSKILL.mdcore3,558 bytesreferences/diagnosis-framework.mddoc3,355 bytes../skill-profile-builder/SKILL.mddoc4,024 bytes
Read SKILL.md
# 账号诊断 / 起号体检
> 对着一个**具体账号**做归因式体检并开处方。读 [profile-builder](../skill-profile-builder/SKILL.md) 生成的画像 + 用户近期内容/数据 → 诊断账号健康 → 给分阶段起号意见与发布建议。**与画像强相关**:没有完善的 Profile 就先去跑 profile-builder。
## 前置条件
- 必须有**已完善**的 Profile(`profiles/<名>/` 六维基本填好)。若 Profile 缺失或大面积 `[待补充]`,**先让用户跑 `skill-profile-builder`**,不要在信息不全时硬诊断。
## 输入
| 项 | 必需 | 说明 |
|----|------|------|
| 画像名 | 是 | 指向 `profiles/<名>/` |
| 近期内容数据 | 否 | 近 10-30 条内容的标题/题材/曝光/互动(有则诊断更准;无则基于 Profile + 追问) |View the complete source on GitHubskill-algorithm-updates
When your agent uses it
追踪抖音、小红书、B站、微博、知乎和视频号的算法、推荐分发、审核与变现规则变化,并分析对创作者的影响。 当用户说“算法/推荐机制变了吗、流量规则更新、为什么流量下降、平台规则变化”时使用。 内容热点用 skill-trending-topics;泛行业资讯用 skill-news-intelligence;本 SKILL 只看平台机制。
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
1,400 tokensWhen the skill is activated
Reference documents
2,746 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 规则
- Profile 感知
- 自研说明
Files
EASEL-META.mddoc613 bytesSKILL.mdcore5,052 bytesreferences/algorithm-vocabulary.mddoc5,368 bytesreferences/platform-sources.mddoc3,677 bytes
Read SKILL.md
# 平台算法动态追踪
> 聚合中文社媒平台的算法更新、推荐机制变化与流量规则调整,输出结构化简报。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| platforms | 否 | 目标平台列表(默认全部 6 个:抖音/小红书/B站/微博/知乎/视频号) |
| time_range | 否 | 时间范围:"近一周" / "近一月" / "近三月"(默认"近一月") |
| focus | 否 | 关注方向:"流量分发" / "内容审核" / "变现规则" / "全部"(默认"全部") |
## 输出
View the complete source on GitHubskill-article-outline
When your agent uses it
生成长文大纲:基于搜索分析生成 H2/H3 标题结构、段落字数目标、图表位置和 FAQ 规划,适用于公众号文章、知乎专栏、博客。 当用户说"文章大纲""长文结构""公众号大纲""知乎回答框架""写作提纲""文章框架""H2/H3 结构"时使用。
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
1,464 tokensWhen the skill is activated
Reference documents
106 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc307 bytesSKILL.mdcore4,944 bytes
Read SKILL.md
# 长文大纲生成
> 基于搜索分析,生成结构化长文大纲(标题层级、段落字数、图表位置、FAQ),适用于微信公众号、知乎专栏、博客等平台。
## 输入
用户 prompt 中提供:
- **主题或目标关键词**(必填)
- **目标关键词** — 要优化的精确短语(若与主题不同)
- **搜索意图** — 科普/商业/教程(可选,未提供则根据上下文推断)
- **目标平台** — 公众号/知乎/博客(可选,有 Profile 时自动识别)
## 输出
View the complete source on GitHubskill-audience-profiler
When your agent uses it
构建目标受众画像:分析粉丝人群特征、痛点需求、内容偏好和触达渠道,输出可执行的受众画像卡。 当用户说"受众画像""粉丝画像""我的用户是谁""目标人群""用户痛点""受众分析""谁在看我"时使用。 构建的是受众/粉丝画像,创作者自己的声音画像用 skill-voice-builder。
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
930 tokensWhen the skill is activated
Reference documents
1,473 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1:收集上下文
- Step 2:受众画像框架
- Step 3:痛点与需求
- Step 4:内容偏好
- Step 5:渠道触达分析
- Step 6:评论区挖掘
- Step 7:受众画像卡
- Step 8:验证
- 输出格式
- Profile 感知
Files
EASEL-META.mddoc405 bytesSKILL.mdcore3,408 bytesreferences/profiling-frameworks.mddoc4,119 bytes
Read SKILL.md
# 受众画像构建器
你是受众研究和人群画像专家。当创作者需要定义目标受众、构建粉丝画像或做人群细分时,按此框架执行。
> 注意:`skill-voice-builder` 构建的是**创作者自己**的声音画像。本 SKILL 构建的是**受众/粉丝**画像——"我在为谁创作内容"。
> 各步骤的详细框架模板见 `references/profiling-frameworks.md`,按需加载。
---
## Step 1:收集上下文
确定以下信息(有 Profile 时预填):
- 创作者赛道(美食/穿搭/知识/职场/好物...)View the complete source on GitHubskill-bilibili-upload
When your agent uses it
B站视频投稿:把视频投稿到哔哩哔哩,支持标题/简介/分区/标签/封面/转载声明/定时发布。 当用户说"投稿B站""发B站""上传到哔哩哔哩""B站视频发布""投个稿""发到bilibili"时使用。 包装成熟的 biliup CLI,扫码登录 + cookie 复用。
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
1,095 tokensWhen the skill is activated
Reference documents
195 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖
- 输入
- 执行
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
scripts/bili_upload.py
Files
EASEL-META.mddoc598 bytesSKILL.mdcore3,681 bytesSKILL.mdcore3,681 bytesscripts/bili_upload.pyruns12,565 bytes
Read SKILL.md
# B站视频投稿(bilibili-upload)
> 包装成熟的 **biliup** CLI 做 B站投稿。走 `scripts/bili_upload.py`(分区名映射 + 参数校验 +
> dry-run 预览 + 执行)。
## ⚠<U+FE0F> 环境依赖
| 依赖 | 说明 |
|------|------|
| biliup CLI | `pip install biliup`(Rust 后端投稿工具) |
| B站 cookie | 首次需 `login` 扫码登录生成(默认 `cookies.json`),之后复用 |
| 外网 | 登录与投稿需访问 B站 |
无头/无网环境可做 `check` 与 `upload`(省略 `--exec` 即 dry-run 预览命令),真实投稿需上述条件。View the complete source on GitHubskill-brand-onboarding
When your agent uses it
创作者/品牌入驻:通过结构化访谈收集视觉风格、内容调性、受众画像和运营目标,生成完整的账号画像档案。 当用户说"账号入驻""建档案""新账号建立画像""品牌入驻""从零建号""完善账号信息""onboarding"时使用。 产出覆盖多维度的完整账号档案;只建声音画像用 skill-voice-builder,只建受众画像用 skill-audience-profiler。
What it loads into context
Frontmatter
124 tokensAlways available to the agent
SKILL.md
1,647 tokensWhen the skill is activated
Reference documents
858 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- Phase 0 — 环境准备
- Phase 1 — 信息采集
- Phase 2 — 预填访谈文档
- Phase 3 — 素材与回复审核
- Phase 4 — 生成画像档案
- Phase 5 — 确认定稿
- 操作备注
Files
EASEL-META.mddoc308 bytesSKILL.mdcore5,879 bytesreferences/profile-templates.mddoc2,454 bytes
Read SKILL.md
# 品牌入驻
> 通过结构化访谈 + 公开信息采集,为创作者/品牌生成完整的 Easel 账号画像(Profile)。
## 输入
用户提供品牌/账号名称,以及可选的社媒链接、截图、品牌资料。
## 输出
`profiles/<name>/` 目录,包含:
| 文件 | 内容 |
|------|------|View the complete source on GitHubskill-campaign-planner
When your agent uses it
活动/营销策划(国内本地化):为节日营销、电商大促(618/双11/年货节)、新品发布、活动造势 制定完整方案——目标拆解、营销节奏(预热-爆发-返场)、多平台内容矩阵、互动玩法、KOL 分层、 预算分配、风险合规、效果指标。当用户说"营销方案""活动策划""大促方案""618/双11 怎么做" "节日营销""新品发布方案""造势""campaign""营销节奏""怎么搞活动"时使用。
What it loads into context
Frontmatter
150 tokensAlways available to the agent
SKILL.md
1,159 tokensWhen the skill is activated
Reference documents
1,618 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Files
EASEL-META.mddoc726 bytesSKILL.mdcore4,050 bytesreferences/campaign-frameworks.mddoc4,420 bytes
Read SKILL.md
# 活动 / 营销策划(campaign-planner)
> 产出一份可落地的营销活动方案,覆盖目标→节奏→内容矩阵→玩法→资源→风险→复盘指标。
> 领域方法在 `references/campaign-frameworks.md`,本文件只讲流程。**定义规则与模型,不套具体案例。**
> 单条选题蹭热点见 skill-trend-rider;系列内容规划见 skill-content-strategy;
> 商单/联名见 skill-collab-proposal;本 SKILL 做**一次营销活动的整体策划**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 活动类型 | 是 | 节日营销 / 电商大促 / 新品发布 / 活动造势 / 周年庆等 |
| 目标 | 推荐 | 涨粉 / 转化 / 声量 / 拉新 / 清库存(决定节奏与玩法侧重) |View the complete source on GitHubskill-carousel-planner
When your agent uses it
规划轮播图/多图笔记的分页结构:封面 Hook、内容节奏、每页文案和视觉方向、CTA 设计,附互动评分。 当用户说"轮播图策划""多图笔记""图集结构""分页设计""九宫格怎么排""每页写什么""carousel"时使用。 本 SKILL 出分页结构与文案规划(策划层);实际渲染卡片图用 card-xiaohongshu / xhs-note-creator。
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,810 tokensWhen the skill is activated
Reference documents
3,380 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc308 bytesSKILL.mdcore5,995 bytesreferences/format-specs.mddoc2,127 bytesreferences/hook-library.mddoc3,279 bytesreferences/scoring-system.mddoc4,422 bytes
Read SKILL.md
# 轮播图规划
> 规划多图笔记/轮播图的分页结构:封面 Hook、内容节奏、每页文案和视觉方向、CTA 设计,附互动潜力评分。
**加载后立即开始规划流程,不做摘要或等待确认。**
**关键参考文件:**
- `references/format-specs.md` -- 尺寸规范、页数限制、文字大小
- `references/hook-library.md` -- 经过验证的封面 Hook 公式及互动数据
- `references/scoring-system.md` -- 互动评分维度与阈值
## 输入
用户 prompt 中提供的主题和目标。可以是关键词、一句话描述,或详细 brief。View the complete source on GitHubskill-channels-upload
When your agent uses it
微信视频号发布:把竖版短视频发布到微信视频号(channels.weixin.qq.com)。当用户说 "发视频号""上传视频号""视频号发布""发到微信视频号""视频号投稿"时使用。基于通用浏览器 发布框架(Playwright + 登录态持久化),微信扫码登录。
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
576 tokensWhen the skill is activated
Reference documents
183 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖
- 执行
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/web_publisher.py
Files
EASEL-META.mddoc611 bytesSKILL.mdcore2,119 bytesSKILL.mdcore2,119 bytesSKILL.mdcore2,119 bytesSKILL.mdcore2,119 bytesSKILL.mdcore2,119 bytesSKILL.mdcore2,119 bytes../../shared/scripts/web_publisher.pyruns100,196 bytes
Read SKILL.md
# 微信视频号发布
> 基于通用浏览器发布框架 `../../shared/scripts/web_publisher.py`(`--platform weixin-channels`)。
## ⚠<U+FE0F> 环境依赖
- `pip install playwright` + `playwright install chromium`
- 首次 `login` 用**微信扫码**登录视频号助手,登录态持久化复用
- 远程/headless 环境用 `login-qr --platform weixin-channels`(抠二维码成图轮询),或走 Web「账号」页登录
- **选择器时效**:视频号发布页描述区可能是富文本 div 而非 textarea,内置选择器为最佳努力,
**首次务必 `plan` + `--headed` 校验**,失效时更新 `web_publisher.py` 的 weixin-channels 配置。
无浏览器环境可用 `platforms` / `plan` / `check`。
View the complete source on GitHubskill-collab-proposal
When your agent uses it
品牌合作方案与联名策划。当用户提到"品牌合作"、"商单方案"、"合作报价"、"联名"、"联动方案"、 "博主合作"、"品牌植入"、"商务合作"、"合作提案"时触发。支持两种模式:商单方案(品牌找上门, 基于 KOL 定价表生成报价、内容形式、排期、KPI 预估)和联名策划(与博主/品牌联动,生成双方 优势互补、内容分工、互推策略)。
What it loads into context
Frontmatter
151 tokensAlways available to the agent
SKILL.md
1,879 tokensWhen the skill is activated
Reference documents
3,694 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc346 bytesSKILL.mdcore6,035 bytesreferences/kol-pricing-guide.mddoc8,027 bytesreferences/proposal-templates.mddoc1,938 bytes
Read SKILL.md
# 合作/联名方案生成
> 根据合作需求,查询 KOL 定价表计算报价区间,用平台系数公式预估 KPI,输出可直接发送给品牌方或合作方的结构化提案。
## 输入
| 参数 | 必填 | 说明 |
|------|------|------|
| 合作方信息 | 是 | 品牌名称/合作方名称、产品或服务描述 |
| 合作模式 | 否 | 明确指定 A(商单)或 B(联名),未指定时自动判断 |
| 预算范围 | 否 | 品牌方预算上限,用于反向匹配内容形式 |
| 补充材料 | 否 | 品牌 brief、竞品案例、过往合作数据 |
**自动判断规则:** 含"报价""商单""品牌植入""接广告"走模式 A;含"联名""联动""博主合作""互推"走模式 B。View the complete source on GitHubskill-comment-insights
When your agent uses it
评论区量化分析:对一批评论做情感分析(正/中/负占比 + 代表评论)、高频词与短语提取、 以及需求/吐槽/提问的诉求挖掘,为内容复盘和选题反哺提供数据。当用户说"评论情感分析" "评论区分析""用户在说什么""评论正负面比例""评论高频词""评论关键词""口碑分析""评论词云" "用户诉求""评论区吐槽"时使用。基于 jieba(分词)+ SnowNLP(情感)+ 社媒情感词典。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
918 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 依赖
- 输入
- 输出(`outputs/主题名/`)
- 执行
- 结果怎么用
- 规则
- 参考来源
Scripts executed separately
scripts/comment_insights.py
Files
SKILL.mdcore3,118 bytesSKILL.mdcore3,118 bytesscripts/comment_insights.pyruns11,630 bytes
Read SKILL.md
# 评论区量化分析(comment-insights)
> 对评论做量化洞察:情感分布、高频词/短语、需求与吐槽挖掘。走
> `scripts/comment_insights.py`(jieba + SnowNLP + 社媒情感词典)。
> 和 skill-community-ops 的分工:community-ops 是"怎么回评论 + 危机应对"(运营动作);
> 本 SKILL 是"评论区在说什么"(量化数据)。评论抓取见 skill-xhs-analyzer。
## ⚠<U+FE0F> 依赖
`pip install jieba snownlp`(首次 jieba 会构建词典缓存)。
## 输入
View the complete source on GitHubskill-community-ops
When your agent uses it
评论区运营与舆情危机应对:为一批评论生成分层回复模板(赞美/提问/求购/杠精/黑粉) 与分级处理规则,从评论中挖掘选题反哺内容,负面事件时做危机分级 + 声明草稿 + 统一口径。 当用户说"回复评论"、"评论区运营"、"评论怎么回"、"钓评论"、"引导互动"、 "评论区选题"、"舆情"、"危机公关"、"差评"、"黑粉"、"被骂了"、"道歉声明"、 "统一口径"、"负面缠上来了"、"翻车了怎么办"时触发。 和 skill-quality-gate 的区别:quality-gate 是发布前合规质检, community-ops 是发布后的评论互动与危机响应。
What it loads into context
Frontmatter
231 tokensAlways available to the agent
SKILL.md
1,806 tokensWhen the skill is activated
Reference documents
5,521 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 三种模式
- 输入
- 模式 A:评论回复策略
- 模式 B:评论区选题反哺
- 模式 C:舆情 / 危机应对
- Profile 感知
- 规则
Files
EASEL-META.mddoc620 bytesSKILL.mdcore6,032 bytesreferences/crisis-grading.mddoc6,396 bytesreferences/platform-comment-ecology.mddoc3,829 bytesreferences/reply-playbook.mddoc5,237 bytesreferences/topic-mining.mddoc2,226 bytes
Read SKILL.md
# 评论区运营与舆情危机应对
> 发布后的运营层能力:回复评论、从评论挖选题、负面事件时分级响应。三种模式,命中哪个做哪个。
## 三种模式
| 模式 | 触发场景 | 核心产出 |
|------|----------|----------|
| A 评论回复策略 | 有一批评论要回 / 问"评论怎么回" | 分层回复模板 + 分级处理规则 |
| B 评论区选题反哺 | 问"评论区能挖什么选题" / 给了一堆评论 | 3-5 条下一步选题建议 |
| C 舆情危机应对 | 出现负面事件、差评风波、被黑 | 危机分级 + 声明草稿 + 统一口径 + 红线 + 时效 |
一次请求可能命中多个模式(如"评论区吵起来了,帮我回一下顺便看要不要出声明")。先判定模式,再按对应流程执行。若输入模糊,先问清"是要回评论、挖选题、还是处理负面"。
View the complete source on GitHubskill-competitor-analysis
When your agent uses it
分析竞品账号的内容策略,拆解选题、格式、爆款规律和互动模式,输出差异化机会与行动建议。 当用户说"分析竞品""竞品账号""对标账号""拆解爆款""竞品在做什么""对手内容策略""竞争分析"时使用。 和 skill-content-gap-analysis 的区别:本 SKILL 拆解具体竞品账号的内容策略与爆款规律; content-gap-analysis 从赛道整体供需找"没人做好"的蓝海选题空白。
What it loads into context
Frontmatter
137 tokensAlways available to the agent
SKILL.md
1,992 tokensWhen the skill is activated
Reference documents
5,095 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc2,543 bytesSKILL.mdcore6,853 bytesreferences/analysis-templates.mddoc3,515 bytesreferences/data-collection.mddoc3,151 bytesreferences/viral-patterns.mddoc3,816 bytes../../shared/hotlist-apis.mddoc3,273 bytes
Read SKILL.md
# 竞品内容分析
> 对同赛道竞品账号做全维度内容拆解:选题分布、发布节奏、爆款规律、格式偏好、互动模式,找出差异化机会,输出可落地的行动建议。
## 输入
用户 prompt 中提供以下信息(部分可选):
- **必需**:竞品账号名称或链接(1–5 个)、用户所在赛道/细分领域
- **可选**:目标平台(小红书/抖音/B站/微博/知乎等)、分析侧重点(选题/格式/涨粉/变现等)、自己的账号名(用于对比)
## 输出
```markdownView the complete source on GitHubskill-content-calendar
When your agent uses it
生成月度社媒内容排期表:逐条选题+角度+视觉方向,覆盖小红书/抖音/B站/微博。 当用户说"内容排期""月度日历""发布计划""内容日历""排期表""这个月发什么""内容节奏表"时使用。 消费 skill-content-strategy 定义的支柱与 shared 频率基线,只出具体排期不重复定义支柱理论。
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
1,964 tokensWhen the skill is activated
Reference documents
3,061 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他策划 SKILL 的分工
- 可用数据与工具
- Phase 0 — 初始化
- Phase 1 — 需求收集
- Phase 2 — 研究(可选)
- Phase 3 — 内容混搭规划
- Phase 4 — 排期构建
- Phase 5 — 输出
- Phase 6 — 调整
- 运营备注
Files
EASEL-META.mddoc420 bytesSKILL.mdcore6,891 bytesSKILL.mdcore6,891 bytesreferences/content-mix-guide.mddoc1,299 bytes../../shared/hotlist-apis.mddoc3,273 bytes../../shared/pillar-and-cadence.mddoc4,153 bytes
Read SKILL.md
# 内容排期表
你是一名社媒内容策划师。为创作者规划一个月的内容排期——每条选题足够具体,文案写手看了就能直接动笔;整体混搭足够策略性,让账号持续增长。
每个选题槽位必须有明确目的。不许出现"发一条教程"这种模糊指令。
---
## 与其他策划 SKILL 的分工
| SKILL | 职责 | 边界 |
|-------|------|------|
| content-strategy | 元策略:定义支柱理论、受众路径、节奏原则 | 不出月度排期 |
| **content-calendar(本 SKILL)** | 消费策略,产出**具体月度排期表** | **不重复定义支柱理论**,支柱定义引用 strategy 产出或 Profile |View the complete source on GitHubskill-content-calendar-log
When your agent uses it
统一内容日历底座。记录每次发布(发布页/对话页均自动落库)、用户排期、平台活动/节日/特殊日期到 一个时间线,并供 Agent 规划前读回。当用户说"内容日历""日历里有什么""接下来发什么""这周发了啥" "把这个活动记到日历""最近的发布节奏""哪个平台该更新了"时触发。是发布时间线的权威底座, 与 skill-publish-log(指标底座)互补:本底座管"何时发什么/该做什么",publish-log 管"每条数据表现"。
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
1,299 tokensWhen the skill is activated
Reference documents
282 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 数据层定位
- 触发场景
- 命令
- 与其他 SKILL 的分工
- Profile 感知
Scripts executed separately
../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py../../shared/scripts/calendar_ops.py
Files
EASEL-META.mddoc994 bytesSKILL.mdcore4,494 bytesSKILL.mdcore4,494 bytesSKILL.mdcore4,494 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes../../shared/scripts/calendar_ops.pyruns26,909 bytes
Read SKILL.md
# 统一内容日历底座
> 记录发布 + 排期 + 平台活动到一条时间线,供规划读回。产物即 Web「内容日历」页所见。
## 数据层定位
唯一权威存储 `outputs/_schedule.json`(与 Web 日历页 `/api/schedule` **同一文件**)。每条:
| 字段 | 说明 |
|------|------|
| `kind` | `content`(内容/发布)\| `event`(平台活动/节日/特殊日期) |
| `status` | content 专属:`idea`/`draft`/`scheduled`/`published` |
| `platform` `title` `date` `time` `note` `url` | 通用 |
| `source` | `manual`/`publish-page`/`chat`/`scheduler`(来源可溯) |View the complete source on GitHubskill-content-gap-analysis
When your agent uses it
分析社媒赛道的内容空白,发现高需求低竞争的蓝海选题机会。 当用户说"蓝海选题""内容空白""没人做的选题""选题机会""高需求低竞争""差异化选题""内容缺口"时使用。 和 skill-competitor-analysis 的区别:本 SKILL 从赛道供需交叉验证找蓝海选题空白; competitor-analysis 拆解具体竞品账号的内容策略。
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
2,287 tokensWhen the skill is activated
Reference documents
3,148 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 重要原则
- Profile 感知
Files
EASEL-META.mddoc2,297 bytesSKILL.mdcore7,750 bytesreferences/demand-signals.mddoc2,795 bytesreferences/scoring-model.mddoc1,975 bytes../../shared/hotlist-apis.mddoc3,273 bytes
Read SKILL.md
# 蓝海选题发现
> 扫描目标赛道在社媒平台上的内容供给与用户需求,找出"需求旺但好内容少"的蓝海选题,输出带优先级的选题清单。
## 输入
用户 prompt 中提供以下信息(部分可选):
- **必需**:赛道/领域(如"家居收纳"、"Python 教学"、"母婴辅食")
- **可选**:目标平台(小红书、抖音、B站、微博等,默认全平台扫描)
- **可选**:竞品账号列表(2–5 个同赛道博主)
- **可选**:自己已发布的内容方向(用于差距对比)
## 输出View the complete source on GitHubskill-content-matrix
When your agent uses it
将内容支柱与多种格式交叉,生成选题矩阵,每个格子产出一个可直接执行的选题。 当用户说"选题矩阵""批量选题""选题池""内容矩阵""一次多个选题""支柱×格式""选题规划表"时使用。 和 skill-topic-evaluator 的区别:本 SKILL 批量生成选题池;topic-evaluator 评估单个选题是否值得做。
What it loads into context
Frontmatter
120 tokensAlways available to the agent
SKILL.md
1,354 tokensWhen the skill is activated
Reference documents
2,545 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他策划 SKILL 的分工
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc306 bytesSKILL.mdcore4,746 bytesreferences/content-formats.mddoc4,021 bytes../../shared/scoring-dimensions.mddoc4,009 bytes
Read SKILL.md
# 选题矩阵生成
> 将用户的内容支柱与 8 种内容格式交叉,生成选题矩阵,每个单元格产出一个具体、可直接执行的选题标题。
## 与其他策划 SKILL 的分工
| SKILL | 职责 | 边界 |
|-------|------|------|
| content-strategy | 定义支柱理论 | 本 SKILL 承接其支柱,不重复定义 |
| content-calendar | 出月度排期 | 可从本矩阵取选题填充排期 |
| **content-matrix(本 SKILL)** | 出**选题标题池**(支柱 × 格式),批量评分挑 Top | 只出标题池,不排期 |
| topic-evaluator | 单条选题深评 | 与本 SKILL **共用同一套评分维度**(见下),matrix 批量、evaluator 深评 |
## 输入View the complete source on GitHubskill-content-postmortem
When your agent uses it
内容复盘与爆款规律提炼。两种模式:(A) 单条复盘 — 分析一条已发布内容为什么爆/扑, 从 Hook、结构、选题、时间、平台适配等维度拆解原因;(B) 规律提炼 — 从多条内容中 提炼爆款共同特征、总结可复制的爆款公式。当用户说"这条为什么火了"、"为什么扑了"、 "复盘"、"分析数据"、"爆款规律"、"总结规律"、"爆款公式"、"内容复盘"、"什么规律"时触发。
What it loads into context
Frontmatter
158 tokensAlways available to the agent
SKILL.md
2,430 tokensWhen the skill is activated
Reference documents
1,108 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
scripts/aggregate.py../../shared/scripts/social_stats.py
Files
EASEL-META.mddoc1,426 bytesSKILL.mdcore8,149 bytesSKILL.mdcore8,149 bytesreferences/postmortem-dimensions.mddoc1,937 bytesscripts/aggregate.pyruns8,493 bytes../../shared/scripts/social_stats.pyruns12,609 bytes
Read SKILL.md
# 内容复盘与爆款规律提炼
> 拆解单条内容的成败原因,或从多条内容中提炼可复制的爆款公式。
## 输入
### 模式 A — 单条复盘
| 字段 | 必填 | 说明 |
|------|------|------|
| 内容原文或链接 | 是 | 已发布的帖子全文(标题 + 正文 + 标签) |
| 平台 | 是 | 小红书 / 抖音 / 微博 / 知乎 / B站 / 公众号 / X 等 |
| 数据指标 | 推荐 | 阅读/播放、点赞、收藏、评论、转发、完播率等 |
| 发布时间 | 推荐 | 具体日期和时间 |View the complete source on GitHubskill-content-repurposing
When your agent uses it
将一篇内容拆解改编到小红书、抖音、B站、微博等多平台,适配各平台原生格式和风格。 当用户说"一稿多发""改编到各平台""内容复用""多平台适配""这篇改成小红书/抖音""转成其他平台""一鱼多吃"时使用。 和 skill-cross-platform-diff 的区别:diff 做平台差异洞察分析(发现层);本 SKILL 实际改写内容到各平台。 和 skill-cross-platform-publish 的区别:本 SKILL 只改写适配内容,cross-platform-publish 负责实际一键分发到多平台。
What it loads into context
Frontmatter
172 tokensAlways available to the agent
SKILL.md
1,291 tokensWhen the skill is activated
Reference documents
5,060 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 内容金字塔
- 执行步骤
- 改编原则
- Profile 感知
Files
EASEL-META.mddoc314 bytesSKILL.mdcore4,555 bytesreferences/conversion-recipes.mddoc8,926 bytesreferences/platform-specs.mddoc6,493 bytes
Read SKILL.md
# 跨平台内容改编
> 将一篇长内容拆解为多平台原生素材,根据各平台特性适配格式、长度与语气,实现「一次创作,全域分发」。
## 输入
用户 prompt 中提供源内容,支持以下形式:
- **文本**:直接提供社媒帖子、公众号文章、视频脚本等文本
- **URL**:提供内容链接(通过 WebFetch 抓取)
- **视频/音频转录稿**:提供短视频口播稿或直播文字版
- **混合**:源内容 + 指定目标平台
示例 prompt:View the complete source on GitHubskill-content-strategy
When your agent uses it
制定全面的内容策略方案:内容支柱架构、受众路径规划、90 天节奏原则、分发渠道策略、KPI 体系,输出可执行的策略文档。 当用户说"内容策略""策略方案""内容规划""怎么做内容""内容支柱""增长策略""涨粉策略"时使用。 元策略层,只出框架不出具体排期表(排期用 skill-content-calendar)。
What it loads into context
Frontmatter
112 tokensAlways available to the agent
SKILL.md
1,623 tokensWhen the skill is activated
Reference documents
2,479 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他策划 SKILL 的分工
- Step 1:需求收集
- Step 2:内容支柱架构(理论)
- Step 3:受众路径内容规划
- Step 4:90 天节奏原则
- Step 5:分发渠道策略
- Step 6:KPI 指标体系
- 输出
- Profile 感知
Files
EASEL-META.mddoc308 bytesSKILL.mdcore5,691 bytesreferences/strategy-frameworks.mddoc3,229 bytes../../shared/pillar-and-cadence.mddoc4,153 bytes
Read SKILL.md
# 内容策略方案
你是资深内容策略师。为社媒创作者制定完整的内容策略——从定位到落地原则,输出一份可执行的策略文档。
本 SKILL 是**元策略层**:产出的是**框架、支柱理论、受众路径、90 天节奏原则**,用于驱动下游战术 SKILL。**不产出具体到某月某周的排期表**(那是 content-calendar 的职责)。
---
## 与其他策划 SKILL 的分工
| SKILL | 职责 | 边界 |
|-------|------|------|
| **content-strategy(本 SKILL)** | 元策略层:支柱理论、受众路径、90 天节奏原则、渠道策略 | 只出框架和原则,**不出月度排期表** |
| content-calendar | 消费本策略,产出**具体月度排期** | 引用本 SKILL 的支柱定义,不重复定义支柱理论 |View the complete source on GitHubskill-cross-platform-diff
When your agent uses it
跨平台内容差异深度分析。分析同一话题/内容在不同平台(小红书、抖音、B站、知乎、 微博、公众号、X 等)的呈现差异:内容形式、受众偏好、话语体系、流量逻辑、变现路径。 帮创作者理解"同一个内容在不同平台应该怎么做"。当用户说"小红书和抖音有什么区别"、 "这个话题在B站怎么做"、"跨平台差异"、"不同平台"、"各平台怎么做"、"平台特点"时触发。 和 skill-content-repurposing 的区别:repurposing 做格式适配和内容改写, cross-platform-diff 做深度差异分析和策略洞察。
What it loads into context
Frontmatter
194 tokensAlways available to the agent
SKILL.md
1,890 tokensWhen the skill is activated
Reference documents
2,896 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc1,105 bytesSKILL.mdcore6,481 bytesreferences/platform-traits.mddoc8,842 bytes
Read SKILL.md
# 跨平台内容差异分析
> 分析同一话题在不同中文社媒平台的呈现差异,输出平台适配策略。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 话题/内容主题 | 是 | 要分析的话题、关键词或一段内容 |
| 目标平台 | 推荐 | 要对比的平台列表(默认全平台扫描) |
| 分析目的 | 推荐 | "我想把这个内容发到各平台" / "想了解平台差异" / "选择主攻平台" |
| 已有内容 | 可选 | 如果用户已有某平台的内容,可作为对比基准 |
| 赛道 / 行业 | 可选 | 不同赛道在各平台的差异可能不同 |
View the complete source on GitHubskill-cross-platform-publish
When your agent uses it
跨平台一键发布:一份内容适配并发布到多个平台(小红书/抖音/B站/公众号/快手/视频号/知乎)。 按各平台格式约束(字数/比例/标签/内容类型)适配内容,再逐个委派对应平台发布 SKILL。 当用户说"一键发布""同时发到多个平台""多平台发布""一稿多发""全平台发""发到抖音+小红书+B站" "分发到各平台"时使用。适配由 LLM 做,路由与约束检查由 scripts/publish_dispatch.py。
What it loads into context
Frontmatter
158 tokensAlways available to the agent
SKILL.md
1,219 tokensWhen the skill is activated
Reference documents
179 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 支持平台 → 发布 SKILL
- 输入
- 执行流程
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
scripts/publish_dispatch.py../../shared/scripts/manifest.py../../shared/scripts/manifest.py../../shared/scripts/persona_gate.py
Files
EASEL-META.mddoc588 bytesSKILL.mdcore4,396 bytesSKILL.mdcore4,396 bytesscripts/publish_dispatch.pyruns8,372 bytes../../shared/scripts/manifest.pyruns16,727 bytes../../shared/scripts/manifest.pyruns16,727 bytes../../shared/scripts/persona_gate.pyruns7,278 bytes
Read SKILL.md
# 跨平台一键发布
> 一稿多发:按各平台规范适配同一份内容,再逐平台委派发布 SKILL。走
> `scripts/publish_dispatch.py`(约束检查 + 平台→publisher 路由 + 派发计划)。
> **内容适配由你(LLM)完成,实际发布委派各平台 publisher SKILL。**
## 支持平台 → 发布 SKILL
| 平台 | publisher SKILL |
|------|-----------------|
| xiaohongshu | skill-xhs-publisher ✅ |
| douyin | skill-douyin-upload ✅ |
| wechat(公众号)| skill-wechat-publisher ✅ |
| bilibili | skill-bilibili-upload ✅ |View the complete source on GitHubskill-data-tracker
When your agent uses it
社媒数据记录与趋势分析。三种模式:(A) 记录快照 — 记录当日粉丝数、互动量等指标快照; (B) 增长趋势 — 分析粉丝增长率、增速变化、里程碑预测;(C) 内容生命周期 — 追踪单条内容 从发布到衰减的数据变化,判断速爆型/稳增型/长尾型。当用户说"记录数据"、"今天粉丝数"、 "增长趋势"、"粉丝增长"、"内容生命周期"、"这条笔记数据变化"、"数据快照"时触发。
What it loads into context
Frontmatter
158 tokensAlways available to the agent
SKILL.md
2,220 tokensWhen the skill is activated
Reference documents
239 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 数据层定位
- 输入
- 输出
- 数据存储
- 执行步骤
- Profile 感知
- 规则
Scripts executed separately
scripts/track.py
Files
EASEL-META.mddoc817 bytesSKILL.mdcore7,692 bytesSKILL.mdcore7,692 bytesSKILL.mdcore7,692 bytesSKILL.mdcore7,692 bytesSKILL.mdcore7,692 bytesscripts/track.pyruns15,285 bytes
Read SKILL.md
# 社媒数据记录与趋势分析
> 记录社媒指标快照、分析粉丝增长趋势、追踪内容生命周期,用时间序列数据驱动运营决策。
## 数据层定位
本 SKILL 是归因链的**粉丝 / 时序快照底座**,唯一权威存储粉丝数、互动量、内容生命周期的时间序列快照(`outputs/_analytics/snapshots/{profile}/{platform}/{date}.json`)。
- **只存时序快照,不存发布事件** — 每次发布的元信息(标题 / 链接 / 类型 / 来源 SKILL)由 `skill-publish-log` 维护(`outputs/_analytics/publish-log.json`)。本底座不重复记录发布事件,避免同一事实两处存储。
- **消费方(读,不回写)** — `skill-publish-analytics` 模式 D(增长归因)与 `skill-social-performance-review`(环比 / 粉丝趋势)以本快照为**粉丝时序的权威来源**。
| 底座 | 存什么 | 谁维护 |
|------|--------|--------|
| `outputs/_analytics/snapshots/{profile}/{platform}/{date}.json` | 粉丝 / 互动时序快照(本 SKILL) | skill-data-tracker |View the complete source on GitHubskill-douyin-upload
When your agent uses it
将视频/图文内容发布到抖音(creator.douyin.com)。基于 Playwright + 持久化登录态,headless 即可运行, 流程与选择器移植自开源实现 douyin-upload-mcp-skill(含高清发布入口、切 tab、上传等转码、AI 封面、 发布成功 toast 校验、二维码登录)。适用场景:发布抖音视频、发布图文、扫码登录、发布前预检。
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
3,008 tokensWhen the skill is activated
Reference documents
682 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 运行方式(Playwright,headless 可用)
- 能力范围
- 风险提示
- 执行流程
- 短信验证码处理(对话页发布必读)
- 发布前人设检查(有 Profile 时)
- 发布后留痕
- 必做约束
- 命令样例
Scripts executed separately
../skill-publish-log/scripts/log.py../../shared/scripts/douyin_publish.py../../shared/scripts/persona_gate.py
Files
EASEL-META.mddoc2,138 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytesSKILL.mdcore10,737 bytes../skill-publish-log/scripts/log.pyruns9,703 bytes../../shared/scripts/douyin_publish.pyruns76,786 bytes../../shared/scripts/persona_gate.pyruns7,278 bytes
Read SKILL.md
# 抖音发布助手(douyin-upload)
在用户确认后,调用 `douyin_publish.py` 完成**视频/图文发布**。
## 运行方式(Playwright,headless 可用)
统一走 **`../../shared/scripts/douyin_publish.py`**(CWD=项目根)。Playwright + 持久化登录态驱动
抖音创作者后台,headless 即可发布——**替代了旧的 CDP/puppeteer/MCP Node 死栈**(需真实 Chrome,
本环境跑不了,已删除)。
| 依赖 | 说明 |
|------|------|
| playwright + chromium | 本环境已装(`douyin_publish.py check` 验证) |
| 已扫码登录 | `login` 抠二维码成 PNG(默认 `outputs/_login/douyin.png`,Web「账号」页可扫)→ cookie 持久化到 `~/.easel-browser-profiles/DouyinProfile` |View the complete source on GitHubskill-event-calendar
When your agent uses it
查询未来 N 天的节日、纪念日、电商节点、行业事件,为创作者提供内容蹭点。 覆盖中国节假日、国际节日、电商大促、行业展会、考试节点、体育赛事等。 当用户说"未来有什么节日"、"下个月有什么可以蹭"、"节点日历"、"营销日历"、 "有什么热点可以提前准备"、"内容日历节点"、"最近有什么节日"、 "什么时候有大促"、"节日营销"时触发。 和 skill-content-calendar 的区别:content-calendar 排内容发布日程, event-calendar 提供节日和事件的数据查询,是选题灵感的上游数据源。
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
1,982 tokensWhen the skill is activated
Reference documents
4,885 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Scripts executed separately
scripts/lunar.py
Files
EASEL-META.mddoc2,751 bytesSKILL.mdcore6,826 bytesSKILL.mdcore6,826 bytesreferences/events-china.mddoc12,344 bytesscripts/lunar.pyruns11,384 bytes
Read SKILL.md
# 节日/节点日历
> 查询未来 N 天的节日、纪念日、电商节点、行业事件,为创作者提供内容蹭点和提前准备的时间窗口。
## 输入
| 参数 | 必填 | 说明 |
|------|------|------|
| 时间范围 | 否 | 未来 N 天(默认 30 天) |
| 赛道/领域 | 否 | 筛选与特定赛道相关的节点(有 Profile 时自动提取) |
| 节点类型 | 否 | 筛选特定类型:节日/电商/行业/考试/体育(默认全部) |
## 输出
View the complete source on GitHubskill-hook-generator
When your agent uses it
针对任意主题生成多种 Hook(开头钩子)变体,用经过验证的互动公式抓住开头注意力,附字数校验。 当用户说"写钩子""开头怎么写""Hook""抓眼球的开头""标题钩子""前三秒""怎么开头"时使用。 本 SKILL 专攻可复用的开头钩子变体;成篇营销文案用 copywriting,视频分秒脚本用 video-script。
What it loads into context
Frontmatter
127 tokensAlways available to the agent
SKILL.md
1,046 tokensWhen the skill is activated
Reference documents
689 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Scripts executed separately
../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc306 bytesSKILL.mdcore3,409 bytesreferences/hook-formulas.mddoc1,816 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# Hook 变体生成
> 针对任意主题,生成 6 种经过验证的 Hook 变体,每条 Hook 为 2 行结构(开场 + 反转),用于社媒内容开头的注意力捕获。
## 输入
用户 prompt 中提供的主题文本。可以是关键词、短语或一句话描述。
## 输出
6 条 Hook 变体,每条包含:
- **第 1 行(开场)**:≤40 字符,陈述句,出人意料/具体/有冲击力
- **第 2 行(反转)**:≤40 字符,与开场形成矛盾/重构/颠覆View the complete source on GitHubskill-kuaishou-upload
When your agent uses it
快手视频发布:把竖版短视频发布到快手创作者中心。当用户说"发快手""上传快手""快手投稿" "发布到快手""快手视频发布"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
1,692 tokensWhen the skill is activated
Reference documents
183 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖(同 skill-xhs-publisher 定位)
- 执行
- 登录态:确认「真能发」而不只是「已登录」
- Profile 感知
- 规则(含 2026-08 真机校准)
- 发布失败排错顺序
- 参考来源
Scripts executed separately
../../shared/scripts/web_publisher.py
Files
EASEL-META.mddoc608 bytesSKILL.mdcore5,877 bytesSKILL.mdcore5,877 bytes../../shared/scripts/web_publisher.pyruns100,196 bytes
Read SKILL.md
# 快手视频发布
> 基于通用浏览器发布框架 `../../shared/scripts/web_publisher.py`(`--platform kuaishou`)。
> 网页自动化发布——需真实浏览器 + 已登录快手创作者中心。
## ⚠<U+FE0F> 环境依赖(同 skill-xhs-publisher 定位)
- `pip install playwright` + `playwright install chromium`
- 首次 `login` 扫码/登录快手创作者中心,登录态持久化到 `~/.easel-browser-profiles/KuaishouProfile` 后复用
- 远程/headless 环境用 `login-qr --platform kuaishou`(抠二维码成图轮询),或走 Web「账号」页扫码
- **选择器时效**:快手网页改版频繁,内置选择器为最佳努力,**首次发布务必先 `plan` 预览 +
`--headed` 目视校验**,失效时更新 `web_publisher.py` 中 kuaishou 配置。
无浏览器环境可用 `platforms` / `plan` / `check`。View the complete source on GitHubskill-livestream
When your agent uses it
为直播生成完整方案:直播主题、流程时间表、开场白/过渡语/催单话术/感谢话术/互动话术。 适用于带货直播、知识分享直播、娱乐直播。 当用户说"直播策划"、"直播方案"、"直播话术"、"开播前准备"、"直播流程"、 "直播脚本"、"带货直播"、"怎么开播"、"直播怎么做"、"直播排期"、"写个直播话术"时触发。
What it loads into context
Frontmatter
138 tokensAlways available to the agent
SKILL.md
1,211 tokensWhen the skill is activated
Reference documents
1,761 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc705 bytesSKILL.mdcore4,047 bytesreferences/livestream-playbook.mddoc3,488 bytesreferences/output-template.mddoc1,495 bytes
Read SKILL.md
# 直播策划 + 话术
> 为直播生成完整方案,覆盖主题策划、流程编排、全场话术脚本,适配带货/知识/娱乐多场景。
## 输入
| 参数 | 必填 | 说明 |
|------|------|------|
| 直播类型 | 是 | 带货直播 / 知识分享 / 娱乐互动 / 品牌活动 |
| 直播主题 | 否 | 未指定时根据赛道和热点推荐 |
| 直播时长 | 否 | 预计时长(默认 2 小时) |
| 商品/内容清单 | 否 | 带货需商品列表,知识直播需分享主题 |
| 目标平台 | 否 | 抖音 / 快手 / 视频号 / 淘宝直播 / 小红书(有 Profile 时自动提取) |
View the complete source on GitHubskill-my-account
When your agent uses it
查询用户自己在 Easel 已登录的小红书、抖音、快手、知乎和视频号身份、粉丝、获赞、关注及作品列表。 当用户问“我登录了哪些号、我是谁、我的粉丝/获赞、我最近发了什么、我有哪些帖子”时,先用本 SKILL 查本地登录态,不要先向用户索要账号名或链接。 某条帖子的评论抓取与分析分别用 skill-xhs-comment-reply 和 skill-comment-insights。
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,370 tokensWhen the skill is activated
Reference documents
2,055 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心原则
- 运行方式(Playwright,headless 可用)
- 能力范围
- 支持平台
- 执行流程
- 与其他 SKILL 的分工
- 约束
- 命令样例
Files
EASEL-META.mddoc2,852 bytesSKILL.mdcore4,943 bytesreferences/commands.mddoc4,379 bytes
Read SKILL.md
# 我的账号(my-account)
你是"账号自查助手"。当用户问的是**关于他自己账号或内容**的事(我是谁 / 登录了哪些号 / 粉丝多少 /
最近发了什么 / 有哪些帖子),**先用这里的工具查已登录态和站内数据,别上来就问用户要账号名或主页链接**
——这些信息本站早就有(用户在「账号」页扫过码,登录态持久化在本地)。
## 核心原则
- **先查,别问**:用户说"我的账号/我的帖子/我的粉丝/最近发了啥",直接跑脚本查当前登录账号。
- **查不到再说**:只有确实**未登录该平台**、或该平台不给某项数据时,才如实告诉用户"你还没登录 X,去『账号』页扫码就能看"——而不是默认用户没提供就做不了。
- **联系上下文认平台**:会话在聊哪个平台就查哪个;用户没点明且只登录了一个平台,就查那个;登录了多个又没指明,先 whoami 全查一遍再问要看哪个。
## 运行方式(Playwright,headless 可用)
View the complete source on GitHubskill-news-intelligence
When your agent uses it
聚合中文行业媒体、垂类资讯和平台商业动态,按创作者赛道过滤,生成结构化情报简报与可执行选题。 当用户说“行业资讯/深度情报、最近行业动态、每日简报、选题情报、财经/科技/AI 动态”时使用。 本 SKILL 做日级深度资讯;分钟级实时热搜与快速二创选题用 skill-trending-topics。
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
1,733 tokensWhen the skill is activated
Reference documents
897 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与 skill-trending-topics 的分工
- 输入
- 输出
- 工作流
- 每日简报模式
- 可用信息源
- Profile 感知
- 源特殊处理
- 依赖
Scripts executed separately
scripts/daily_briefing.pyscripts/fetch_news.pyscripts/rss_parser.py
Files
EASEL-META.mddoc2,968 bytesSKILL.mdcore5,647 bytesSKILL.mdcore5,647 bytesSKILL.mdcore5,647 bytesSKILL.mdcore5,647 bytesSKILL.mdcore5,647 bytesscripts/daily_briefing.pyruns5,267 bytesscripts/fetch_news.pyruns12,811 bytesscripts/rss_parser.pyruns4,362 bytes
Read SKILL.md
# 资讯情报聚合
> 从中文行业媒体与垂类资讯源抓取深度内容,按创作者赛道过滤,
> 生成结构化中文情报简报,并给出可操作的选题方向。
## 与 skill-trending-topics 的分工
| | skill-trending-topics | skill-news-intelligence(本 SKILL)|
|---|---|---|
| 抓什么 | 微博/抖音/知乎/头条/B站**实时热搜榜** | 中文**行业媒体的深度文章 / 快讯** |
| 时效 | 分钟级,追热点 | 日级,看行业趋势 |
| 用途 | 蹭热点、快速二创选题 | 深度选题、行业观察、内容储备 |
| 输出 | 热搜排行 + 二创角度 | 情报简报 + 选题方向 |
View the complete source on GitHubskill-persona-check
When your agent uses it
人设一致性检查与品牌调性检查:对比内容与创作者画像的账号定位、内容赛道、形式、受众、 风格和偏好, 输出一致性评分和具体偏离点。当用户说"符合我的人设吗"、"一致性检查"、"风格对不对"、 "像我写的吗"、"品牌一致"、"调性检查"、"这是我的风格吗"、"人设偏了没"、 "语气对不对"、"品牌声音检查"时触发。 必须有 Profile 才能工作;无 Profile 时提示先创建。
What it loads into context
Frontmatter
158 tokensAlways available to the agent
SKILL.md
2,028 tokensWhen the skill is activated
Reference documents
296 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他 SKILL 的区别
- 前提条件
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc1,087 bytesSKILL.mdcore7,160 bytes
Read SKILL.md
# 人设一致性检查
> 检查内容是否符合创作者人设和品牌调性,输出一致性评分与偏离诊断。
## 与其他 SKILL 的区别
| SKILL | 定位 | 关注点 |
|---|---|---|
| **persona-check**(本 SKILL) | 人设/品牌一致性 | 账号定位、题材、形式、受众、风格是否匹配画像 |
| skill-quality-gate | 深度合规 + 质量审核 | 平台规则、内容质量 |
| skill-publish-checklist | 完整性检查 | 有没有漏标题、漏封面等 |
## 前提条件
View the complete source on GitHubskill-positioning-analysis
When your agent uses it
差异化定位分析:帮账号/品牌找到差异化定位——扫描赛道、给竞品定位坐标、识别空白机会、 从人群/场景/价值/形式/人设多维找差异点,凝练一句话定位并给落地建议。当用户说"差异化定位" "怎么和竞品区分""我的定位是什么""找差异化""赛道分析""定位分析""怎么突出""同质化怎么办" "找我的独特点"时使用。
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
1,127 tokensWhen the skill is activated
Reference documents
1,322 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Files
EASEL-META.mddoc601 bytesSKILL.mdcore3,853 bytesreferences/positioning-frameworks.mddoc3,814 bytes
Read SKILL.md
# 差异化定位分析(positioning-analysis)
> 找到"我和别人不一样、且用户需要"的位置。领域方法在 `references/positioning-frameworks.md`,
> 本文件只讲流程。**定义方法与模型,不套具体案例。**
> 竞品拆解见 skill-competitor-analysis(数据/爆款);人设声音见 skill-voice-builder;
> 本 SKILL 专做**差异化定位的分析与凝练**(competitor-analysis 偏数据,本 SKILL 偏战略定位)。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 自己账号 | 是 | 赛道、内容、受众、优势(有 Profile 直接读) |
| 竞品/对标 | 推荐 | 3-5 个对标账号及其特点(没有则据赛道常识推演,并说明是推演) |View the complete source on GitHubskill-post-scorer
When your agent uses it
对社媒帖子草稿进行互动潜力评分,基于历史表现数据输出结构化评分卡。 当用户说"帖子打分""评分""这条能火吗""发布前评估""内容质量分""评分卡""草稿评估"时使用。 和 skill-topic-evaluator 的区别:evaluator 评还没做的选题潜力,本 SKILL 评已写好的草稿质量; 和 skill-social-performance-review 的区别:本 SKILL 评单条草稿(发布前),review 做月度组合复盘(发布后)。
What it loads into context
Frontmatter
142 tokensAlways available to the agent
SKILL.md
1,640 tokensWhen the skill is activated
Reference documents
3,184 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
scripts/score.py../../shared/scripts/social_stats.py
Files
EASEL-META.mddoc1,214 bytesSKILL.mdcore6,150 bytesSKILL.mdcore6,150 bytesreferences/fallback-benchmarks.mddoc4,014 bytesreferences/scoring-criteria.mddoc4,888 bytesscripts/score.pyruns4,084 bytes../../shared/scripts/social_stats.pyruns12,609 bytes
Read SKILL.md
# 帖子表现评分
> 对社媒帖子草稿进行互动潜力评分,基于历史表现数据输出结构化评分卡。
**加载后立即开始评分流程,不做摘要或等待确认。**
## 输入
用户 prompt 中提供待评分的帖子草稿,支持以下形式:
- **文本内容**:直接粘贴帖子文案
- **文件路径**:指向 `outputs/` 中的草稿文件
- **平台指定**:可选,指定目标平台(小红书、抖音、微博、知乎、公众号、B站等)
View the complete source on GitHubskill-profile-builder
When your agent uses it
首次使用引导:从社媒链接分析、从零生成账号画像 Profile。收集社媒链接+运营意图,分析已发内容与收藏喜好,生成 6 维 Profile。当用户说 创建画像/第一次用/帮我建个人设/分析我的账号建画像/从链接生成画像 时使用。与 skill-profile-manager 的区别:本 SKILL 专做首次从零分析生成;已有画像的编辑/记忆更新/导出/对比/切换找 profile-manager。
What it loads into context
Frontmatter
123 tokensAlways available to the agent
SKILL.md
1,113 tokensWhen the skill is activated
Reference documents
2,375 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与 profile-manager 的区别
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
../skill-account-diagnosis/SKILL.mddoc3,558 bytesEASEL-META.mddoc814 bytesSKILL.mdcore4,024 bytesreferences/onboarding-questions.mddoc1,963 bytesreferences/social-link-analysis.mddoc1,974 bytes
Read SKILL.md
# Profile 构建器(首次引导)
> 把"空白/半空的画像"变成"可用的 6 维 Profile"。用户首次使用 Easel 时先跑这个:收集社媒链接 + 运营意图 → 分析已发内容/收藏喜好 → 生成 `profiles/<名>/` 下 6 个维度文件。生成后交给 [account-diagnosis](../skill-account-diagnosis/SKILL.md) 做起号诊断。
## 与 profile-manager 的区别
- **profile-builder(本 SKILL)** = 从 0 到 1 **生成**画像(引导填写 + 社媒分析 + 综合成稿)。
- **profile-manager** = 已有画像的 CRUD、切换、字段增删改。
## 输入
用户按需提供(缺的通过追问补,不编造):
| 项 | 说明 |View the complete source on GitHubskill-profile-manager
When your agent uses it
管理账号画像全生命周期:创建空白画像、编辑六维字段、更新记忆、切换、导出和对比。 当用户说“新建/编辑/更新/切换/导出/对比画像、写进画像记忆”时使用。 首次从社媒数据生成画像用 skill-profile-builder;只提炼语言风格用 skill-voice-builder;品牌首次入驻引导用 skill-brand-onboarding。
What it loads into context
Frontmatter
112 tokensAlways available to the agent
SKILL.md
1,595 tokensWhen the skill is activated
Reference documents
224 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc804 bytesSKILL.mdcore5,644 bytes
Read SKILL.md
# 账号画像管理器
> 创建、编辑、记忆更新、导出、对比 — 画像的全生命周期管理
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| action | 是 | 操作类型:`create` / `edit` / `memory-update` / `export` / `diff` / `list` / `switch` |
| profile_name | 视操作 | 画像名称(create 时必填,list 时不需要) |
| field | 否 | 要编辑的文件:`identity` / `style` / `audience` / `platforms` / `preferences` / `memory` |
| content | 否 | 要写入的内容(edit / memory-update 时使用) |
| profile_b | 否 | 第二个画像名称(diff 操作时必填) |
| data_source | 否 | 记忆更新的数据来源:用户口述 / 数据报告 / 帖子反馈 |View the complete source on GitHubskill-publish-analytics
When your agent uses it
分析发布日志数据,从发布时间、标签效果、内容类型、粉丝增长四个维度归因内容表现,输出可执行的优化建议。 当用户说"发布数据分析""归因分析""什么时间发好""标签效果""内容表现分析""发布日志分析"时使用。 和 skill-social-performance-review 的区别:本 SKILL 从发布日志做四维归因,review 做跨平台月度组合复盘。
What it loads into context
Frontmatter
112 tokensAlways available to the agent
SKILL.md
2,358 tokensWhen the skill is activated
Reference documents
898 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 数据层定位
- 输入
- 数据源
- 执行步骤
- 模式 A — 最佳发布时间
- 模式 B — 标签效果分析
- 模式 C — 内容类型对比
- 模式 D — 增长归因
- 输出格式
- Profile 感知
- 规则
- 自研备注
Scripts executed separately
../skill-data-tracker/scripts/track.pyscripts/analyze.py
Files
../skill-data-tracker/scripts/track.pyruns15,285 bytesEASEL-META.mddoc600 bytesSKILL.mdcore8,423 bytesSKILL.mdcore8,423 bytesreferences/follower-log-schema.mddoc2,523 bytesscripts/analyze.pyruns14,965 bytes
Read SKILL.md
# 发布数据归因分析
> 读取 publish-log.json,从时间、标签、类型、增长四个维度分析内容表现,输出结构化归因报告。
## 数据层定位
本 SKILL 是归因链的**消费层**,只读底座、不新建存储、不回写:
| 数据 | 权威底座 | 维护方 | 本 SKILL 用途 |
|------|----------|--------|----------------|
| 发布事件 | `outputs/_analytics/publish-log.json` | skill-publish-log | 模式 A/B/C |
| 粉丝 / 时序快照 | `outputs/_analytics/snapshots/{profile}/{platform}/{date}.json` | skill-data-tracker | 模式 D 增长归因 |
**粉丝时序的权威来源是 `skill-data-tracker` 的快照底座。** 模式 D 读取的 `outputs/_analytics/follower-log.json` 由 `track.py export-followers` 确定性导出,不应手工维护。字段映射见 `references/follower-log-schema.md`。View the complete source on GitHubskill-publish-checklist
When your agent uses it
发布前完整性检查:逐项检查标题、封面、标签、格式、合规标记、链接、CTA 是否齐全, 确保内容没有遗漏就能发布。当用户说"检查一下能不能发"、"发布前检查"、"checklist"、 "查漏补缺"、"发之前看一眼"、"发布清单"、"漏了什么没"、"能发了吗"时触发。 和 skill-quality-gate 的区别:quality-gate 做深度合规审核和质量评分, publish-checklist 只做"有没有漏东西"的快速完整性检查。
What it loads into context
Frontmatter
157 tokensAlways available to the agent
SKILL.md
1,604 tokensWhen the skill is activated
Reference documents
300 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他 SKILL 的区别
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc1,129 bytesSKILL.mdcore5,473 bytes
Read SKILL.md
# 发布前完整性检查
> 发布前的最后一道关卡,逐项检查内容是否齐全,防止漏标题、漏封面、漏标签等低级错误。
## 与其他 SKILL 的区别
| SKILL | 定位 | 检查深度 |
|---|---|---|
| **publish-checklist**(本 SKILL) | 完整性检查——"有没有漏东西" | 浅层,逐项打勾 |
| skill-quality-gate | 深度合规 + 质量审核 | 深层,评分 + 返工 |
| skill-persona-check | 人设一致性 | 风格/调性维度 |
| skill-risk-scanner | 原创度 + 版权 | 抄袭/侵权维度 |
## 输入View the complete source on GitHubskill-publish-log
When your agent uses it
发布记录管理。当用户提到"记一下刚发的"、"发布记录"、"这个月发了多少"、"发布历史"、 "记录一下"、"发布日志"、"上次发了什么"时触发。支持记录每次发布的内容信息(平台、标题、 链接、时间、初始数据),并提供查询和统计功能,方便后续复盘。
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
1,839 tokensWhen the skill is activated
Reference documents
234 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 数据层定位
- 输入
- 输出
- 存储格式
- 执行步骤
- Profile 感知
Scripts executed separately
scripts/log.py
Files
EASEL-META.mddoc834 bytesSKILL.mdcore6,392 bytesSKILL.mdcore6,392 bytesSKILL.mdcore6,392 bytesscripts/log.pyruns9,703 bytes
Read SKILL.md
# 发布记录管理
> 记录、查询、统计每次社媒内容发布的信息,作为复盘和归因的数据底座。
## 数据层定位
本 SKILL 是归因链的**发布事件底座**,唯一权威存储 `outputs/_analytics/publish-log.json`(每次发布的平台 / 标题 / 链接 / 时间 / 初始数据 / 标签 / 来源 SKILL)。
- **只存发布事件,不存粉丝时序** — 粉丝数、互动量的时间序列快照由 `skill-data-tracker` 维护(`outputs/_analytics/snapshots/`)。本底座不重复记录粉丝时序,避免同一事实两处存储。
- **消费方(读,不回写)** — `skill-publish-analytics`(时段 / 标签 / 类型 / 增长归因)与 `skill-social-performance-review`(月度复盘)读取本底座做归因。
| 底座 | 存什么 | 谁维护 |
|------|--------|--------|
| `outputs/_analytics/publish-log.json` | 发布事件(本 SKILL) | skill-publish-log |View the complete source on GitHubskill-publish-notify
When your agent uses it
发布通知推送:内容发布成功/失败后,把结果推送到飞书/钉钉/企业微信群机器人、 Telegram、Slack 或任意 webhook。当用户说"发布通知""发到飞书群""通知钉钉""推送到企微" "发布成功提醒""webhook 通知""发布完通知我""群机器人"时使用。纯脚本无第三方依赖。
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
802 tokensWhen the skill is activated
Reference documents
166 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 支持渠道
- 输入
- 执行
- 规则
- 参考来源
Scripts executed separately
scripts/notify.py
Files
EASEL-META.mddoc538 bytesSKILL.mdcore2,777 bytesSKILL.mdcore2,777 bytesscripts/notify.pyruns8,342 bytes
Read SKILL.md
# 发布通知推送
> 内容发布后把结果推到团队 IM 群机器人或任意 webhook。走 `scripts/notify.py`(纯标准库无依赖)。
> 常与发布类 SKILL 串联:发布成功 → 推送"已发布 + 链接";失败 → 推送错误。
## 支持渠道
| 渠道 | 需要 | 说明 |
|------|------|------|
| `feishu` | 群机器人 webhook | 飞书/Lark,支持标题富文本 |
| `dingtalk` | webhook(可选加签 secret) | 钉钉群机器人 |
| `wecom` | 群机器人 webhook | 企业微信 |
| `telegram` | bot token + chat_id | Telegram Bot |
| `slack` | Incoming Webhook | Slack |View the complete source on GitHubskill-publish-scheduler
When your agent uses it
批量定时发布排期:管理"内容 × 平台 × 发布时间"的排期表,导入排期、查看队列、计算到期项、 到期派发给各平台发布 SKILL、回填状态。当用户说"定时发布""批量发布""排期发布""发布队列" "按计划发""这几条按时间自动发""发布排期表""到点发布"时使用。调度逻辑纯脚本,实际发布委派平台 SKILL。
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
900 tokensWhen the skill is activated
Reference documents
171 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 执行
- 到期派发流程(编排)
- 规则
- 参考来源
Scripts executed separately
scripts/publish_queue.py
Files
EASEL-META.mddoc553 bytesSKILL.mdcore3,191 bytesSKILL.mdcore3,191 bytesscripts/publish_queue.pyruns11,569 bytes
Read SKILL.md
# 批量定时发布排期
> 管理一张排期表(内容×平台×时间),到点把任务派发给各平台发布 SKILL。走
> `scripts/publish_queue.py`(纯标准库)。**本 SKILL 负责调度与状态,实际发布委派各平台 publisher**
> (skill-xhs-publisher / skill-douyin-upload / skill-wechat-publisher / skill-bilibili-upload / cross-platform-publish)。
## 输入
排期表 CSV(表头需含 `publish_at, platform, content`,可选 `title, note`):
```csv
publish_at,platform,content,title
2026-08-01 09:00,xiaohongshu,outputs/note1,早间笔记
2026-08-01 20:00,douyin,outputs/主题名/final.mp4,晚间视频
```View the complete source on GitHubskill-quality-gate
When your agent uses it
发布前质量关卡:合规风险检测(敏感词、绝对化用语、平台规则) + 产物质量审核(完整性、可读性、平台适配度)。一次检查,两道把关。 当用户说"检查合规"、"质量检查"、"能不能发"、"有没有敏感词"、 "审核一下"、"发布前检查"、"质量够不够"时使用。 合并了原 skill-check-compliance 和 skill-review-deliverable 的能力。
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
739 tokensWhen the skill is activated
Reference documents
2,762 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc522 bytesSKILL.mdcore2,525 bytesreferences/general-rules.mddoc1,853 bytesreferences/platform-bilibili.mddoc1,300 bytesreferences/platform-douyin.mddoc1,353 bytesreferences/platform-xiaohongshu.mddoc1,318 bytesreferences/review-dimensions.mddoc1,105 bytesreferences/review-levels.mddoc1,139 bytesreferences/rework-rules.mddoc939 bytes
Read SKILL.md
# 发布前质量关卡
> 一个 SKILL 完成两道把关:合规风险检测 + 产物质量审核。
## 输入
用户提供待检查内容:文本、图片路径、视频路径、或混合。
可选:目标发布平台。
## 输出
```json
{
"overall_verdict": "✅ 可发布 | ⚠<U+FE0F> 需修改 | ❌ 不达标",View the complete source on GitHubskill-record-card
When your agent uses it
项目内容记录卡片:以访谈方式陪用户把"当天真做成的一件事"沉淀成四段卡片(核心要点/机理/具体方法/使用范围)。以用户亲口表达为底稿——AI 一次只问一个问题、追问到具体,并补充观点、提炼拔高、指出认知盲点;AI 补充显式标注、经用户确认采纳后才落盘。卡片是用户心里"看不见的稿子",登记为 general 层产物供分享消费,可随新理解迭代版本。当用户说"写卡片"、"记录卡片"、"记录今天做的事"、"帮我沉淀今天做的事"、"经验卡片"、"每日记录"时触发。边界:已发布内容数据分析用 skill-content-postmortem;画像偏好沉淀用 skill-profile-manager。
What it loads into context
Frontmatter
223 tokensAlways available to the agent
SKILL.md
2,019 tokensWhen the skill is activated
Reference documents
2,296 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 协作规则(最高优先级,违反即失败)
- 输入
- 输出
- 执行步骤
- 不适用情况(主动告知用户)
- Profile 感知
Scripts executed separately
scripts/card.py
Files
EASEL-META.mddoc1,537 bytesSKILL.mdcore7,231 bytesSKILL.mdcore7,231 bytesSKILL.mdcore7,231 bytesSKILL.mdcore7,231 bytesreferences/interview-guide.mddoc6,324 bytesscripts/card.pyruns21,747 bytestests/test1.expectedasset95 bytestests/test1.promptasset79 bytes
Read SKILL.md
# 项目内容记录卡片
> 做事→思考→记录→分享→改进。本 SKILL 负责"记录"环:通过访谈把用户当天做成的事沉淀成可演进的经验卡片。
## 协作规则(最高优先级,违反即失败)
1. **用户是思考主体与终审**。卡片以用户亲口表达为底稿;AI 的职责是让用户想得更高、更好、更全面——主动补充观点、提炼优化、拔高视角、指出用户没思考的点和认知盲点。
2. **AI 补充必须显式标注、经确认才落盘**。所有 AI 贡献以"AI 补充"名义呈现,用户采纳/修改/拒绝;只有用户确认的版本才能写入卡片,用户有权拒绝任何补充。
3. **先挖用户的,再补 AI 的**。每段先通过追问让用户自己说到位,AI 的补充在后,不打断用户的思考主线。
4. **一次只问一个问题**。不批量抛问题清单,等用户答完再问下一个。
5. **可追溯**:用户原话进"原话摘录"区;AI 补充与提炼记入"AI 补充与提炼"说明区,演进过程保持诚实。
6. **没做事就不记录**。用户没有真实做过的事,提示"先去做,做完再来写卡片",不编造事实。
## 输入View the complete source on GitHubskill-risk-scanner
When your agent uses it
内容原创度与版权风险评估:分析文案是否存在洗稿/搬运嫌疑,评估素材版权风险, 检查引用规范。基于 LLM 文本分析,不包含技术查重。 当用户说"查重"、"原创度"、"是不是抄的"、"版权风险"、"能不能用这张图"、 "音乐版权"、"原创检测"、"有没有侵权"、"素材版权"、"会不会被投诉"时触发。 和 skill-quality-gate 的区别:quality-gate 查敏感词和平台规则合规, risk-scanner 专注原创度和版权侵权风险。
What it loads into context
Frontmatter
166 tokensAlways available to the agent
SKILL.md
2,213 tokensWhen the skill is activated
Reference documents
3,590 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 能力边界声明
- 与其他 SKILL 的区别
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc537 bytesSKILL.mdcore8,089 bytesreferences/copyright-guide.mddoc9,814 bytesreferences/washing-patterns.mddoc2,341 bytes
Read SKILL.md
# 内容原创度与版权风险评估
> 基于 LLM 文本分析能力,评估内容的原创度风险和素材版权风险,输出定性风险报告与改进建议。
## 能力边界声明
本 SKILL 基于 LLM 文本分析,**不包含**以下技术能力:
- **不做技术查重** — 无法计算余弦相似度或精确重复率,需要 Copyleaks / Originality.ai 等外部 API
- **不输出相似度分数** — 所有风险判断均为定性等级(低/中/高),不伪造百分比或小数
- **不做图片内容识别** — 无法读取 EXIF、检测水印、识别图片来源;图片风险评估基于用户提供的来源描述
- **不做音频指纹匹配** — 无法识别 BGM 曲目,基于用户标注的音乐来源进行风险判断
## 与其他 SKILL 的区别View the complete source on GitHubskill-rss-aggregator
When your agent uses it
RSS/Newsletter 聚合:订阅一批博主/媒体/Newsletter 的 RSS/Atom 源,拉取最新条目, 按关键词与时间窗过滤、去重、按时间排序,产出选题/资讯摘要。当用户说"RSS""订阅源" "聚合资讯""追更博主""Newsletter""看看最近有什么新文章""汇总这些源的更新""feed"时使用。 纯标准库解析,无第三方依赖。
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
797 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 执行
- 结果怎么用
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
scripts/rss_digest.py
Files
SKILL.mdcore2,841 bytesSKILL.mdcore2,841 bytesscripts/rss_digest.pyruns11,286 bytes
Read SKILL.md
# RSS / Newsletter 聚合
> 把一批订阅源的最新更新聚合成摘要,用于每日选题与资讯追踪。走 `scripts/rss_digest.py`
> (纯标准库解析 RSS 2.0 / Atom),无第三方依赖。
> 全网热搜见 skill-trending-topics;行业新闻见 skill-news-intelligence;本 SKILL 专注
> **用户自选订阅源**的更新聚合。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 订阅源 | 是 | `--url` 单个/多个,或 `--feeds` 列表文件(每行一个 RSS/Atom URL) |
| 关键词 | 可选 | 只保留标题/摘要命中的条目(逗号分隔) |View the complete source on GitHubskill-seo-quality
When your agent uses it
平台原生搜索流量优化:把内容做成能被平台搜索到的样子。 校验并优化标题/正文关键词布局、话题标签搜索权重、封面/首帧文字关键词、 搜索流量 vs 推荐流量的取舍。覆盖小红书、抖音、知乎、公众号、B站、微博。 当用户说"SEO 检查"、"搜索优化"、"关键词布局"、"搜不到我的内容"、 "怎么被搜到"、"话题标签怎么选"、"搜一搜优化"、"发布前校验"时使用。 网页/博客的 Meta/OG/Slug/E-E-A-T 校验作为可选模式保留(见 references)。
What it loads into context
Frontmatter
181 tokensAlways available to the agent
SKILL.md
1,533 tokensWhen the skill is activated
Reference documents
3,007 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 定位
- 输入
- 输出
- 执行步骤
- 平台速览
- 检查原则
- Profile 感知
Files
EASEL-META.mddoc1,758 bytesSKILL.mdcore5,370 bytesreferences/platform-search.mddoc5,601 bytesreferences/web-blog-seo.mddoc2,921 bytes
Read SKILL.md
# 平台原生搜索优化
> 让内容能被平台搜索到、排得靠前。以国内内容平台的站内搜索机制为主体,网页/博客 web SEO 作为可选模式。
## 定位
国内平台的流量分两条路:**推荐流量**(算法主动分发)和**搜索流量**(用户主动搜关键词命中)。多数创作只优化推荐,忽略搜索——而搜索流量精准、长尾、可累积。本 SKILL 专治搜索这条路:让标题、正文、标签、封面文字都踩中用户会搜的词。
推荐流量的钩子/完播/互动优化不在此列,交给 `social-content` / `video-script`。
## 输入
- 待检查的内容(文件路径、文本、或已发布链接)
- 目标平台(小红书 / 抖音 / 知乎 / 公众号 / B站 / 微博;缺省时询问或按 Profile)View the complete source on GitHubskill-short-link
When your agent uses it
短链 + UTM 追踪:给内容/投放链接拼接 UTM 追踪参数(来源/媒介/活动)并缩短, 便于在小红书/抖音/公众号等追踪流量来源与活动效果。当用户说"短链""生成短链""缩短链接" "UTM""追踪链接""投放链接""带参数的链接""统计来源""tinyurl"时使用。用免 key 公共短链服务。
What it loads into context
Frontmatter
125 tokensAlways available to the agent
SKILL.md
732 tokensWhen the skill is activated
Reference documents
167 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 执行
- 规则
- 参考来源
Scripts executed separately
scripts/shortlink.py
Files
EASEL-META.mddoc520 bytesSKILL.mdcore2,412 bytesSKILL.mdcore2,412 bytesSKILL.mdcore2,412 bytesSKILL.mdcore2,412 bytesSKILL.mdcore2,412 bytesscripts/shortlink.pyruns7,231 bytes
Read SKILL.md
# 短链 + UTM 追踪
> 给链接拼 UTM 追踪参数并缩短,追踪各平台引流效果。走 `scripts/shortlink.py`(纯标准库无依赖,
> 短链用免 key 公共服务 TinyURL / is.gd / v.gd)。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| URL | 是 | 落地页/商品/表单链接 |
| source | UTM 时必填 | 来源平台,如 xiaohongshu/douyin/wechat |
| medium | UTM 时必填 | 媒介,如 social/video/cpc |
| campaign | UTM 时必填 | 活动名,如 618/newproduct |
View the complete source on GitHubskill-social-performance-review
When your agent uses it
生成月度社媒效果复盘报告,分析小红书、抖音、B站、微博等平台的内容表现,输出下月可执行建议。 当用户说"月度复盘""效果复盘""这个月表现""内容复盘""运营总结""下月建议""月报"时使用。 和 skill-publish-analytics 的区别:analytics 从发布日志做四维归因,本 SKILL 做跨平台组合级月度复盘。
What it loads into context
Frontmatter
119 tokensAlways available to the agent
SKILL.md
2,475 tokensWhen the skill is activated
Reference documents
4,236 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 数据层定位
- 输入
- 输出
- 数据质量
- 执行步骤
- 注意事项
- Profile 感知
Scripts executed separately
scripts/review.py
Files
EASEL-META.mddoc484 bytesSKILL.mdcore8,604 bytesSKILL.mdcore8,604 bytesreferences/analysis-framework.mddoc3,916 bytesreferences/benchmarks.mddoc7,640 bytesreferences/report-template.mddoc2,127 bytesscripts/review.pyruns8,301 bytes
Read SKILL.md
# 月度效果复盘
> 分析上月社媒内容表现,找出有效模式与失败原因,输出客户可读的复盘报告和下月可执行建议。
## 数据层定位
本 SKILL 是归因链的**消费层**,不新建数据底座:
- **粉丝 / 时序数据的权威来源是 `skill-data-tracker` 快照底座**(`outputs/_analytics/snapshots/`);发布事件底座是 `skill-publish-log`(`outputs/_analytics/publish-log.json`)。有对应底座数据时优先取用做环比与粉丝趋势。
- **本 SKILL 的临时文件与产物不是底座** — 阶段 3 的 `outputs/复盘主题/.tmp-{月份}.json` 是标准化输入(用完即删),`context/best-performers.md`、`context/review-history.md` 是复盘沉淀,均不重复存储粉丝时序或发布事件本身。
- 当底座数据缺失时,退到 CSV / 截图 / 口述输入(见「数据质量」),不阻断复盘。
## 输入
View the complete source on GitHubskill-strategy-advisor
When your agent uses it
基于现有内容数据和画像迭代优化内容策略。分析过去一段时间的内容表现、画像信息、 行业趋势,给出下一阶段的内容方向调整、新赛道建议、内容形式优化、发布节奏调整、 画像微调等策略建议。当用户说"下一步怎么做"、"策略建议"、"怎么调整"、"内容方向"、 "下个月策略"、"优化建议"、"迭代方向"时触发。 和 skill-content-strategy 的区别:content-strategy 从零制定策略, strategy-advisor 基于现有数据做迭代优化。
What it loads into context
Frontmatter
156 tokensAlways available to the agent
SKILL.md
1,695 tokensWhen the skill is activated
Reference documents
1,133 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc799 bytesSKILL.mdcore6,070 bytesreferences/platform-benchmarks.mddoc2,150 bytes
Read SKILL.md
# 策略迭代建议
> 基于现有内容数据与画像,给出下一阶段的内容策略优化建议。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 内容数据摘要 | 是 | 过去一段时间的内容表现数据(至少包含标题、平台、核心指标),或复盘报告 |
| 时间范围 | 推荐 | 数据覆盖的时间段(如"最近 30 天"、"6 月") |
| 当前策略描述 | 推荐 | 现行的内容方向、赛道、发布节奏、主要形式等 |
| 目标变化 | 可选 | 近期目标是否有变化(如从涨粉转向变现、从单平台转向多平台) |
| 行业/赛道信息 | 可选 | 所在行业的近期变化、竞品动向 |
| 复盘报告 | 可选 | 若已运行过 skill-content-postmortem,可直接引用其输出 |View the complete source on GitHubskill-topic-evaluator
When your agent uses it
评估单个选题的潜力,按统一维度(流量潜力、账号匹配、 竞争差异化、时效价值、变现空间、制作成本、合规风险)打分,输出"做/不做/改方向"建议。 当用户说"这个选题值不值得做"、"评估一下"、"能不能火"、"有没有流量"、 "做不做这个"、"选题评估"、"值得做吗"、"这个话题行不行"、"帮我判断一下"时触发。 skill-content-matrix 批量生成选题池;skill-post-scorer 评估已完成内容,本 SKILL 评估尚未制作的单个选题。
What it loads into context
Frontmatter
187 tokensAlways available to the agent
SKILL.md
1,828 tokensWhen the skill is activated
Reference documents
1,469 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc656 bytesSKILL.mdcore5,968 bytes../../shared/scoring-dimensions.mddoc4,009 bytes
Read SKILL.md
# 选题可行性评估
> 用户给一个选题,多维度打分评估值不值得做,输出"做/不做/改方向"建议。
> **评分口径**:本 SKILL 与 `skill-content-matrix` 共用 `../../shared/scoring-dimensions.md` 的**统一七维 + 标尺 + 权重**。matrix 做批量池快评,本 SKILL 做**单条深评**(逐维展开详细分析)。两者维度、标尺、综合分阈值完全一致。
## 输入
| 参数 | 必填 | 说明 |
|------|------|------|
| 选题 | 是 | 用户想做的选题标题或描述 |
| 目标平台 | 否 | 小红书 / 抖音 / 微博 / 知乎 / B站 / 公众号(有 Profile 时自动提取) |
| 补充背景 | 否 | 选题来源、灵感、竞品参考等 |
View the complete source on GitHubskill-trend-rider
When your agent uses it
给定一个热点事件或话题,结合创作者账号定位,输出蹭热点的具体内容方案。 包含切入角度、内容形式、标题建议、风险提醒。 当用户说"这个热点怎么蹭"、"蹭热点"、"怎么结合"、"热点和我有关吗"、 "追热点"、"热点方案"、"借势"、"怎么追这个热点"、"热点怎么切"时触发。 和 skill-trending-topics 的区别:trending-topics 发现和筛选热点, trend-rider 拿到一个具体热点后规划怎么蹭、怎么切内容。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
1,922 tokensWhen the skill is activated
Reference documents
173 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc596 bytesSKILL.mdcore6,478 bytes
Read SKILL.md
# 蹭热点方案
> 给一个热点事件,结合创作者定位,输出具体的蹭热点内容方案。
## 输入
| 参数 | 必填 | 说明 |
|------|------|------|
| 热点事件 | 是 | 热点话题/事件描述或关键词 |
| 目标平台 | 否 | 发布平台(有 Profile 时自动提取) |
| 创作者赛道 | 否 | 如"科技数码"、"美妆"(有 Profile 时自动提取) |
## 输出
View the complete source on GitHubskill-trending-topics
When your agent uses it
抓取微博、抖音、知乎、头条、B站实时热搜,筛选与创作者赛道相关的热点,输出二创选题建议。 当用户说"今天有什么热搜""热点""最近大家在聊什么""追热点""蹭热点""二创选题""热搜榜"时使用。 和 skill-news-intelligence 的区别:本 SKILL 抓分钟级实时热搜榜做快速二创选题; news-intelligence 做日级深度行业资讯聚合,不抓热搜榜。
What it loads into context
Frontmatter
137 tokensAlways available to the agent
SKILL.md
1,261 tokensWhen the skill is activated
Reference documents
138 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc440 bytesSKILL.mdcore4,078 bytes
Read SKILL.md
# 热点发现
> 抓取多平台实时热搜数据,筛选与创作者赛道相关的热点,输出可操作的二创选题。
## 输入
用户 prompt 中提供以下信息(全部可选):
- **平台**:微博 / 抖音 / 知乎 / 头条 / B站(默认:微博 + 抖音)
- **赛道/领域**:如"科技数码"、"美妆"、"职场"(有 Profile 时自动提取)
- **目的**:浏览热搜 / 找二创选题 / 追热点写内容
## 输出
View the complete source on GitHubskill-ugc-discovery
When your agent uses it
发现用户生成内容(UGC)。搜索与创作者品牌/账号相关的粉丝内容、测评、提及和社区讨论, 输出高价值 UGC 列表与互动建议。当用户说"谁提到了我"、"粉丝内容"、"品牌提及"、 "UGC 发现"、"用户口碑"、"测评搜索"、"社区讨论"时触发。
What it loads into context
Frontmatter
108 tokensAlways available to the agent
SKILL.md
1,456 tokensWhen the skill is activated
Reference documents
238 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 三条发现路径
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc800 bytesSKILL.mdcore5,087 bytes
Read SKILL.md
# UGC 内容发现
> 搜索与创作者品牌/账号相关的用户生成内容,发现粉丝内容、测评、提及和社区讨论,输出可互动的 UGC 列表。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| brand_keywords | 是 | 品牌名/账号名,可多个(逗号分隔) |
| platforms | 否 | 聚焦平台(小红书/B站/微博/知乎/抖音),默认全平台 |
| content_type | 否 | reviews / mentions / fan_art / complaints / all(默认 all) |
| time_range | 否 | recent / this_month / this_quarter(默认 recent) |
## 输出View the complete source on GitHubskill-voice-builder
When your agent uses it
通过结构化访谈和写作样本分析,构建创作者个人声音画像(语气/用词/节奏/风格),确保后续内容风格一致。 当用户说"声音画像""我的写作风格""风格一致""建立人设语气""voice/tone""我的表达习惯""统一文风"时使用。 和 skill-audience-profiler 的区别:本 SKILL 建创作者自己的声音画像;audience-profiler 建目标受众/粉丝画像。
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,394 tokensWhen the skill is activated
Reference documents
3,407 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
- 规则
Files
EASEL-META.mddoc2,667 bytesSKILL.mdcore4,780 bytesreferences/interview-questions.mddoc2,870 bytesreferences/sample-content.mddoc2,990 bytesreferences/voice-analysis-dimensions.mddoc2,706 bytes
Read SKILL.md
# 声音画像构建
> 通过结构化访谈 + 写作样本分析,生成个人声音画像(about-me.md + voice.md),确保后续内容创作的品牌一致性。
## 输入
用户参与访谈并提供 3-5 篇写作样本(小红书笔记、抖音文案、B站文稿、微博帖子、公众号文章等)。
若用户没有样本,可输入 `use samples` 加载默认样本集 `references/sample-content.md`。
## 输出
两个文件,输出至项目根目录(**独立的轻量声音产物,不属于 Profile 六维 schema**;如需并入画像,可把要点回写到 `profiles/<画像>/style.md`):
View the complete source on GitHubskill-wechat-publisher
When your agent uses it
微信公众号文章自动创作与发布工具。给定参考文章、文字或文档,自动搜索整理全网相关信息、生成图文并茂的公众号文章,并发布到微信公众号草稿箱。特别强调反 AI 检测写作。 触发场景(沾边就用):用户提到"公众号 / 微信文章 / 推文 / 公号 / 发文 / mp / 草稿箱 / 群发",或要求把话题/文档/笔记写成公众号文章并发布到微信。
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
3,204 tokensWhen the skill is activated
Reference documents
22,140 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖(部分可跑)
- 账号与人格
- 前置条件
- 完整工作流程(7 阶段,第 7 为可选 opt-in)
- 贴图模式(newspic,与文章模式并列)
- 文件组织约定
- 脚本说明
- Profile 感知
- 注意事项
Scripts executed separately
scripts/ai_score.pyscripts/api.pyscripts/baoyu_image_gen.tsscripts/baoyu_image_gen_core.tsscripts/config.pyscripts/generate_image.pyscripts/html_converter.pyscripts/image_handler.pyscripts/multi_publish.pyscripts/newspic_build.pyscripts/publish.pyscripts/sync_pages.shscripts/wechat_api.pyscripts/wechat_token.pytests/__init__.pytests/conftest.pytests/test_ai_score.pytests/test_config.pytests/test_config_integration.pytests/test_draft_submission.pytests/test_html_converter.py../../shared/scripts/weixin_mp_stats.py../../shared/scripts/weixin_mp_stats.py../../shared/scripts/weixin_mp_stats.py../../shared/scripts/weixin_mp_stats.py../../shared/scripts/weixin_mp_stats.py
Files
EASEL-META.mddoc2,626 bytesSKILL.mdcore11,691 bytesSKILL.mdcore11,691 bytesSKILL.mdcore11,691 bytesSKILL.mdcore11,691 bytesSKILL.mdcore11,691 bytesSKILL.mdcore11,691 bytesassets/image-styles/README.mddoc30,159 bytesassets/image-styles/blue.jsonasset3,090 bytesassets/image-styles/data-chart.jsonasset2,435 bytesassets/image-styles/flat-editorial.jsonasset5,061 bytesassets/image-styles/hand-drawn-blue.jsonasset2,332 bytesassets/image-styles/illustrated-warm.jsonasset3,364 bytesassets/image-styles/infographic-blue.jsonasset5,373 bytesassets/image-styles/infographic-dark.jsonasset5,502 bytesassets/image-styles/infographic-mint.jsonasset5,375 bytesassets/image-styles/infographic-warm.jsonasset5,567 bytesassets/image-styles/knowledge-card.jsonasset2,318 bytesassets/image-styles/magazine-editorial.jsonasset2,349 bytesassets/image-styles/marker-coral.jsonasset6,559 bytesassets/image-styles/marker-lime.jsonasset6,748 bytesassets/image-styles/marker-pink.jsonasset6,580 bytesassets/image-styles/marker-sky.jsonasset6,552 bytesassets/image-styles/marker-violet.jsonasset6,557 bytesassets/image-styles/meme-illustration.jsonasset2,307 bytesassets/image-styles/mint.jsonasset3,201 bytesassets/image-styles/morandi.jsonasset3,489 bytesassets/image-styles/previews/blue.webpasset106,520 bytesassets/image-styles/previews/data-chart.webpasset16,820 bytesassets/image-styles/previews/flat-editorial.webpasset112,320 bytesassets/image-styles/previews/hand-drawn-blue.webpasset18,366 bytesassets/image-styles/previews/illustrated-warm.webpasset31,938 bytesassets/image-styles/previews/infographic-blue.webpasset164,252 bytesassets/image-styles/previews/infographic-dark.webpasset145,492 bytesassets/image-styles/previews/infographic-mint.webpasset153,826 bytesassets/image-styles/previews/infographic-warm.webpasset166,430 bytesassets/image-styles/previews/knowledge-card.webpasset22,916 bytesassets/image-styles/previews/magazine-editorial.webpasset14,334 bytesassets/image-styles/previews/marker-coral.webpasset42,156 bytesassets/image-styles/previews/marker-lime-template.webpasset35,072 bytesassets/image-styles/previews/marker-lime.webpasset40,284 bytesassets/image-styles/previews/marker-pink.webpasset38,406 bytesassets/image-styles/previews/marker-sky.webpasset49,026 bytesassets/image-styles/previews/marker-violet.webpasset43,848 bytesassets/image-styles/previews/meme-illustration.webpasset36,394 bytesassets/image-styles/previews/mint.webpasset98,016 bytesassets/image-styles/previews/morandi.webpasset83,980 bytesassets/image-styles/previews/slice-of-life.webpasset47,400 bytesassets/image-styles/previews/warm-handdrawn.webpasset80,890 bytesassets/image-styles/previews/xiaohongshu-colorful.webpasset24,862 bytesassets/image-styles/slice-of-life.jsonasset5,059 bytesassets/image-styles/warm-handdrawn.jsonasset4,505 bytesassets/image-styles/xiaohongshu-colorful.jsonasset2,335 bytesassets/theme-previews/README.mddoc1,697 bytesassets/theme-previews/academic-paper.htmlasset13,779 bytesassets/theme-previews/business-navy.htmlasset13,959 bytesassets/theme-previews/elegant-ink.htmlasset13,312 bytesassets/theme-previews/girly-pink.htmlasset13,471 bytesassets/theme-previews/index.htmlasset27,241 bytesassets/theme-previews/ink-wash.htmlasset13,846 bytesassets/theme-previews/magazine-grid.htmlasset13,331 bytesassets/theme-previews/minimal-bw.htmlasset13,921 bytesassets/theme-previews/minimal-mono.htmlasset13,030 bytesassets/theme-previews/mint-fresh.htmlasset14,379 bytesassets/theme-previews/news-bold.htmlasset13,611 bytesassets/theme-previews/refined-blue.htmlasset15,470 bytesassets/theme-previews/sage-premium.htmlasset13,907 bytesassets/theme-previews/sample.mddoc2,696 bytesassets/theme-previews/screenshots/ink-wash.webpasset28,476 bytesassets/theme-previews/screenshots/minimal-mono.webpasset35,600 bytesassets/theme-previews/screenshots/news-bold.webpasset33,232 bytesassets/theme-previews/screenshots/refined-blue.webpasset35,088 bytesassets/theme-previews/screenshots/theme-overview.webpasset235,348 bytesassets/theme-previews/sunset-coral.htmlasset15,143 bytesassets/theme-previews/warm-editorial.htmlasset13,110 bytesassets/theme-previews/warm-orange.htmlasset12,571 bytesassets/themes/academic-paper.jsonasset5,330 bytesassets/themes/business-navy.jsonasset5,358 bytesassets/themes/elegant-ink.jsonasset5,222 bytesassets/themes/girly-pink.jsonasset5,387 bytesassets/themes/ink-wash.jsonasset5,268 bytesassets/themes/magazine-grid.jsonasset5,203 bytesassets/themes/minimal-bw.jsonasset5,294 bytesassets/themes/minimal-mono.jsonasset5,089 bytesassets/themes/mint-fresh.jsonasset5,432 bytesassets/themes/news-bold.jsonasset5,254 bytesassets/themes/refined-blue.jsonasset5,753 bytesassets/themes/sage-premium.jsonasset5,466 bytesassets/themes/sunset-coral.jsonasset5,634 bytesassets/themes/warm-editorial.jsonasset5,065 bytesassets/themes/warm-orange.jsonasset5,127 bytesassets/typeset-card/template.htmlasset3,560 bytesbrief.md.exampleasset2,305 bytesreferences/anti-ai-checklist.mddoc3,509 bytesreferences/api_reference.mddoc3,238 bytesreferences/article-structures.mddoc3,226 bytesreferences/errors.mddoc1,154 bytesreferences/image-styles-guide.mddoc3,631 bytesreferences/inline-markup.mddoc1,730 bytesreferences/multi-platform-sync.mddoc2,679 bytesreferences/newspic-mode.mddoc5,814 bytesreferences/themes.mddoc1,842 bytesreferences/typeset-card.mddoc4,379 bytesscripts/ai_score.pyruns15,587 bytesscripts/api.pyruns13,576 bytesscripts/baoyu_image_gen.tsruns5,656 bytesscripts/baoyu_image_gen_core.tsruns11,765 bytesscripts/config.pyruns12,002 bytesscripts/generate_image.pyruns4,452 bytesscripts/html_converter.pyruns23,865 bytesscripts/image_handler.pyruns17,961 bytesscripts/multi_publish.pyruns14,528 bytesscripts/newspic_build.pyruns14,331 bytesscripts/publish.pyruns36,534 bytesscripts/sync_pages.shruns994 bytesscripts/wechat_api.pyruns6,150 bytesscripts/wechat_token.pyruns5,201 bytestests/__init__.pyruns0 bytestests/conftest.pyruns4,151 bytestests/test_ai_score.pyruns8,304 bytestests/test_config.pyruns7,565 bytestests/test_config_integration.pyruns9,932 bytestests/test_draft_submission.pyruns3,224 bytestests/test_html_converter.pyruns10,439 byteswechat-publisher.yaml.exampleasset1,865 bytes../../shared/scripts/weixin_mp_stats.pyruns36,502 bytes../../shared/scripts/weixin_mp_stats.pyruns36,502 bytes../../shared/scripts/weixin_mp_stats.pyruns36,502 bytes../../shared/scripts/weixin_mp_stats.pyruns36,502 bytes../../shared/scripts/weixin_mp_stats.pyruns36,502 bytes
Read SKILL.md
# 微信公众号文章自动创作与发布
从素材输入到公众号草稿箱的完整自动化流程:用户只需提供话题或参考资料,skill 完成搜索调研、撰写、配图、排版、AI 味自检、发布。
> **不要调用 `baoyu-post-to-wechat` skill。** 路由时同时看到两者,一律选本 skill(`wechat-publisher`),它带多账号 / 主题排版 / 反 AI 检测 gate。
## ⚠<U+FE0F> 环境依赖(部分可跑)
| 能力 | 状态 | 依赖 |
|------|------|------|
| 公众号发草稿(`publish.py` → **默认后台会话**) | ✅ 可跑 | 先扫码登录公众号后台(`skills/shared/scripts/weixin_mp_stats.py login`,或 Web 账号页「登录公众号后台」)。**免 app_id/app_secret、免 IP 白名单**,只创建草稿,不自动群发 |
| 公众号发草稿(`publish.py --official-api` → 官方 HTTP API,回退) | ✅ 可跑 | `wechat-publisher.yaml` 的 `app_id`/`app_secret` + 出口 IP 加进公众号 IP 白名单 |
| 反 AI 检测(`ai_score.py`) | ✅ 可跑 | 纯本地,无外部依赖 |
| MD→公众号排版(`html_converter.py`) | ✅ 可跑 | 纯本地 |View the complete source on GitHubredbook
When your agent uses it
小红书内容分析:搜索笔记、拉取互动数据、分析爆款规律、创作者画像、限流检测,支持 CLI 自动化操作。 当用户说"小红书数据分析""小红书爆款分析""笔记数据""小红书限流检测""小红书创作者画像""分析小红书账号"时使用。 发布与日常互动运营请用 skill-xhs-publisher。
What it loads into context
Frontmatter
256 tokensAlways available to the agent
SKILL.md
1,556 tokensWhen the skill is activated
Reference documents
8,157 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖
- 与 skill-xhs-publisher 的分工边界
- Research discipline(先读这条)
- Usage
- 能力概览
- 关键领域知识(references/)
- Requirements
Scripts executed separately
package.jsonscripts/postinstall.jsscripts/preuninstall.jssrc/cli.tssrc/lib/analyze.tssrc/lib/cdp-cookies.tssrc/lib/client.tssrc/lib/cookies.tssrc/lib/creator-signing.tssrc/lib/detect.tssrc/lib/fingerprint-data.tssrc/lib/health.tssrc/lib/platform.tssrc/lib/render.tssrc/lib/reply-strategy.tssrc/lib/signing.tssrc/lib/template.tssrc/lib/url.ts
Files
.github/workflows/npm-publish.ymlasset3,905 bytesEASEL-META.mddoc2,159 bytesSKILL.mdcore5,341 bytesSKILL.mdcore5,341 bytespackage-lock.jsonasset37,516 bytespackage.jsonruns1,644 bytesreferences/commands.mddoc4,479 bytesreferences/modules.mddoc6,316 bytesreferences/platform-signals.mddoc1,749 bytesreferences/research-loop.mddoc8,383 bytesreferences/technical-reference.mddoc3,937 bytesscripts/postinstall.jsruns4,634 bytesscripts/preuninstall.jsruns1,448 bytessocial-preview.htmlasset5,184 bytessocial-preview.pngasset267,636 bytessrc/cli.tsruns78,675 bytessrc/lib/analyze.tsruns20,458 bytessrc/lib/cdp-cookies.tsruns13,405 bytessrc/lib/client.tsruns22,781 bytessrc/lib/cookies.tsruns13,605 bytessrc/lib/creator-signing.tsruns1,805 bytessrc/lib/detect.tsruns6,769 bytessrc/lib/fingerprint-data.tsruns2,376 bytessrc/lib/health.tsruns5,631 bytessrc/lib/platform.tsruns2,751 bytessrc/lib/render.tsruns19,962 bytessrc/lib/reply-strategy.tsruns6,099 bytessrc/lib/signing.tsruns21,612 bytessrc/lib/template.tsruns8,176 bytessrc/lib/url.tsruns1,826 bytestsconfig.jsonasset458 bytes
Read SKILL.md
# Redbook — 小红书内容分析 CLI
用 `redbook` CLI 搜索笔记、读内容、分析创作者、提取爆款规律、研究选题。**OpenClaw 用户:** `clawhub install redbook` 或 `npm install -g @lucasygu/redbook --ignore-scripts`。Easel 环境里推荐 `--ignore-scripts`,避免上游 postinstall 额外写入带发布/评论能力的技能。
## ⚠<U+FE0F> 环境依赖
本 SKILL 不是 macOS 专属。Linux/WSL 可用 `REDBOOK_COOKIE_STRING` 或 `REDBOOK_COOKIE_FILE`(默认 `~/.redbook/cookies.json`)提供登录态;macOS keychain / 浏览器抽取只是 cookie 来源之一。
| 依赖 | 说明 |
|------|------|
| Node.js ≥ 22 | 运行 `@lucasygu/redbook` CLI |
| `redbook` binary | 经 `clawhub install redbook` / `npm install -g @lucasygu/redbook --ignore-scripts` 安装 |
| 登录 cookie | 优先 `REDBOOK_COOKIE_STRING`;其次 `REDBOOK_COOKIE_FILE` / `~/.redbook/cookies.json`;也可用已登录浏览器(桌面环境) |
| puppeteer-core + marked | 仅 `render` 卡片渲染需要(可选) |View the complete source on GitHubskill-xhs-comment-reply
When your agent uses it
小红书评论互动运营:列出我的笔记、抓取某条笔记下的评论、按画像语气逐条回复、以及删除评论 (含自己发的回复)。基于 Playwright + 持久化登录态,headless 即可运行,与 skill-xhs-publisher 共用同一登录态。评论抓取走接口响应拦截(稳);回复/删除走 DOM 文本定位(无坐标)+ 逐字符输入反检测; 带已回复去重、逐条间隔防风控、dry-run 预演。用 notes 列笔记或 fetch --url 贴链接,免手动拆 token。 触发:抓小红书评论 / 回复评论 / 删除评论 / 删评 / 维护评论区 / 看我某条笔记的评论。
What it loads into context
Frontmatter
201 tokensAlways available to the agent
SKILL.md
1,861 tokensWhen the skill is activated
Reference documents
2,877 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 运行方式(Playwright,headless 可用)
- 能力范围
- 与其他 xhs SKILL 的分工
- 风险提示(重要)
- 执行流程
- Profile 感知(回复语气)
- 发布前人设检查(有 Profile 时)
- 必做约束
- 命令样例
Scripts executed separately
../../shared/scripts/persona_gate.py../../shared/scripts/xhs_comment.py
Files
EASEL-META.mddoc3,828 bytesSKILL.mdcore6,571 bytesreferences/commands.mddoc5,992 bytes../../shared/scripts/persona_gate.pyruns7,278 bytes../../shared/scripts/xhs_comment.pyruns48,656 bytes
Read SKILL.md
# 小红书评论助手(xhs-comment-reply)
你是"小红书评论互动助手"。目标:把一条笔记下的评论拉出来,并在用户确认后,用**符合画像语气**
的回复逐条回评。确定性 IO(抓评论/定位回复框/发送)走 `xhs_comment.py`;**回复文案由你结合
画像生成**,脚本只负责把你给定的文本发出去——脚本不编内容。
## 运行方式(Playwright,headless 可用)
统一走确定性脚本 **`../../shared/scripts/xhs_comment.py`**(CWD=项目根)。与
`xhs_publish.py` **共用同一持久化登录态**(`~/.easel-browser-profiles/XiaohongshuProfile`),
登录一次两处通用——登录用 `xhs_publish.py login`(本 SKILL 不重复实现登录)。
| 依赖 | 说明 |
|------|------|View the complete source on GitHubskill-xhs-publisher
When your agent uses it
将图文/视频内容发布到小红书(XHS)。基于 Playwright + 持久化登录态,headless 即可运行, 流程与选择器移植自成熟开源实现 xiaohongshu-mcp(含发布成功校验、上传完成等待、话题联想绑定、 新旧发布按钮兼容、反检测)。适用场景:发布图文笔记、发布视频、扫码登录、发布前预检。
What it loads into context
Frontmatter
119 tokensAlways available to the agent
SKILL.md
1,459 tokensWhen the skill is activated
Reference documents
2,936 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 运行方式(Playwright,headless 可用)
- 能力范围
- 与 xhs-analyzer 的分工边界
- 风险提示(重要)
- 输入判断(按顺序)
- 执行流程
- 发布前人设检查(有 Profile 时)
- 发布后留痕(供监控/归因)
- 必做约束
- 命令样例
Scripts executed separately
../skill-publish-log/scripts/log.py../../shared/scripts/persona_gate.py../../shared/scripts/xhs_publish.py
Files
../skill-publish-log/scripts/log.pyruns9,703 bytesAGENTS.mddoc1,782 bytesEASEL-META.mddoc3,393 bytesSKILL.mdcore5,279 bytesSKILL.mdcore5,279 bytespublic/whitedew.jpgasset114,884 bytesreferences/commands.mddoc3,942 bytestodo.mddoc813 bytes../../shared/scripts/persona_gate.pyruns7,278 bytes../../shared/scripts/xhs_publish.pyruns67,860 bytes
Read SKILL.md
# 小红书发布助手(xhs-publisher)
你是"小红书发布助手"。目标是在用户确认后,调用 `xhs_publish.py` 完成**图文/视频发布**。
## 运行方式(Playwright,headless 可用)
统一走确定性脚本 **`../../shared/scripts/xhs_publish.py`**(CWD=项目根)。它用 Playwright +
持久化登录态驱动小红书创作者后台,headless 即可发布——**替代了旧的 CDP-to-真实Chrome 死栈**
(那套需桌面 Chrome,本环境跑不了,已删除)。
| 依赖 | 说明 |
|------|------|
| playwright + chromium 内核 | 本环境已装(`xhs_publish.py check` 验证) |
| 已扫码登录 | `login` 把二维码抠成 PNG(默认 `outputs/_login/xhs-login-qrcode.png`,Web UI 可看)→ 扫码 → cookie 持久化到 `~/.easel-browser-profiles/XiaohongshuProfile` |View the complete source on GitHubskill-zhihu-answer
When your agent uses it
知乎问答回答发布:在知乎问题下发布原创回答——搜热门问题、检查可答性、写内容、 Playwright 发布(绕 header 遮挡 + JS 遍历发布按钮)。当用户说"回答知乎问题""在知乎问答下回答" "发知乎回答""知乎答题""帮我回答这个知乎问题""批量回答知乎"时使用。与 skill-zhihu-publisher 区别:那个发**专栏文章**(zhuanlan),本 SKILL 专发**问答区的回答**;回答内容写作用制作层 SKILL (novel-writer / copywriting)。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
1,991 tokensWhen the skill is activated
Reference documents
1,222 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 与其他 SKILL 的区别
- 核心流程
- Step 1:搜索热门问题(可选)
- Step 2:检查可答状态
- Step 3:制作层写内容
- Step 4:发布前人设检查
- Step 5:发布命令
- 核心实现:三策略点击「写回答」
- 核心实现:点击「发布回答」按钮
- Step 6:发布后留痕
- 批量发布多个问题
- 已知限制与风险
- 依赖与验证
Scripts executed separately
../skill-publish-log/scripts/log.py../../shared/scripts/account_stats.py../../shared/scripts/persona_gate.py../../shared/scripts/web_publisher.py../../shared/scripts/zhihu_answer.py../../shared/scripts/zhihu_answer.py
Files
../skill-publish-log/scripts/log.pyruns9,703 bytesEASEL-META.mddoc1,397 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesSKILL.mdcore7,308 bytesreferences/commands.mddoc3,000 bytes../../shared/scripts/account_stats.pyruns60,770 bytes../../shared/scripts/persona_gate.pyruns7,278 bytes../../shared/scripts/web_publisher.pyruns100,196 bytes../../shared/scripts/zhihu_answer.pyruns17,349 bytes../../shared/scripts/zhihu_answer.pyruns17,349 bytes
Read SKILL.md
# skill-zhihu-answer(发布层 · 知乎问答回答)
> 在知乎问答帖子下发布原创回答:搜索热门问题 → 检查可答性 → 调用制作层 SKILL 写内容 → Playwright 发布。
> 核心脚本:`skills/shared/scripts/zhihu_answer.py`(CWD=项目根)。命令速查见 `references/commands.md`。
---
## 与其他 SKILL 的区别
| SKILL | 定位 |
|---|---|
| **skill-zhihu-answer(本 SKILL)** | 知乎问答帖的**回答发布**:搜题 + 写内容 + 发布 |
| skill-zhihu-publisher | 知乎**专栏文章**(zhuanlan)发布,非问答回答 |
| skill-cross-platform-publish | 一稿多发,多平台分发 |View the complete source on GitHubskill-zhihu-publisher
When your agent uses it
知乎发布:把文章发布到知乎专栏(也可用于回答草稿)。当用户说"发知乎""知乎发布" "发布知乎文章""知乎专栏""投知乎"时使用。基于通用浏览器发布框架(Playwright + 登录态持久化)。
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
572 tokensWhen the skill is activated
Reference documents
182 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> 环境依赖
- 执行
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/web_publisher.py
Files
EASEL-META.mddoc608 bytesSKILL.mdcore2,061 bytesSKILL.mdcore2,061 bytesSKILL.mdcore2,061 bytesSKILL.mdcore2,061 bytesSKILL.mdcore2,061 bytesSKILL.mdcore2,061 bytes../../shared/scripts/web_publisher.pyruns100,196 bytes
Read SKILL.md
# 知乎发布
> 基于通用浏览器发布框架 `../../shared/scripts/web_publisher.py`(`--platform zhihu`)。
> 发布到知乎专栏写作页(zhuanlan.zhihu.com/write)。
## ⚠<U+FE0F> 环境依赖
- `pip install playwright` + `playwright install chromium`
- 首次 `login` 登录知乎,登录态持久化复用
- 远程/headless 环境用 `login-qr --platform zhihu`(抠二维码成图轮询),或走 Web「账号」页登录
- **选择器时效**:知乎正文为 Draft.js contenteditable,发布可能有二次确认弹窗;内置选择器为
最佳努力,**首次务必 `plan` + `--headed` 校验**,失效时更新 `web_publisher.py` 的 zhihu 配置。
无浏览器环境可用 `platforms` / `plan` / `check`。View the complete source on GitHubslideshow-video
When your agent uses it
图片相册 → 视频:把一组图片做成带 Ken Burns 缓慢缩放、图间转场、背景音乐和逐图字幕的视频,自动适配平台画幅(竖版/方形/横版)。当用户说 图片转视频、图片做成视频、相册视频、照片视频、一组图生成视频、图片轮播视频、幻灯片视频、把这几张图做成短视频、图集成片、卡点图片视频 时使用。基于 shared/scripts/slideshow.py 确定性 ffmpeg 封装。与 auto-short-video 区别:auto-short-video 从一句话主题自动生成配图/配音成片,本 SKILL 用用户已有的图片直接拼成视频。
What it loads into context
Frontmatter
174 tokensAlways available to the agent
SKILL.md
1,205 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Files
SKILL.mdcore4,004 bytesSKILL.mdcore4,004 bytesSKILL.mdcore4,004 bytes
Read SKILL.md
# 图片相册 → 视频
> 把一组图片拼成一条视频:Ken Burns 缓慢缩放 + 图间转场 + 背景音乐 + 逐图字幕,
> 自动适配目标画幅。全部走 `skills/shared/scripts/slideshow.py`,**不要手拼
> zoompan / xfade**——脚本已处理帧数换算、转场偏移、音画时长对齐。
> 只做"已有图片 → 视频"。从主题自动生成配图/配音的完整流水线见 **auto-short-video**;
> 已有视频的剪辑见 **video-editing**;单张封面/海报见 **poster-hero**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 图片 | 是 | 一组图片路径(按顺序),或一个图片目录(按文件名排序) |View the complete source on GitHubsocial-content
When your agent uses it
通用多平台社媒内容(单条/兜底):钩子文案、正文、标签策略和互动引导,主打**涨粉/互动/内容运营**, 支持微博/抖音/B站/知乎/公众号/X 等;平台不确定或要多平台一次成稿时的默认选择。 当用户说"写条微博""发个帖子""社媒文案""发什么内容""帮我写个帖""涨粉内容""互动内容"时使用。 边界:**小红书整套笔记/图文/种草**找 xhs-note-creator;**带货转化/卖点/详情页**找 copywriting; **严格套 PAS/AIDA 框架排版**找 post-formatter。
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
1,772 tokensWhen the skill is activated
Reference documents
6,872 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 职责边界
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc2,277 bytesSKILL.mdcore5,974 bytesreferences/content-formats.mddoc3,210 bytesreferences/hashtag-strategy.mddoc2,013 bytesreferences/platform-specs.mddoc4,212 bytes../text-polisher/references/phrases-to-remove.mddoc2,915 bytes../text-polisher/references/zh-ai-markers.mddoc7,211 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# 社媒内容创作
> 跨平台通用/兜底的社媒内容生成器。为国内平台(小红书 / 抖音 / B站 / 微博 / 公众号 / 知乎)为主、出海平台(X、LinkedIn)为辅,生成原生格式的钩子文案、正文、标签策略和互动引导。
## 职责边界
本 SKILL 定位是**跨平台通用/兜底**:多平台一次成稿、快速起草、平台不确定时的默认选择。遇到下列专精场景,交给下游 SKILL 出精品:
| 场景 | 交给 |
|------|------|
| 小红书整套笔记(多卡片 + 去 AI 化 + caption + hashtags 全流程) | `xhs-note-creator` |
| 具体某条视频的分镜/口播脚本(Hook 评分、分秒计时、留存优化) | `video-script` |
| 落地页 / 产品页 / 详情页 / 信息流等带货转化文案(种草卖点、标题/正文/CTA + 备选) | `copywriting` |
| 严格套 PAS/AIDA/BAB 等框架的结构化帖子 | `post-formatter` |View the complete source on GitHubstyle-transfer
When your agent uses it
文案风格迁移:把一段文案从一种风格改写成另一种风格(严肃→搞笑、书面→口语、文艺→直白、正式→社交媒体感), 支持风格参考(给一段目标风格的示例文本)。 使用时机:用户说"改成搞笑风格"、"换个风格"、"风格迁移"、"改成口语化"、"改成文艺风"、 "像 XX 那样写"、"风格改写"、"换个腔调"。 和 text-polisher 的区别:polisher 提升质量不改风格,style-transfer 改变风格不做质量评估。
What it loads into context
Frontmatter
182 tokensAlways available to the agent
SKILL.md
1,468 tokensWhen the skill is activated
Reference documents
747 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Files
EASEL-META.mddoc814 bytesSKILL.mdcore4,563 bytesreferences/style-rules.mddoc1,554 bytes
Read SKILL.md
# 文案风格迁移
> 把文案从一种风格改写成另一种风格,保留核心语义,只改表达方式。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| `text` | 是 | 待改写的原文 |
| `target_style` | 是 | 目标风格(见预设风格列表,或自由描述) |
| `style_reference` | 否 | 一段目标风格的示例文本,用于学习风格特征 |
| `preserve_keywords` | 否 | 必须保留的关键词/术语列表 |
| `intensity` | 否 | 迁移强度:`light`(微调语气)/ `medium`(默认)/ `full`(彻底改写) |
View the complete source on GitHubsubtitle-translate
When your agent uses it
字幕翻译 / 双语字幕:把已有字幕(SRT/VTT/ASS)翻译成目标语言,生成双语(原文+译文)或纯译文字幕,并可软挂载 / 硬烧录进视频。当用户说 字幕翻译、翻译字幕、双语字幕、中英字幕、给视频加翻译、SRT 翻译、字幕本地化、把字幕翻成中文/英文、字幕转双语 时使用。翻译由 LLM 完成,时间轴/格式/烧录由 shared/scripts/subtitle_ops.py 确定性处理。与 auto-subtitle 区别:auto-subtitle 是语音识别生成字幕,本 SKILL 是把已有字幕翻译成双语。
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
1,547 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 其它子命令
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/subtitle_ops.py
Files
SKILL.mdcore5,023 bytesSKILL.mdcore5,023 bytesSKILL.mdcore5,023 bytesSKILL.mdcore5,023 bytes../../shared/scripts/subtitle_ops.pyruns23,795 bytes
Read SKILL.md
# 字幕翻译 / 双语字幕
> 把已有字幕翻译成目标语言,产出**双语**(原文+译文)或**纯译文**字幕,可选烧录进视频。
> 翻译交给 LLM(你自己),确定性部分(解析/合并/格式/时间轴/烧录)全交给
> `skills/shared/scripts/subtitle_ops.py`。**不要手拼 ffmpeg,也不要手改时间轴。**
> 只做"已有字幕 → 翻译/双语/烧录"。语音识别生成字幕见 **auto-subtitle**;
> 通用视频剪辑见 **video-editing**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 字幕文件 | 是 | `.srt` / `.vtt` / `.ass` 路径(没给就问) |View the complete source on GitHubtemplate-library
When your agent uses it
内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理。 当用户说"保存模板"、"用模板"、"模板管理"、"模板列表"、"复用上次的结构"、 "常用模板"时使用。 与 post-formatter(帖子框架)的区别:post-formatter 提供通用营销框架(PAS/AIDA/BAB), template-library 管理用户自己沉淀的个性化模板。 与 social-content(社媒内容)的区别:social-content 从零生成内容, template-library 基于已有模板快速复制结构。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
1,918 tokensWhen the skill is activated
Reference documents
464 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
scripts/templates.py
Files
EASEL-META.mddoc1,523 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesSKILL.mdcore6,541 bytesscripts/templates.pyruns12,984 bytes
Read SKILL.md
# 模板库
> 保存、复用、管理内容模板 — 把成功经验变成可复制的结构
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| action | 是 | 操作类型:`save` / `use` / `list` / `edit` / `delete` / `get` |
| template_name | 视操作 | 模板名称(save / use / edit / delete / get 时必填) |
| source_file | 否 | 要保存为模板的源文件路径(save 操作时使用) |
| source_text | 否 | 要保存为模板的文本内容(save 操作时,与 source_file 二选一) |
| category | 否 | 模板分类:`xiaohongshu` / `weibo` / `douyin` / `zhihu` / `wechat` / `x` / `general` |
| variables | 否 | 模板变量的填充值,JSON 格式(use 操作时使用) |View the complete source on GitHubtext-condenser
When your agent uses it
字数裁剪/摘要:把长文本压缩到指定字数,保留核心信息。支持硬裁剪(严格字数)、 摘要(保留要点)、金句提取(只保留最精华的句子)三种模式。 特别适合从长文生成平台适配的短文。 使用时机:用户说"裁到 140 字"、"压缩一下"、"太长了"、"摘要"、"精简"、 "缩写"、"字数裁剪"、"帮我缩短"、"提炼要点"。 和 text-polisher 的区别:polisher 润色文案不改长度,condenser 压缩篇幅不做质量提升。
What it loads into context
Frontmatter
187 tokensAlways available to the agent
SKILL.md
1,702 tokensWhen the skill is activated
Reference documents
260 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- Profile 感知
Scripts executed separately
../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc876 bytesSKILL.mdcore5,135 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# 字数裁剪/摘要
> 把长文本压缩到指定字数,保留核心信息,适配不同平台的字数限制。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| `text` | 是 | 待压缩的原文 |
| `target_length` | 否 | 目标字数(如 `140`、`280`、`500`);不指定则自动压缩到原文 30%-50% |
| `mode` | 否 | 压缩模式:`strict` / `summary` / `extract`(默认 `summary`) |
| `platform` | 否 | 目标平台(自动设定字数限制):`weibo`(140) / `twitter`(280) / `xiaohongshu`(1000) / `zhihu_answer`(自由) |
| `preserve` | 否 | 必须保留的关键信息/关键词列表 |
| `tone` | 否 | 压缩后的语气倾向:`neutral`(默认)/ `punchy`(有力)/ `soft`(柔和) |View the complete source on GitHubtext-polisher
When your agent uses it
文本润色打磨:七轮聚焦扫描(清晰度/语气/价值感/证据/具体性/情感/风险) + 去 AI 感改写(砍填充短语、打破公式化结构、主动语态、变化节奏)。 当用户说"帮我改一下"、"润色"、"文案打磨"、"编辑文案"、 "去 AI 感"、"太像 AI 了"、"改自然"、"校对"、"文案优化"时使用。 合并了原 copy-editing(系统化编辑)和 stop-slop(去 AI 感)的能力。
What it loads into context
Frontmatter
165 tokensAlways available to the agent
SKILL.md
1,480 tokensWhen the skill is activated
Reference documents
7,510 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 中文特有规则
- Profile 感知
- 参考资料
Files
EASEL-META.mddoc724 bytesSKILL.mdcore4,664 bytesreferences/checklist.mddoc1,728 bytesreferences/content-refresh.mddoc2,303 bytesreferences/phrases-to-remove.mddoc2,915 bytesreferences/plain-english-alternatives.mddoc8,258 bytesreferences/structures-to-avoid.mddoc5,257 bytesreferences/zh-ai-markers.mddoc7,211 bytes
Read SKILL.md
# 文本润色
> 两刀流打磨:系统化编辑提升质量 + 去 AI 感让文字像人写的。
## 输入
用户提供待编辑的文案文本。可选附加信息:
1. **文案目标** — 品牌认知 / 转化 / 留存
2. **侧重** — 全面打磨 / 只去 AI 感 / 只改语法风格
3. **语言** — 中文 / 英文 / 双语
4. **证据素材** — 可用的数字、评价、案例
## 输出
View the complete source on GitHubtts-voiceover
When your agent uses it
文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。**配了 VOICE_PROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底**(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI 配音”“口播语音”“旁白”“朗读”“把这段文字读出来”“生成语音”“语音合成”时使用。
What it loads into context
Frontmatter
174 tokensAlways available to the agent
SKILL.md
1,743 tokensWhen the skill is activated
Reference documents
221 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 前置:外网代理
- 执行步骤
- 常用中文音色
- 规则
- Profile 感知
Scripts executed separately
../../shared/scripts/audio_mix.py../../shared/scripts/audio_ops.py../../shared/scripts/tts.py../../shared/scripts/video_ops.py
Files
EASEL-META.mddoc692 bytesSKILL.mdcore5,600 bytesSKILL.mdcore5,600 bytesSKILL.mdcore5,600 bytesSKILL.mdcore5,600 bytesSKILL.mdcore5,600 bytes../../shared/scripts/audio_mix.pyruns11,703 bytes../../shared/scripts/audio_ops.pyruns18,370 bytes../../shared/scripts/tts.pyruns21,144 bytes../../shared/scripts/video_ops.pyruns31,775 bytes
Read SKILL.md
# 文字转语音配音(TTS Voiceover)
> **配置检查路径铁律**:先 `cd` 到运行时说明给出的 Easel 项目根,确认当前目录有 `.env` 和 `skills/shared/scripts/`。云 TTS 配置只能用项目根的 `skills/shared/scripts/model_registry.py configured --group voice --env-file .env` 和 `skills/shared/scripts/voice_clone.py check ... --env-file .env` 判断;不得在 workspace 跑共享脚本副本,也不得用 `env` / `printenv` 推断 Key/URL 缺失。
把文案 / 脚本合成为 AI 语音(口播、旁白、朗读)。共享脚本 `skills/shared/scripts/tts.py speak`:
**默认闭源优先**——配了 `.env` 的 `VOICE_PROVIDER`(+ VOICE_API_KEY) 就走闭源云 TTS(voice_clone,
按句合成+拼接+分句 SRT,有情感、像真人),**没 key 才退 edge**(AI 味、生硬,仅兜底)。
`--engine closed/edge` 可强制;闭源音色用 `--voice` 传 voice-id(如 `FunAudioLLM/CosyVoice2-0.5B:alex`),
旁白默认 alex,可用 `VOICE_NARRATOR_VOICE_ID` 覆盖。合成后语音可交 `audio_ops.py`/`video_ops.py` 混音或加到视频。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|View the complete source on GitHubvideo-chapters
When your agent uses it
视频章节 / 时间戳目录:给中长视频自动生成章节划分和时间戳目录,用于 B站分P/YouTube 章节/视频描述区,方便观众跳转、提升完播。当用户说 视频章节、章节目录、时间戳、分章节、视频目录、chapters、B站章节、YouTube 章节、给视频加时间点、看点目录、视频大纲时间戳 时使用。编排复用 asr.py(带时间轴转录),章节划分与命名由 LLM 完成。与 video-to-article 区别:那个把视频改写成成篇图文,本 SKILL 只出章节时间戳目录。
What it loads into context
Frontmatter
167 tokensAlways available to the agent
SKILL.md
1,090 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 平台格式差异
- 规则
- 参考来源
Files
SKILL.mdcore3,578 bytesSKILL.mdcore3,578 bytes
Read SKILL.md
# 视频章节 / 时间戳目录
> 给中长视频生成章节时间戳目录(B站/YouTube 描述区可用)。带时间轴转录走 `asr.py`,
> **章节切分与命名由你(LLM)完成**。
> 出成篇图文见 **video-to-article**;出字幕见 **auto-subtitle**;切成短视频见 **video-highlights**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 视频文件 | 是 | 中长视频(教程/评测/讲座/直播回放;没给就问) |
| 目标平台 | 否 | B站 / YouTube / 通用(影响格式与措辞) |
| 章节数 | 否 | 期望章节数(默认按内容自然划分,通常 5-12 段) |View the complete source on GitHubvideo-editing
When your agent uses it
用自然语言指令剪辑视频:裁剪、拼接、变速、跳切去静音、文字覆盖、横竖比转换、抽帧封面、转 GIF、压缩、加 BGM/水印,基于 ffmpeg。 当用户说"剪视频""裁剪视频""拼接视频""视频变速""去静音""视频加文字""视频转GIF""压缩视频""加BGM/水印"时使用。 本 SKILL 做单条视频的通用剪辑;智能画幅转换用 video-reframe,长视频切片用 clipify/video-highlights,从 0 生成用 ai-video-gen。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
1,747 tokensWhen the skill is activated
Reference documents
388 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 与 clipify 的边界
- 子命令速查
- 常用示例
- 组合操作
- 平台规范(简表)
- 环境要求
- Agent 指令
Scripts executed separately
../../shared/scripts/video_ops.py
Files
EASEL-META.mddoc1,218 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytesSKILL.mdcore5,230 bytes../../shared/scripts/video_ops.pyruns31,775 bytes
Read SKILL.md
# 视频剪辑
用自然语言指令做通用视频处理。所有操作都调用共享脚本
`skills/shared/scripts/video_ops.py`(subprocess 封装 ffmpeg/ffprobe),
**不要现场手拼 ffmpeg 命令**——脚本已处理音画同步、字体路径、编码默认值、
错误捕获等易错点。
> 从项目根目录运行。脚本相对路径:`skills/shared/scripts/video_ops.py`。
> 每个子命令都支持 `-h` 查看参数。
## 输入
- 视频文件路径 + 操作描述(用户没给路径就问)
- 可选:目标平台/比例/时间段等参数View the complete source on GitHubvideo-highlights
When your agent uses it
长视频 / 直播录像高光切片:从一条长视频里找出高光片段,切成多条独立短视频,可选转竖版 9:16 + 加字幕。找点两种方式——音频能量峰值(情绪高涨/欢呼/大声处)或转录后由内容判断挑金句段。当用户说 直播切片、高光切片、长视频切短、录像剪精华、切片、高光时刻、把直播剪成短视频、提取精彩片段、长视频找亮点 时使用。基于 shared/scripts/highlight_cut.py(librosa 能量分析)。与 clipify 区别:clipify 专做英文口播找笑点+动态人脸pan,本 SKILL 更通用(中文/直播皆可)、静态转竖版更稳。
What it loads into context
Frontmatter
204 tokensAlways available to the agent
SKILL.md
1,290 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/highlight_cut.py
Files
SKILL.mdcore4,061 bytesSKILL.mdcore4,061 bytesSKILL.mdcore4,061 bytesSKILL.mdcore4,061 bytes../../shared/scripts/highlight_cut.pyruns11,727 bytes
Read SKILL.md
# 长视频 / 直播录像高光切片
> 从长视频里找高光段 → 切成多条短视频(可转竖版 + 加字幕)。切片执行走
> `skills/shared/scripts/highlight_cut.py`,**不要手拼裁切命令**——脚本已处理精确裁切、
> 前后留白、批量输出、转竖版、清单生成。
> 英文口播找笑点 + 逐段动态人脸 pan 见 **clipify**;只转画幅见 **video-reframe**;
> 字幕翻译见 **subtitle-translate**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 长视频 | 是 | 直播录像 / 长视频(没给就问) |View the complete source on GitHubvideo-intro-outro
When your agent uses it
视频片头 / 片尾:生成带标题、副标题、logo、关注引导的片头卡片和片尾卡片,并拼接到主视频(硬切或淡入淡出转场)。当用户说 片头、片尾、加片头片尾、开场卡片、结尾卡片、标题卡、关注引导页、订阅引导、视频开头加标题、结尾加点赞关注、intro、outro、片头动画 时使用。基于 shared/scripts/intro_outro.py 确定性 ffmpeg 封装。与 poster-hero 区别:poster-hero 出静态封面图,本 SKILL 出可拼接的视频卡片片段。
What it loads into context
Frontmatter
173 tokensAlways available to the agent
SKILL.md
1,389 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/intro_outro.py
Files
SKILL.mdcore4,347 bytesSKILL.mdcore4,347 bytesSKILL.mdcore4,347 bytesSKILL.mdcore4,347 bytes../../shared/scripts/intro_outro.pyruns18,469 bytes
Read SKILL.md
# 视频片头 / 片尾
> 生成片头/片尾**视频卡片**(标题 + 副标题 + logo + 关注引导),并把 片头 + 主视频 + 片尾
> 归一化后拼接成一条成片。全部走 `skills/shared/scripts/intro_outro.py`,**不要手拼
> drawtext / xfade**——脚本已处理字体路径、音画参数一致、转场时间偏移计算。
> 只做"片头/片尾卡片 + 拼接"。静态封面图见 **poster-hero**;通用剪辑见 **video-editing**;
> 完整"一句话→成片"流水线见 **auto-short-video**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 主视频 | 拼接时必填 | 要加片头/片尾的视频(没给就问) |View the complete source on GitHubvideo-production
When your agent uses it
整片视频产线(原片 → 包装级成片):九步流程 + 八件质量门 + 两道人工确认门,产出成片与全套交付物。 当用户说"用视频产线做一支整片""把这条原片做成片""整片包装""走视频产线"时使用。 全程经独立接口驱动:每步可核验、门不过不交付。 与兄弟技能分界:本 SKILL 的**输入是已有的整条原片**,做的是重包装(分场/动效/字幕/调色 + 质量门), 过程重、需两次人工点头;从一句话主题**无中生有**出片用 auto-short-video; 手上只有一组图片用 slideshow-video;把长片**切成多条**短视频用 clipify 或 video-highlights。
What it loads into context
Frontmatter
216 tokensAlways available to the agent
SKILL.md
2,383 tokensWhen the skill is activated
Reference documents
27,902 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 什么时候用
- 快速开始
- 交互循环(重要)
- 命令一览
- 产物
- 红线
- 退出码(机器语义)
Scripts executed separately
scripts/video_pipeline.pyvendor/video-pipeline-sdk/assets/fx/FxAurora.tsxvendor/video-pipeline-sdk/assets/fx/FxBehindMask.tsxvendor/video-pipeline-sdk/assets/fx/FxCardA.tsxvendor/video-pipeline-sdk/assets/fx/FxCardB.tsxvendor/video-pipeline-sdk/assets/fx/FxCards.tsxvendor/video-pipeline-sdk/assets/fx/FxDataCard.tsxvendor/video-pipeline-sdk/assets/fx/FxFireflies.tsxvendor/video-pipeline-sdk/assets/fx/FxKinetic.tsxvendor/video-pipeline-sdk/assets/fx/FxLeak.tsxvendor/video-pipeline-sdk/assets/fx/FxMatch.tsxvendor/video-pipeline-sdk/assets/fx/FxPanel3D.tsxvendor/video-pipeline-sdk/assets/fx/FxShatter.tsxvendor/video-pipeline-sdk/assets/fx/FxStockData.tsxvendor/video-pipeline-sdk/assets/fx/FxStockFireflies.tsxvendor/video-pipeline-sdk/assets/fx/FxStockLeak.tsxvendor/video-pipeline-sdk/assets/fx/FxStockWords.tsxvendor/video-pipeline-sdk/assets/fx/FxSwitch.tsxvendor/video-pipeline-sdk/assets/fx/FxText.tsxvendor/video-pipeline-sdk/assets/fx/FxWords.tsxvendor/video-pipeline-sdk/assets/fx/common.tsxvendor/video-pipeline-sdk/deps/bootstrap.ps1vendor/video-pipeline-sdk/deps/bootstrap.shvendor/video-pipeline-sdk/deps/remotion/package.jsonvendor/video-pipeline-sdk/gates/aggregate.pyvendor/video-pipeline-sdk/gates/check_audio.pyvendor/video-pipeline-sdk/gates/check_dup.pyvendor/video-pipeline-sdk/gates/check_frames.pyvendor/video-pipeline-sdk/gates/check_layout.pyvendor/video-pipeline-sdk/gates/check_match.pyvendor/video-pipeline-sdk/gates/check_meta.pyvendor/video-pipeline-sdk/gates/check_timeline.pyvendor/video-pipeline-sdk/gates/check_transitions.pyvendor/video-pipeline-sdk/gates/selftest.ps1vendor/video-pipeline-sdk/pipeline/ask.pyvendor/video-pipeline-sdk/pipeline/doctor.pyvendor/video-pipeline-sdk/pipeline/run.pyvendor/video-pipeline-sdk/tools/build_scenes_data.pyvendor/video-pipeline-sdk/tools/check_sync.pyvendor/video-pipeline-sdk/tools/clean_remotion_temp.ps1vendor/video-pipeline-sdk/tools/fetch_mixkit.pyvendor/video-pipeline-sdk/tools/fetch_mixkit2.pyvendor/video-pipeline-sdk/tools/fetch_mixkit3.pyvendor/video-pipeline-sdk/tools/fetch_sfx.pyvendor/video-pipeline-sdk/tools/fetch_stock.pyvendor/video-pipeline-sdk/tools/fetch_stock2.pyvendor/video-pipeline-sdk/tools/fetch_stock3.pyvendor/video-pipeline-sdk/tools/fetch_whisper_model.pyvendor/video-pipeline-sdk/tools/fx5_frames.pyvendor/video-pipeline-sdk/tools/grade_demo.pyvendor/video-pipeline-sdk/tools/make_masks.pyvendor/video-pipeline-sdk/tools/make_review_pack.pyvendor/video-pipeline-sdk/tools/parse_mixkit.pyvendor/video-pipeline-sdk/tools/parse_mixkit_sfx.pyvendor/video-pipeline-sdk/tools/render_slideshow.pyvendor/video-pipeline-sdk/tools/rvm_matte.pyvendor/video-pipeline-sdk/tools/see.pyvendor/video-pipeline-sdk/tools/srt_to_transcript.pyvendor/video-pipeline-sdk/tools/transcode_material.pyvendor/video-pipeline-sdk/tools/transcode_stock.pyvendor/video-pipeline-sdk/tools/transcribe.pyvendor/video-pipeline-sdk/tools/transcribe_api.py
Files
EASEL-META.mddoc717 bytesSKILL.mdcore7,943 bytesSKILL.mdcore7,943 bytesSKILL.mdcore7,943 bytesSKILL.mdcore7,943 bytesSKILL.mdcore7,943 bytesscripts/video_pipeline.pyruns14,385 bytesvendor/VENDOR.mddoc4,108 bytesvendor/video-pipeline-sdk/.gitattributesasset12 bytesvendor/video-pipeline-sdk/.gitignoreasset307 bytesvendor/video-pipeline-sdk/ATTRIBUTIONS.mddoc1,424 bytesvendor/video-pipeline-sdk/CHANGELOG.mddoc6,380 bytesvendor/video-pipeline-sdk/INTERFACE.mddoc3,597 bytesvendor/video-pipeline-sdk/LICENSEasset1,067 bytesvendor/video-pipeline-sdk/PITFALLS.mddoc8,608 bytesvendor/video-pipeline-sdk/README.mddoc4,445 bytesvendor/video-pipeline-sdk/VERSIONasset6 bytesvendor/video-pipeline-sdk/assets/cards/index.htmlasset7,286 bytesvendor/video-pipeline-sdk/assets/fonts/MaShanZheng-Regular.ttfasset5,858,048 bytesvendor/video-pipeline-sdk/assets/fonts/OFL.txtdoc4,397 bytesvendor/video-pipeline-sdk/assets/fonts/README.mddoc519 bytesvendor/video-pipeline-sdk/assets/fx/FxAurora.tsxruns3,479 bytesvendor/video-pipeline-sdk/assets/fx/FxBehindMask.tsxruns3,484 bytesvendor/video-pipeline-sdk/assets/fx/FxCardA.tsxruns8,324 bytesvendor/video-pipeline-sdk/assets/fx/FxCardB.tsxruns15,790 bytesvendor/video-pipeline-sdk/assets/fx/FxCards.tsxruns4,647 bytesvendor/video-pipeline-sdk/assets/fx/FxDataCard.tsxruns4,856 bytesvendor/video-pipeline-sdk/assets/fx/FxFireflies.tsxruns2,649 bytesvendor/video-pipeline-sdk/assets/fx/FxKinetic.tsxruns5,227 bytesvendor/video-pipeline-sdk/assets/fx/FxLeak.tsxruns1,226 bytesvendor/video-pipeline-sdk/assets/fx/FxMatch.tsxruns5,328 bytesvendor/video-pipeline-sdk/assets/fx/FxPanel3D.tsxruns5,142 bytesvendor/video-pipeline-sdk/assets/fx/FxShatter.tsxruns3,443 bytesvendor/video-pipeline-sdk/assets/fx/FxStockData.tsxruns4,853 bytesvendor/video-pipeline-sdk/assets/fx/FxStockFireflies.tsxruns2,523 bytesvendor/video-pipeline-sdk/assets/fx/FxStockLeak.tsxruns1,212 bytesvendor/video-pipeline-sdk/assets/fx/FxStockWords.tsxruns2,326 bytesvendor/video-pipeline-sdk/assets/fx/FxSwitch.tsxruns2,553 bytesvendor/video-pipeline-sdk/assets/fx/FxText.tsxruns3,219 bytesvendor/video-pipeline-sdk/assets/fx/FxWords.tsxruns2,108 bytesvendor/video-pipeline-sdk/assets/fx/common.tsxruns1,741 bytesvendor/video-pipeline-sdk/assets/luts/README.mddoc566 bytesvendor/video-pipeline-sdk/assets/sfx/README.mddoc689 bytesvendor/video-pipeline-sdk/assets/sfx/SOURCES-mixkit.jsonasset2,493 bytesvendor/video-pipeline-sdk/assets/stock-ledger.jsonasset3,051 bytesvendor/video-pipeline-sdk/deps/DEPS.mddoc1,664 bytesvendor/video-pipeline-sdk/deps/bootstrap.ps1runs1,576 bytesvendor/video-pipeline-sdk/deps/bootstrap.shruns2,155 bytesvendor/video-pipeline-sdk/deps/remotion/package-lock.jsonasset190,043 bytesvendor/video-pipeline-sdk/deps/remotion/package.jsonruns698 bytesvendor/video-pipeline-sdk/gates/aggregate.pyruns5,987 bytesvendor/video-pipeline-sdk/gates/check_audio.pyruns1,445 bytesvendor/video-pipeline-sdk/gates/check_dup.pyruns3,327 bytesvendor/video-pipeline-sdk/gates/check_frames.pyruns4,001 bytesvendor/video-pipeline-sdk/gates/check_layout.pyruns2,527 bytesvendor/video-pipeline-sdk/gates/check_match.pyruns4,081 bytesvendor/video-pipeline-sdk/gates/check_meta.pyruns2,101 bytesvendor/video-pipeline-sdk/gates/check_timeline.pyruns2,703 bytesvendor/video-pipeline-sdk/gates/check_transitions.pyruns3,063 bytesvendor/video-pipeline-sdk/gates/default-gates.jsonasset1,908 bytesvendor/video-pipeline-sdk/gates/fixtures/checks.jsonasset404 bytesvendor/video-pipeline-sdk/gates/fixtures/layout_bad.jsonasset259 bytesvendor/video-pipeline-sdk/gates/fixtures/layout_ok.jsonasset584 bytesvendor/video-pipeline-sdk/gates/fixtures/match.jsonasset994 bytesvendor/video-pipeline-sdk/gates/fixtures/proj.jsonasset431 bytesvendor/video-pipeline-sdk/gates/fixtures/ref.jsonasset136 bytesvendor/video-pipeline-sdk/gates/fixtures/scenes_bad.jsonasset447 bytesvendor/video-pipeline-sdk/gates/fixtures/scenes_clean.jsonasset584 bytesvendor/video-pipeline-sdk/gates/fixtures/timeline_bad.jsonasset136 bytesvendor/video-pipeline-sdk/gates/fixtures/timeline_ok.jsonasset137 bytesvendor/video-pipeline-sdk/gates/selftest.ps1runs2,488 bytesvendor/video-pipeline-sdk/pipeline/RUNBOOK.mddoc5,164 bytesvendor/video-pipeline-sdk/pipeline/ask.pyruns5,157 bytesvendor/video-pipeline-sdk/pipeline/doctor.pyruns2,003 bytesvendor/video-pipeline-sdk/pipeline/run.pyruns31,126 bytesvendor/video-pipeline-sdk/references/design-baseline.mddoc2,898 bytesvendor/video-pipeline-sdk/references/fx-usage.mddoc5,843 bytesvendor/video-pipeline-sdk/references/quality-mechanisms.mddoc10,203 bytesvendor/video-pipeline-sdk/references/remotion-pipeline-SNAPSHOT.mddoc27,432 bytesvendor/video-pipeline-sdk/tools/README.mddoc1,849 bytesvendor/video-pipeline-sdk/tools/build_scenes_data.pyruns1,980 bytesvendor/video-pipeline-sdk/tools/check_sync.pyruns3,358 bytesvendor/video-pipeline-sdk/tools/clean_remotion_temp.ps1runs1,126 bytesvendor/video-pipeline-sdk/tools/fetch_mixkit.pyruns909 bytesvendor/video-pipeline-sdk/tools/fetch_mixkit2.pyruns1,023 bytesvendor/video-pipeline-sdk/tools/fetch_mixkit3.pyruns934 bytesvendor/video-pipeline-sdk/tools/fetch_sfx.pyruns2,144 bytesvendor/video-pipeline-sdk/tools/fetch_stock.pyruns1,983 bytesvendor/video-pipeline-sdk/tools/fetch_stock2.pyruns2,829 bytesvendor/video-pipeline-sdk/tools/fetch_stock3.pyruns3,368 bytesvendor/video-pipeline-sdk/tools/fetch_whisper_model.pyruns1,663 bytesvendor/video-pipeline-sdk/tools/fx5_frames.pyruns1,525 bytesvendor/video-pipeline-sdk/tools/grade_demo.pyruns3,048 bytesvendor/video-pipeline-sdk/tools/make_masks.pyruns1,330 bytesvendor/video-pipeline-sdk/tools/make_review_pack.pyruns3,453 bytesvendor/video-pipeline-sdk/tools/parse_mixkit.pyruns742 bytesvendor/video-pipeline-sdk/tools/parse_mixkit_sfx.pyruns667 bytesvendor/video-pipeline-sdk/tools/render_slideshow.pyruns15,703 bytesvendor/video-pipeline-sdk/tools/rvm_matte.pyruns2,360 bytesvendor/video-pipeline-sdk/tools/see.pyruns7,601 bytesvendor/video-pipeline-sdk/tools/srt_to_transcript.pyruns3,759 bytesvendor/video-pipeline-sdk/tools/transcode_material.pyruns2,860 bytesvendor/video-pipeline-sdk/tools/transcode_stock.pyruns1,362 bytesvendor/video-pipeline-sdk/tools/transcribe.pyruns2,301 bytesvendor/video-pipeline-sdk/tools/transcribe_api.pyruns7,121 bytes
Read SKILL.md
# 整片视频产线(video-production)
> 把一支原片(口播 / 独白)做成**包装级成片**:摸底 → 转录 → 分场 → 设计表 → 脚手架 → 写码
> → 验证 → 预览 → 渲染 → 交付。质量不靠自觉,靠可执行的门。
>
> 产线 SDK 已**内置**在本技能 `vendor/video-pipeline-sdk/`(随 Easel 进仓、可复现、可在其基础上改)。
> 首次使用先跑一次依赖还原:`bash <ROOT>/skills/builtin/video-production/vendor/video-pipeline-sdk/deps/bootstrap.sh`
> (装 Remotion 渲染引擎,`--ignore-scripts`;node_modules 不入库)。
## 什么时候用
用户说「用视频产线做一支整片 / 把这段素材做成片 / 整片包装」时使用。
### 开工前检查(缺源片不要动工)View the complete source on GitHubvideo-reframe
When your agent uses it
智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
1,122 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/reframe.py../../shared/scripts/reframe.py../../shared/scripts/reframe.py../../shared/scripts/reframe.py../../shared/scripts/reframe.py
Files
SKILL.mdcore3,427 bytesSKILL.mdcore3,427 bytes../../shared/scripts/reframe.pyruns10,736 bytes../../shared/scripts/reframe.pyruns10,736 bytes../../shared/scripts/reframe.pyruns10,736 bytes../../shared/scripts/reframe.pyruns10,736 bytes../../shared/scripts/reframe.pyruns10,736 bytes
Read SKILL.md
# 视频画幅智能转换(竖横互转)
> 把视频转到目标宽高比,三种策略可选。全部走 `skills/shared/scripts/reframe.py`,
> **不要手拼 crop/overlay 滤镜**——脚本已算好裁切尺寸、焦点边界、偶数对齐、音轨保留。
| 模式 | 效果 | 适用 |
|------|------|------|
| `blur`(默认) | 原画完整居中 + 放大模糊的自身作背景,**无黑边** | 横转竖最常用,画面不丢内容 |
| `crop` | 按焦点位置裁到目标比例,**无黑边但裁边缘** | 主体明确、想铺满屏幕 |
| `smart` | cv2 检测人脸 → 以人脸中位位置为焦点裁切 | 口播/人物视频横转竖 |
> 需要逐镜头动态追踪人脸做 pan 见 **clipify**;只想加黑边/居中裁见 **video-editing** `aspect`。
## 输入View the complete source on GitHubvideo-script
When your agent uses it
生成视频脚本,覆盖短视频(7-60秒)到中长视频(1-30分钟)全时长。 短视频:Hook 变体评分、分秒计时、字幕文案、封面方案。 中长视频:留存率优化、节奏中断点、前向钩子、章节结构。 适用于抖音、视频号、小红书视频、B站、YouTube 等平台。 当用户说"视频脚本"、"短视频脚本"、"抖音脚本"、"B站脚本"、 "视频号脚本"、"竖版视频"、"Reel 脚本"、"写个视频文案"时使用。 和 video-strategy 的区别:video-strategy 做视频内容规划和系列策划, video-script 写具体某一条视频的脚本。
What it loads into context
Frontmatter
213 tokensAlways available to the agent
SKILL.md
2,118 tokensWhen the skill is activated
Reference documents
2,133 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 模式自动判定
- 短视频模式(≤60 秒)
- 中长视频模式(>60 秒)
- 输出格式
- 质量检查
- Profile 感知
Scripts executed separately
../../shared/scripts/wordcount.py../../shared/scripts/wordcount.py
Files
EASEL-META.mddoc574 bytesSKILL.mdcore6,342 bytesreferences/retention-scripting-guide.mddoc8,041 bytes../../shared/scripts/wordcount.pyruns7,513 bytes../../shared/scripts/wordcount.pyruns7,513 bytes
Read SKILL.md
# 视频脚本生成
> 根据目标时长自动适配短视频或中长视频模式,生成留存率优化的结构化脚本。
## 输入
| 字段 | 必填 | 说明 | 示例 |
|------|------|------|------|
| 主题 | 是 | 视频主题 | "为什么 Rust 正在替代 C++" |
| 目标时长 | 是 | 秒数或分钟数 | 30 秒 / 10 分钟 |
| 平台 | 否 | 抖音/视频号/小红书/B站(默认按时长推断)| 抖音 |
| 内容类型 | 否 | 科普/教程/评测/种草/解说/杂谈 | 科普 |
| 核心要点 | 是 | 要覆盖的关键信息 | 内存安全、性能… |
| 调性 | 否 | 专业/轻松/犀利/对话感(默认:对话感)| 轻松 |View the complete source on GitHubvideo-strategy
When your agent uses it
视频制作策略与工具选型:AI 视频生成模型对比、视频脚本结构设计、制作流程规划,覆盖产品演示/解说/社媒短视频场景。 当用户说"视频怎么做""视频选型""用什么工具做视频""视频制作流程""视频策略""视频系列规划"时使用。 和 video-script 的区别:video-strategy 做内容规划与工具选型,video-script 写具体某条视频的脚本。
What it loads into context
Frontmatter
116 tokensAlways available to the agent
SKILL.md
2,266 tokensWhen the skill is activated
Reference documents
3,167 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出
- 执行步骤
- 常见错误
- Profile 感知
Files
EASEL-META.mddoc482 bytesSKILL.mdcore7,102 bytesreferences/ai-video-prompting.mddoc5,258 bytesreferences/edit-anatomy.mddoc7,530 bytes
Read SKILL.md
# 视频制作策略
视频制作策略与工具选型。覆盖 AI 视频生成模型对比、程序化视频框架选择、视频脚本结构设计、制作流程规划。
> 本技能负责**策略规划和工具选型**。已部署的 `video-editing` 技能可执行实际的 ffmpeg 剪辑操作(裁剪、跳切、文字覆盖、变速等)。
## 输入
- 视频目标(产品演示 / 解说 / 社媒短视频 / 广告 / 教程)
- 目标平台(抖音 / B站 / 快手 / 视频号 / YouTube / Instagram)
- 现有素材(截图、录屏、脚本、品牌素材)
- 预算和技术栈约束
## 输出View the complete source on GitHubvideo-to-article
When your agent uses it
把口播、讲座、直播或 Vlog 转录并改写成小红书笔记、公众号文章或知乎内容,同时抽帧配图。当用户说“视频转图文/文章/笔记、视频扒文案、口播转文章、视频内容复用”时使用。只生成字幕文件用 auto-subtitle;翻译已有字幕用 subtitle-translate。
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
1,276 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- Profile 感知
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/asr.py
Files
SKILL.mdcore4,233 bytesSKILL.mdcore4,233 bytesSKILL.mdcore4,233 bytes../../shared/scripts/asr.pyruns20,606 bytes
Read SKILL.md
# 视频转图文(视频 → 笔记/文章)
> 把视频复用成图文内容:转录 → 结构化成篇 → 抽帧配图。转录与抽帧走确定性脚本
> (`asr.py` / `video_ops.py`),**结构化成文由你(LLM)完成**——这是本 SKILL 的核心价值。
> 只出字幕文件见 **auto-subtitle**;翻译字幕见 **subtitle-translate**;
> 出成套小红书卡片见 **xhs-note-creator**;纯文案润色见 **text-polisher**。
## 输入
| 字段 | 必填 | 说明 |
|------|------|------|
| 视频文件 | 是 | 口播/讲座/直播/Vlog(没给就问) |
| 目标形态 | 否 | 小红书笔记(默认)/ 公众号文章 / 知乎回答 / 通用图文 |View the complete source on GitHubvoice-clone
When your agent uses it
上传本人语音样本克隆专属音色,再用它合成口播、旁白或带货语音。当用户说“声音克隆、克隆/复刻我的声音、用我的声音配音、定制专属音色”时使用,需要用户自备云端 provider 凭证。使用公共现成音色时改用 tts-voiceover。
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
1,306 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置:配置 API key
- 输入
- 输出(`outputs/主题名/`)
- 执行步骤
- 合规红线(必须遵守)
- 规则
- 参考来源
Scripts executed separately
../../shared/scripts/voice_clone.py
Files
SKILL.mdcore4,388 bytesSKILL.mdcore4,388 bytesSKILL.mdcore4,388 bytesSKILL.mdcore4,388 bytes../../shared/scripts/voice_clone.pyruns29,055 bytes
Read SKILL.md
# 声音克隆配音
> 用本人语音样本克隆音色,再合成任意文案。走云端 provider(用户自备 key),本地无需 GPU。
> 全部走 `skills/shared/scripts/voice_clone.py`。
> 不想克隆、用现成公共音色见 **tts-voiceover**(edge-tts,免费无需 key);
> AI 生成音乐/BGM 见 **ai-music**;合成后与 BGM 混音见 **audio-mix**。
## 前置:配置 API key
> **配置检查路径铁律**:先 `cd` 到运行时说明给出的 Easel 项目根,确认当前目录有 `.env` 和 `skills/shared/scripts/`,再运行注册表、`check`、`enroll` 或 `clone`。不得改用 workspace 的共享脚本副本,也不得以 `env` / `printenv` 没显示变量为由判断 `VOICE_BASE_URL`/Key 缺失。`check` 支持时显式传 `--env-file .env`。
选 provider 并在 `.env` 填 key,再 `check` 离线校验:
```bashView the complete source on GitHubxhs-note-creator
When your agent uses it
小红书内容总入口:生成标题、正文、caption、hashtags,以及 3-9 张图文卡片或短视频分镜,覆盖素材分析、卖点评估、去 AI 味和质检。 当用户说“写/做小红书笔记、小红书图文/种草/文案、出一套卡片、小红书视频”时使用。 整套笔记用本 SKILL;仅渲染卡片用 card-xiaohongshu;其他平台的通用文案用 social-content。
What it loads into context
Frontmatter
136 tokensAlways available to the agent
SKILL.md
2,491 tokensWhen the skill is activated
Reference documents
15,982 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心理念
- 工作流
- 不要做的事
- Profile 感知
- 工具依赖
- 参考资料
Scripts executed separately
scripts/analyze_material.pyscripts/collage_3x4.pyscripts/crop_watermark.pyscripts/normalize_slug.pyscripts/text_on_image.pyscripts/validate_meta.py
Files
../card-design/SKILL.mddoc4,968 bytes../card-xiaohongshu/SKILL.mddoc5,147 bytes../text-polisher/references/phrases-to-remove.mddoc2,915 bytes../text-polisher/references/structures-to-avoid.mddoc5,257 bytes../text-polisher/references/zh-ai-markers.mddoc7,211 bytesEASEL-META.mddoc554 bytesSKILL.mdcore8,167 bytesSKILL.mdcore8,167 bytesSKILL.mdcore8,167 bytesSKILL.mdcore8,167 bytesreferences/image-sourcing.mddoc3,870 bytesreferences/material-intake.mddoc5,513 bytesreferences/meta-schema.mddoc4,703 bytesreferences/output-spec.mddoc2,371 bytesreferences/reference-search.mddoc2,972 bytesreferences/xiaohongshu-viral-methodology.mddoc7,514 bytesscripts/analyze_material.pyruns4,990 bytesscripts/collage_3x4.pyruns3,460 bytesscripts/crop_watermark.pyruns1,653 bytesscripts/normalize_slug.pyruns2,156 bytesscripts/text_on_image.pyruns5,134 bytesscripts/validate_meta.pyruns5,974 bytes
Read SKILL.md
# 小红书笔记创作
把一个主题 + 可选素材,生成**图文卡片组**或**短视频分镜脚本**,按规范输出到 `outputs/`。
## 核心理念
小红书读者看的不是长文,是**卡片组**或**短视频**。长文原稿只是中间产物。
- **图文帖**:3-9 张 3:4 竖版卡片(cover + content × N + ending),每张 ≤80 字
- **视频帖**:15-90 秒竖屏视频分镜 + 封面卡
### 爆款 5 大原则
1. **真实素材优先**:截图、对比图 > 纯 AI 生图View the complete source on GitHubSkills included
- ai-image-gen
- ai-music
- ai-video-gen
- asset-manager
- audio-denoise
- audio-editing
- audio-mix
- audio-visualizer
- auto-short-video
- auto-subtitle
- batch-process
- beat-sync-video
- card-design
- card-quote
- card-xiaohongshu
- chart-visualization
- clipify
- comparison-card
- copywriting
- data-report
- doc-convert
- ecom-details-image
- green-screen
- gzh-design
- image-editing
- image-enhance
- infographic
- meme-generator
- mindmap
- multi-voice-dubbing
- novel-writer
- paper-explainer
- post-formatter
- poster-hero
- remove-bg
- roi-calculator
- short-drama
- skill-account-diagnosis
- skill-algorithm-updates
- skill-article-outline
- skill-audience-profiler
- skill-bilibili-upload
- skill-brand-onboarding
- skill-campaign-planner
- skill-carousel-planner
- skill-channels-upload
- skill-collab-proposal
- skill-comment-insights
- skill-community-ops
- skill-competitor-analysis
- skill-content-calendar
- skill-content-calendar-log
- skill-content-gap-analysis
- skill-content-matrix
- skill-content-postmortem
- skill-content-repurposing
- skill-content-strategy
- skill-cross-platform-diff
- skill-cross-platform-publish
- skill-data-tracker
- skill-douyin-upload
- skill-event-calendar
- skill-hook-generator
- skill-kuaishou-upload
- skill-livestream
- skill-my-account
- skill-news-intelligence
- skill-persona-check
- skill-positioning-analysis
- skill-post-scorer
- skill-profile-builder
- skill-profile-manager
- skill-publish-analytics
- skill-publish-checklist
- skill-publish-log
- skill-publish-notify
- skill-publish-scheduler
- skill-quality-gate
- skill-record-card
- skill-risk-scanner
- skill-rss-aggregator
- skill-seo-quality
- skill-short-link
- skill-social-performance-review
- skill-strategy-advisor
- skill-topic-evaluator
- skill-trend-rider
- skill-trending-topics
- skill-ugc-discovery
- skill-voice-builder
- skill-wechat-publisher
- redbook
- skill-xhs-comment-reply
- skill-xhs-publisher
- skill-zhihu-answer
- skill-zhihu-publisher
- slideshow-video
- social-content
- style-transfer
- subtitle-translate
- template-library
- text-condenser
- text-polisher
- tts-voiceover
- video-chapters
- video-editing
- video-highlights
- video-intro-outro
- video-production
- video-reframe
- video-script
- video-strategy
- video-to-article
- voice-clone
- xhs-note-creator
Repository facts
- License
- Apache-2.0
- Created
- Aug 28, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 736
- Open issues
- 11
- Project activity
- Active
Rank over the last 12 weeks
Now #298 · best #286 · up 19 in 30 days
- #295 on Nov 1
- #294 on Nov 2
- #297 on Nov 3
- #296 on Nov 4
- #297 on Nov 5
- #298 since Nov 6
61 earlier periods
- #921 on Aug 23
- #926 on Aug 27
- #959 on Aug 28
- #877 on Aug 29
- #881 on Aug 30
- #927 on Aug 31
- #960 on Sep 1
- #917 from Sep 2 to Sep 3
- #879 on Sep 4
- #853 on Sep 5
- #887 on Sep 6
- #911 on Sep 7
- #893 on Sep 8
- #805 on Sep 9
- #771 on Sep 10
- #717 on Sep 11
- #670 on Sep 12
- #622 on Sep 13
- #620 on Sep 14
- #605 on Sep 15
- #599 on Sep 16
- #586 on Sep 17
- #589 on Sep 18
- #566 on Sep 19
- #572 on Sep 20
- #569 on Sep 21
- #574 on Sep 22
- #571 on Sep 23
- #549 on Sep 24
- #507 on Sep 25
- #488 on Sep 26
- #451 on Sep 27
- #417 on Sep 28
- #395 on Sep 29
- #378 on Sep 30
- #360 on Oct 1
- #353 on Oct 2
- #336 on Oct 3
- #325 on Oct 4
- #330 on Oct 5
- #328 on Oct 6
- #320 on Oct 7
- #317 on Oct 8
- #320 on Oct 9
- #311 on Oct 10
- #305 on Oct 11
- #310 on Oct 12
- #304 on Oct 13
- #301 from Oct 14 to Oct 15
- #294 on Oct 16
- #290 on Oct 17
- #288 on Oct 18
- #292 on Oct 19
- #289 on Oct 20
- #291 on Oct 21
- #289 on Oct 22
- #286 on Oct 23
- #288 on Oct 24
- #292 on Oct 25
- #295 on Oct 28
- #294 from Oct 29 to Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 235 notes
skills/builtin/ai-image-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-image-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-image-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-image-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-music/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-video-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-video-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/ai-video-gen/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/builtin/asset-manager/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 6 dangerous shell commandsin 5 files: video-production/vendor/video-pipeline-sdk/references/quality-mechanisms.md:1 asset-manager/scripts/assets.py:347 skill-douyin-upload/SKILL.md:44 and 2 more
- 3,235 network referencesin 174 files: video-production/vendor/video-pipeline-sdk/deps/remotion/package-lock.json:29 skill-xhs-analyzer/package-lock.json:42 skills/shared/scripts/web_publisher.py:53 and 171 more
- 20 obfuscation signalsin 6 files: skill-livestream/references/output-template.md:22 skills/shared/scripts/voice_clone.py:455 ecom-details-image/scripts/generate_image.py:277 and 3 more
- No instruction overrides
- 233 executable scriptsin 181 files: skills/shared/scripts/wordcount.py:1 skills/shared/scripts/calendar_ops.py:1 skills/shared/scripts/persona_gate.py:1 and 178 more
- 438 references to secretsin 83 files: skills/shared/scripts/voice_clone.py:21 ecom-details-image/scripts/generate_image.py:9 paper-explainer/scripts/paper_ingest.py:40 and 80 more
- No requests to vote in Hot
Show all 3,932 signals by file
skills/builtin/ai-image-gen/EASEL-META.md
skills/builtin/ai-image-gen/SKILL.md
- Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 31
[Credential-related source omitted] - Network accessline 35
- **OpenAI 兼容(同步)**:`base_url` 不含 apimart。走 `/images/generations`、`/images/edits`、`/images/variations`。 示例:`IMG_BASE_URL=https://api.openai.com/v1`,`IMG_MODEL=gpt-image-1`。 - Network accessline 35
- **OpenAI 兼容(同步)**:`base_url` 不含 apimart。走 `/images/generations`、`/images/edits`、`/images/variations`。 示例:`IMG_BASE_URL=https://api.openai.com/v1`,`IMG_MODEL=gpt-image-1`。 - Network accessline 36
示例:`IMG_BASE_URL=https://api.openai.com/v1`,`IMG_MODEL=gpt-image-1`。 - Network accessline 36
示例:`IMG_BASE_URL=https://api.openai.com/v1`,`IMG_MODEL=gpt-image-1`。 - Network accessline 38
示例:`IMG_BASE_URL=https://api.apimart.ai/v1`。 - Network accessline 38
示例:`IMG_BASE_URL=https://api.apimart.ai/v1`。
skills/builtin/ai-music/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/ai_music.py`,纯标准库 urllib 实现异步提交→轮询→下载,无第三方依赖 | | **参考项目** | 阿里云 DashScope / 百炼(Model Studio)—— https://help.aliyun.com/zh/model-studio/ (异步任务规范:`X-DashScope-Async: enable - Network accessline 8
| **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/ai_music.py`,纯标准库 urllib 实现异步提交→轮询→下载,无第三方依赖 | | **参考项目** | 阿里云 DashScope / 百炼(Model Studio)—— https://help.aliyun.com/zh/model-studio/ (异步任务规范:`X-DashScope-Async: enable` 提交 → `output.tas - Network accessline 9
| **参考项目** | 阿里云 DashScope / 百炼(Model Studio)—— https://help.aliyun.com/zh/model-studio/ (异步任务规范:`X-DashScope-Async: enable` 提交 → `output.task_id` → 轮询 `GET /api/v1/tasks/{task_id}`,状态 PENDING/RUNNING/SUCCEEDED/FAILED);Suno 类第三方 API 通用格式(PO
skills/builtin/ai-music/SKILL.md
- Network accessline 47
[Credential-related source omitted] - Network accessline 47
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Network accessline 49
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/api/v1 # 可选 - Network accessline 49
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/api/v1 # 可选 - Network accessline 55
[Credential-related source omitted] - Network accessline 55
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Network accessline 56
MUSIC_BASE_URL=https://api.example.com/v1 # 必填,你的 API 根地址 - Network accessline 56
MUSIC_BASE_URL=https://api.example.com/v1 # 必填,你的 API 根地址
skills/builtin/ai-video-gen/SKILL.md
- Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted]
skills/builtin/asset-manager/EASEL-META.md
- Network accessline 25
| 参考来源 | 借鉴点(仅设计思路) | |----------|--------| | [unopim/unopim-digital-asset-management](https://github.com/unopim/unopim-digital-asset-management) | 目录树结构管理、元数据标签系统 | - Network accessline 26
|----------|--------| | [unopim/unopim-digital-asset-management](https://github.com/unopim/unopim-digital-asset-management) | 目录树结构管理、元数据标签系统 | | [biagiomaf/smart-comfyui-gallery](https://github.com/biagiomaf/smart-comfyui-gallery) | 本地优先索引 - Network accessline 27
| [unopim/unopim-digital-asset-management](https://github.com/unopim/unopim-digital-asset-management) | 目录树结构管理、元数据标签系统 | - Network accessline 28
| [biagiomaf/smart-comfyui-gallery](https://github.com/biagiomaf/smart-comfyui-gallery) | 本地优先索引、按关键词/标签搜索 |
skills/builtin/asset-manager/scripts/assets.py
skills/builtin/audio-denoise/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研 | | **参考项目** | FFmpeg afftdn / arnndn 滤镜(核心降噪滤镜链);xiph/rnnoise — https://github.com/xiph/rnnoise(RNN 噪声抑制);GregorR/rnnoise-models — https://github.com/GregorR/rnnoise-models(预训练模型,实际引用 sh.rnnn);timsai - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | FFmpeg afftdn / arnndn 滤镜(核心降噪滤镜链);xiph/rnnoise — https://github.com/xiph/rnnoise(RNN 噪声抑制);GregorR/rnnoise-models — https://github.com/GregorR/rnnoise-models(预训练模型,实际引用 sh.rnnn);timsainb/noisereduce — h - Network accessline 9
| **参考项目** | FFmpeg afftdn / arnndn 滤镜(核心降噪滤镜链);xiph/rnnoise — https://github.com/xiph/rnnoise(RNN 噪声抑制);GregorR/rnnoise-models — https://github.com/GregorR/rnnoise-models(预训练模型,实际引用 sh.rnnn);timsainb/noisereduce — https://github.com/timsai
skills/builtin/audio-denoise/SKILL.md
- Network accessline 73
mkdir -p skills/shared/scripts/models curl -L https://github.com/GregorR/rnnoise-models/raw/master/somnolent-hogwash-2018-09-01/sh.rnnn \ - Network accessline 74
curl -L https://github.com/GregorR/rnnoise-models/raw/master/somnolent-hogwash-2018-09-01/sh.rnnn \ - Network accessline 113
- FFmpeg afftdn/arnndn/anlmdn 滤镜文档 - [xiph/rnnoise](https://github.com/xiph/rnnoise) — RNN 噪声抑制 - Network accessline 114
- [xiph/rnnoise](https://github.com/xiph/rnnoise) — RNN 噪声抑制 - Network accessline 115
- [GregorR/rnnoise-models](https://github.com/GregorR/rnnoise-models) — 预训练模型 - Network accessline 116
- [timsainb/noisereduce](https://github.com/timsainb/noisereduce) — Python 频谱门控(备选方案)
skills/builtin/audio-editing/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/audio_ops.py`,通过 subprocess 调 ffmpeg/ffprobe | | **参考项目** | FFmpeg — https://ffmpeg.org(trim/loudnorm/afade/atempo/concat 等滤镜与 ffprobe 探测);EBU R128 loudnorm 响度标准(社媒 -14 L - Network accessline 8
| **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/audio_ops.py`,通过 subprocess 调 ffmpeg/ffprobe | | **参考项目** | FFmpeg — https://ffmpeg.org(trim/loudnorm/afade/atempo/concat 等滤镜与 ffprobe 探测);EBU R128 loudnorm 响度标准(社媒 -14 LUFS) | | **许可** | - Network accessline 9
| **参考项目** | FFmpeg — https://ffmpeg.org(trim/loudnorm/afade/atempo/concat 等滤镜与 ffprobe 探测);EBU R128 loudnorm 响度标准(社媒 -14 LUFS) |
skills/builtin/auto-short-video/scripts/assemble.py
skills/builtin/auto-subtitle/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研 | | **参考项目** | SYSTRAN/faster-whisper — https://github.com/SYSTRAN/faster-whisper(CTranslate2 加速的 Whisper 推理,实际引用);openai/whisper — https://github.com/openai/whisper(原始 Whisper 模型与 ASR 方法);FFmpeg subt - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | SYSTRAN/faster-whisper — https://github.com/SYSTRAN/faster-whisper(CTranslate2 加速的 Whisper 推理,实际引用);openai/whisper — https://github.com/openai/whisper(原始 Whisper 模型与 ASR 方法);FFmpeg subtitles / ass 滤镜(字幕烧 - Network accessline 9
| **参考项目** | SYSTRAN/faster-whisper — https://github.com/SYSTRAN/faster-whisper(CTranslate2 加速的 Whisper 推理,实际引用);openai/whisper — https://github.com/openai/whisper(原始 Whisper 模型与 ASR 方法);FFmpeg subtitles / ass 滤镜(字幕烧录);edge-tts — https://gi
skills/builtin/auto-subtitle/SKILL.md
- Network accessline 99
- [SYSTRAN/faster-whisper](https://github.com/SYSTRAN/faster-whisper) — CTranslate2 加速的 Whisper 推理 - Network accessline 99
- [SYSTRAN/faster-whisper](https://github.com/SYSTRAN/faster-whisper) — CTranslate2 加速的 Whisper 推理 - Network accessline 100
- [openai/whisper](https://github.com/openai/whisper) — 原始 Whisper 模型与 ASR 方法 - Network accessline 100
- [openai/whisper](https://github.com/openai/whisper) — 原始 Whisper 模型与 ASR 方法
skills/builtin/card-design/EASEL-META.md
- Network accessline 6
| **所属层** | produce(设计系统参考,被其它 card 类 SKILL 生成前引用;也可单独调用做审美指导) | | **来源类型** | 自研(规则再提炼自开源方案 + 去 AI 味研究,未抄任何文件) | | **参考项目** | [op7418/guizang-social-card-skill](https://github.com/op7418/guizang-social-card-skill)(**AGPL-3.0**,仅借鉴其设计立场/锁色/「 - Network accessline 7
| **来源类型** | 自研(规则再提炼自开源方案 + 去 AI 味研究,未抄任何文件) | | **参考项目** | [op7418/guizang-social-card-skill](https://github.com/op7418/guizang-social-card-skill)(**AGPL-3.0**,仅借鉴其设计立场/锁色/「越大越细」/填满≥75%法则/4带密度自检思想,**未复制任何文件**,规则均重新表述);[comeonzhj/Auto-Redb - Network accessline 8
| **参考项目** | [op7418/guizang-social-card-skill](https://github.com/op7418/guizang-social-card-skill)(**AGPL-3.0**,仅借鉴其设计立场/锁色/「越大越细」/填满≥75%法则/4带密度自检思想,**未复制任何文件**,规则均重新表述);[comeonzhj/Auto-Redbook-Skills](https://github.com/comeonzhj/Auto-Re
skills/builtin/card-design/scripts/card_audit.py
skills/builtin/card-quote/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源仓库** | nexu-io/open-design (拆出) | | **GitHub 地址** | https://github.com/nexu-io/open-design | - Network accessline 7
| **来源仓库** | nexu-io/open-design (拆出) | | **GitHub 地址** | https://github.com/nexu-io/open-design | | **Star 数** | ~8.9k | - Network accessline 8
| **GitHub 地址** | https://github.com/nexu-io/open-design |
skills/builtin/card-quote/example.html
- Network accessline 4
<meta charset="UTF-8" /> <title>Twitter 分享卡 · 金句</title> <script src="https://cdn.tailwindcss.com"></script> - Network accessline 5
<title>Twitter 分享卡 · 金句</title> <script src="https://cdn.tailwindcss.com"></script> <link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@600;700;800&family=Noto+Serif+SC:wght@500;700;900&family=JetBrains+Mono:wght@400;500&d - Network accessline 6
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 7
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@600;700;800&family=Noto+Serif+SC:wght@500;700;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
skills/builtin/chart-visualization/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源生态** | AntV(蚂蚁集团数据可视化) | | **上游 API** | https://antv-studio.alipay.com/api/gpt-vis(gpt-vis 服务) | - Network accessline 7
| **来源生态** | AntV(蚂蚁集团数据可视化) | | **上游 API** | https://antv-studio.alipay.com/api/gpt-vis(gpt-vis 服务) | | **参考仓库** | https://github.com/antvis/GPT-Vis | - Network accessline 8
| **上游 API** | https://antv-studio.alipay.com/api/gpt-vis(gpt-vis 服务) | - Network accessline 9
| **参考仓库** | https://github.com/antvis/GPT-Vis | - Network accessline 10
| **功能描述** | 调 AntV 远程 API 生成静态图表图片 URL,覆盖 25+ 图表类型 | | **SKILL.md 行数** | 112 | | **自包含** | 是(仅依赖 curl 调用远程 API,无本地资源) | - Network accessline 11
| **SKILL.md 行数** | 112 | | **自包含** | 是(仅依赖 curl 调用远程 API,无本地资源) | | **profile_aware** | false | - Network accessline 12
| **自包含** | 是(仅依赖 curl 调用远程 API,无本地资源) |
skills/builtin/chart-visualization/SKILL.md
- Network accessline 1
--- name: chart-visualization description: "将数据可视化为图表。当用户需要生成柱状图、折线图、饼图、散点图、雷达图、桑基图、思维导图、流程图等图表时调用此技能,通过 curl 工具调用 AntV API 生成图表图片。产出静态图片 URL(25+ 类型);要本地渲染的信息图/GIF 动画图表用 infographic,要 CSV/JSON→整页报告用 data-report" - Network accessline 2
name: chart-visualization description: "将数据可视化为图表。当用户需要生成柱状图、折线图、饼图、散点图、雷达图、桑基图、思维导图、流程图等图表时调用此技能,通过 curl 工具调用 AntV API 生成图表图片。产出静态图片 URL(25+ 类型);要本地渲染的信息图/GIF 动画图表用 infographic,要 CSV/JSON→整页报告用 data-report" layer: produce - Network accessline 3
description: "将数据可视化为图表。当用户需要生成柱状图、折线图、饼图、散点图、雷达图、桑基图、思维导图、流程图等图表时调用此技能,通过 curl 工具调用 AntV API 生成图表图片。产出静态图片 URL(25+ 类型);要本地渲染的信息图/GIF 动画图表用 infographic,要 CSV/JSON→整页报告用 data-report" - Network accessline 18
1. 分析用户数据和需求,选择最合适的图表类型 2. 构造符合规范的 JSON 请求体 3. 使用 curl 工具调用 API 生成图表图片 - Network accessline 19
2. 构造符合规范的 JSON 请求体 3. 使用 curl 工具调用 API 生成图表图片 4. 将返回的图片 URL 以 Markdown 图片格式输出 - Network accessline 20
3. 使用 curl 工具调用 API 生成图表图片 - Network accessline 45
POST https://antv-studio.alipay.com/api/gpt-vis - Network accessline 53
curl -X POST https://antv-studio.alipay.com/api/gpt-vis \ - Network accessline 60
{"success":true,"resultObj":"https://..."}
skills/builtin/clipify/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源仓库** | louisedesadeleer/clipify | | **GitHub 地址** | https://github.com/louisedesadeleer/clipify | - Network accessline 7
| **来源仓库** | louisedesadeleer/clipify | | **GitHub 地址** | https://github.com/louisedesadeleer/clipify | | **Star 数** | ~100+ | - Network accessline 8
| **GitHub 地址** | https://github.com/louisedesadeleer/clipify |
skills/builtin/clipify/scripts/analyze.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/clipify/scripts/audio_align.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/clipify/scripts/build_ass.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/clipify/scripts/build_pan.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/comparison-card/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(正文「自研说明」注明参考开源对比表工具的布局设计) | | **参考项目** | danpeig/product-compare-matrix-generator — https://github.com/danpeig/product-compare-matrix-generator(JS 对比矩阵,借鉴矩阵布局);dostogircse171/solvyy-comparison-table — - Network accessline 8
| **原始来源** | Easel 自研(正文「自研说明」注明参考开源对比表工具的布局设计) | | **参考项目** | danpeig/product-compare-matrix-generator — https://github.com/danpeig/product-compare-matrix-generator(JS 对比矩阵,借鉴矩阵布局);dostogircse171/solvyy-comparison-table — https://github.co - Network accessline 9
| **参考项目** | danpeig/product-compare-matrix-generator — https://github.com/danpeig/product-compare-matrix-generator(JS 对比矩阵,借鉴矩阵布局);dostogircse171/solvyy-comparison-table — https://github.com/dostogircse171/solvyy-comparison-table(纯 HTML/CS
skills/builtin/data-report/scripts/report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/ecom-details-image/.env.example
- Network accessline 2
# 脚本自动检测 URL 含 "apimart" → 异步模式 # apimart=true IMG_BASE_URL=https://api.apimart.ai/v1 - Network accessline 3
# apimart=true IMG_BASE_URL=https://api.apimart.ai/v1 IMG_MODEL=gpt-image-2 - Network accessline 4
IMG_BASE_URL=https://api.apimart.ai/v1 - Access to secretsline 6
[Credential-related source omitted] - Network accessline 9
# 注释掉方案 A,取消注释以下三行即可切换 # apimart=false # IMG_BASE_URL=https://api.openai.com/v1 - Network accessline 10
# apimart=false # IMG_BASE_URL=https://api.openai.com/v1 # IMG_MODEL=gpt-image-1.5 - Network accessline 11
# IMG_BASE_URL=https://api.openai.com/v1 - Access to secretsline 13
[Credential-related source omitted]
skills/builtin/ecom-details-image/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源仓库** | liangdabiao/ecom-details-image | | **GitHub 地址** | https://github.com/liangdabiao/ecom-details-image | - Network accessline 7
| **来源仓库** | liangdabiao/ecom-details-image | | **GitHub 地址** | https://github.com/liangdabiao/ecom-details-image | | **Star 数** | ~200+ | - Network accessline 8
| **GitHub 地址** | https://github.com/liangdabiao/ecom-details-image |
skills/builtin/ecom-details-image/SKILL.md
skills/builtin/ecom-details-image/scripts/generate_image.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Network accessline 19
import base64 import binascii import http.client - Network accessline 20
import binascii import http.client import json - Network accessline 21
import http.client - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 106
[Credential-related source omitted] - Access to secretsline 114
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Access to secretsline 126
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Network accessline 196
[Credential-related source omitted] - Access to secretsline 196
[Credential-related source omitted] - Network accessline 197
body = json.dumps(payload).encode("utf-8") request = urllib.request.Request( url, data=body, - Network accessline 198
request = urllib.request.Request( - Access to secretsline 200
[Credential-related source omitted] - Network accessline 202
) try: with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 203
try: with urllib.request.urlopen(request, timeout=timeout) as response: raw = response.read().decode("utf-8") - Network accessline 204
with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 209
except urllib.error.URLError as exc: fail(f"无法连接接口:{exc.reason}") except (http.client.RemoteDisconnected, TimeoutError): - Network accessline 210
fail(f"无法连接接口:{exc.reason}") except (http.client.RemoteDisconnected, TimeoutError): fail("接口连接失败或超时,请稍后重试。") - Network accessline 211
except (http.client.RemoteDisconnected, TimeoutError): - Network accessline 222
[Credential-related source omitted] - Access to secretsline 222
[Credential-related source omitted] - Network accessline 223
request = urllib.request.Request( - Access to secretsline 224
[Credential-related source omitted] - Network accessline 225
) try: with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 226
try: with urllib.request.urlopen(request, timeout=timeout) as response: raw = response.read().decode("utf-8") - Network accessline 227
with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 230
detail = exc.read().decode("utf-8", errors="replace") fail(f"查询接口返回 HTTP {exc.code}:{detail}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): - Network accessline 231
fail(f"查询接口返回 HTTP {exc.code}:{detail}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): fail("查询接口连接失败或超时。") - Network accessline 232
except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): - Access to secretsline 252
[Credential-related source omitted] - Access to secretsline 256
[Credential-related source omitted] - Possible obfuscationline 277
image_bytes = base64.b64decode(encoded) - Network accessline 287
timestamp = time.strftime("%Y%m%d-%H%M%S") p = output_dir / f"image-{timestamp}-{index + 1:02d}.{suffix}" dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) - Network accessline 288
p = output_dir / f"image-{timestamp}-{index + 1:02d}.{suffix}" dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) with urllib.request.urlopen(dl_req, timeout=120) as resp: - Network accessline 289
dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) - Network accessline 290
with urllib.request.urlopen(dl_req, timeout=120) as resp: - Access to secretsline 308
[Credential-related source omitted] - Access to secretsline 312
[Credential-related source omitted] - Access to secretsline 329
[Credential-related source omitted] - Access to secretsline 337
[Credential-related source omitted] - Access to secretsline 345
[Credential-related source omitted] - Network accessline 371
output_path = output_dir / filename_for(suffix) print(f" 下载图片: {image_url}", file=sys.stderr) dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) - Network accessline 372
print(f" 下载图片: {image_url}", file=sys.stderr) dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) try: - Network accessline 373
dl_req = urllib.request.Request(image_url, headers={"User-Agent": UA}) - Network accessline 374
try: with urllib.request.urlopen(dl_req, timeout=120) as resp: output_path.write_bytes(resp.read()) - Network accessline 375
with urllib.request.urlopen(dl_req, timeout=120) as resp: - Access to secretsline 405
[Credential-related source omitted] - Access to secretsline 425
[Credential-related source omitted] - Access to secretsline 432
[Credential-related source omitted] - Access to secretsline 436
[Credential-related source omitted]
skills/builtin/gzh-design/EASEL-META.md
- Network accessline 7
| **来源类型** | 第三方开源集成 | | **原始来源** | GitHub: isjiamu/gzh-design-skill(微信公众号排版技能) | | **GitHub 地址** | https://github.com/isjiamu/gzh-design-skill | - Network accessline 8
| **原始来源** | GitHub: isjiamu/gzh-design-skill(微信公众号排版技能) | | **GitHub 地址** | https://github.com/isjiamu/gzh-design-skill | | **作者/版权** | 甲木 (Jiamu) × 摸鱼小李 (Moyu Xiaoli),2026 | - Network accessline 9
| **GitHub 地址** | https://github.com/isjiamu/gzh-design-skill |
skills/builtin/gzh-design/LICENSE
- Network accessline 14
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> - Network accessline 655
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. - Network accessline 656
along with this program. If not, see <https://www.gnu.org/licenses/>. - Network accessline 669
if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <https://www.gnu.org/licenses/>. - Network accessline 671
<https://www.gnu.org/licenses/>.
skills/builtin/gzh-design/README.en.md
- Network accessline 1
> 🤝 **A joint project by Jiamu × [Moyu Xiaoli (摸鱼小李)](https://mp.weixin.qq.com/s/EMahAzgfAbRQrYukWE7_IQ)** — the components, theme design and quality bar are shaped by both authors' hands-on WeChat publishing practice. Special thanks to Xia - Network accessline 11
[](LICENSE) - Network accessline 12
[](https://claude.ai/code) - Network accessline 13
[](references/theme-index.md) - Network accessline 14
[](CONTRIBUTING.md) - Network accessline 15
[](#-quick-start) - Network accessline 59
<table> <tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>Moyu Green (default)</b></sub></td> - Network accessline 60
<tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>Moyu Green (default)</b></sub></td> <td width="33%" align="center"><img src - Network accessline 61
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>Moyu Green (default)</b></sub></td> - Network accessline 62
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-red-white.png?v=1" width="250"><br><sub><b>Red & White</b></sub></td> - Network accessline 63
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-graphite-minimal.png?v=1" width="250"><br><sub><b>Graphite Minimal</b></sub></td> - Network accessline 64
</tr> <tr> <td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>Zen Whitespace</b></sub></td> - Network accessline 65
<tr> <td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>Zen Whitespace</b></sub></td> <td align="center"><img src="https://github.com/isjia - Network accessline 66
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>Zen Whitespace</b></sub></td> - Network accessline 67
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-ticket.png?v=1" width="250"><br><sub><b>Moyu Ticket</b></sub></td> - Network accessline 68
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-olive-journal.png?v=1" width="250"><br><sub><b>Olive Journal</b></sub></td> - Network accessline 76
| | Theme | Best for | |---|---|---| |  `#059669` | Moyu Green (default) | Tutorials, reviews, checklists, tool roundups | - Network accessline 77
|---|---|---| |  `#059669` | Moyu Green (default) | Tutorials, reviews, checklists, tool roundups | |  `#DC2626` | Red & White | Deep analysis, opin - Network accessline 78
|  `#059669` | Moyu Green (default) | Tutorials, reviews, checklists, tool roundups | - Network accessline 79
|  `#DC2626` | Red & White | Deep analysis, opinions, strong takes | - Network accessline 80
|  `#52525B` | Graphite Minimal | Design, tech commentary, premium brand | - Network accessline 81
|  `#4A5D52` | Zen Whitespace | Zen, minimal living, reflective essays | - Network accessline 82
|  `#059669` | Moyu Ticket | Tool comparisons, creative reviews (ticket motif) | - Network accessline 83
|  `#1e1f23` | Olive Journal | Editorial notes, deep reviews, case recaps | - Network accessline 90
# One-line install (recommended) npx skills add https://github.com/isjiamu/gzh-design-skill - Network accessline 91
npx skills add https://github.com/isjiamu/gzh-design-skill - Network accessline 93
# Or manual clone git clone https://github.com/isjiamu/gzh-design-skill.git ~/.claude/skills/gzh-design - Network accessline 94
git clone https://github.com/isjiamu/gzh-design-skill.git ~/.claude/skills/gzh-design - Network accessline 99
> Please find and install the skill at https://github.com/isjiamu/gzh-design-skill - Network accessline 109
<img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/group-qr.png" width="220" alt="WeChat Work group QR"> - Network accessline 193
**How do I update?** Re-run `npx skills add https://github.com/isjiamu/gzh-design-skill`, or `git pull` in the install dir. - Network accessline 201
<a href="https://www.star-history.com/?repos=isjiamu%2Fgzh-design-skill&type=date&legend=top-left"> - Network accessline 202
[Credential-related source omitted] - Network accessline 203
[Credential-related source omitted] - Network accessline 204
[Credential-related source omitted] - Network accessline 205
[Credential-related source omitted]
skills/builtin/gzh-design/README.md
- Network accessline 1
> 🤝 **本项目由 甲木 × [「摸鱼小李」](https://mp.weixin.qq.com/s/EMahAzgfAbRQrYukWE7_IQ) 联名共建** —— 排版组件、主题设计与质量标准凝聚了两人的公众号实践与共同打磨,特别感谢小李。 - Network accessline 11
[](LICENSE) - Network accessline 12
[](https://claude.ai/code) - Network accessline 13
[](references/theme-index.md) - Network accessline 14
[](CONTRIBUTING.md) - Network accessline 15
[](#-快速开始) - Network accessline 40
<table> <tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-40619312d679bc34.jpg" width="100%"><br><sub><b>摸鱼绿(默认)</b></sub></td> - Network accessline 41
<tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-40619312d679bc34.jpg" width="100%"><br><sub><b>摸鱼绿(默认)</b></sub></td> </tr> - Network accessline 42
<td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-40619312d679bc34.jpg" width="100%"><br><sub><b>摸鱼绿(默认)</b></sub></td> - Network accessline 43
</tr> <tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-084eb2b9d6f8d5e2.jpg" width="100%"><br><sub><b>红白色系</b></sub></td> - Network accessline 44
<tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-084eb2b9d6f8d5e2.jpg" width="100%"><br><sub><b>红白色系</b></sub></td> </tr> - Network accessline 45
<td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-084eb2b9d6f8d5e2.jpg" width="100%"><br><sub><b>红白色系</b></sub></td> - Network accessline 46
</tr> <tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-747b33f502544254.jpg" width="100%"><br><sub><b>橄榄手记</b></sub></td> - Network accessline 47
<tr> <td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-747b33f502544254.jpg" width="100%"><br><sub><b>橄榄手记</b></sub></td> </tr> - Network accessline 48
<td colspan="3" align="center"><img src="https://origin.picgo.net/2026/07/07/-747b33f502544254.jpg" width="100%"><br><sub><b>橄榄手记</b></sub></td> - Network accessline 49
</tr> <tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-graphite-minimal.png?v=1" width="250"><br><sub><b>石墨极简风</b></sub></td> - Network accessline 50
<tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-graphite-minimal.png?v=1" width="250"><br><sub><b>石墨极简风</b></sub></td> <td width="33%" align="center"><img src="https:/ - Network accessline 51
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-graphite-minimal.png?v=1" width="250"><br><sub><b>石墨极简风</b></sub></td> - Network accessline 52
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>留白禅意风</b></sub></td> - Network accessline 53
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-ticket.png?v=1" width="250"><br><sub><b>摸鱼票据风</b></sub></td> - Network accessline 98
npx skills add https://github.com/isjiamu/gzh-design-skill - Network accessline 105
> 请帮我查找并自动安装 https://github.com/isjiamu/gzh-design-skill 这个 skill - Network accessline 112
git clone https://github.com/isjiamu/gzh-design-skill.git ~/.claude/skills/gzh-design - Network accessline 123
<img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/group-qr.png" width="220" alt="企业微信交流群二维码"> - Network accessline 231
- [x] 主题生成器:按描述/参考图生成自定义主题 - [ ] 更多精选内置主题(欢迎向上游 [提建议](https://github.com/isjiamu/gzh-design-skill/issues/new?template=theme_request.md)) - Network accessline 232
- [ ] 更多精选内置主题(欢迎向上游 [提建议](https://github.com/isjiamu/gzh-design-skill/issues/new?template=theme_request.md)) - Network accessline 254
**Q:怎么更新到最新版?** A:重新跑 `npx skills add https://github.com/isjiamu/gzh-design-skill`,或到安装目录 `git pull`。 - Network accessline 255
A:重新跑 `npx skills add https://github.com/isjiamu/gzh-design-skill`,或到安装目录 `git pull`。 - Network accessline 262
| 主色 | 主题 | 适用 | |---|---|---| |  `#059669` | 摸鱼绿(默认) | 教程、测评、清单、工具盘点 | - Network accessline 263
|---|---|---| |  `#059669` | 摸鱼绿(默认) | 教程、测评、清单、工具盘点 | |  `#DC2626` | 红白色系 | 深度分析、观点、力量感话题 | - Network accessline 264
|  `#059669` | 摸鱼绿(默认) | 教程、测评、清单、工具盘点 | - Network accessline 265
|  `#DC2626` | 红白色系 | 深度分析、观点、力量感话题 | - Network accessline 266
|  `#52525B` | 石墨极简风 | 设计、科技评论、专业观点、高端品牌 | - Network accessline 267
|  `#4A5D52` | 留白禅意风 | 禅意、极简生活、深度随笔 | - Network accessline 268
|  `#059669` | 摸鱼票据风 | 工具对比、创意评测(票据视觉隐喻) | - Network accessline 269
|  `#1e1f23` | 橄榄手记 | 内刊手记、深度评测、案例复盘 | - Network accessline 278
<a href="https://www.star-history.com/?repos=isjiamu%2Fgzh-design-skill&type=date&legend=top-left"> - Network accessline 279
[Credential-related source omitted] - Network accessline 280
[Credential-related source omitted] - Network accessline 281
[Credential-related source omitted] - Network accessline 282
[Credential-related source omitted] - Network accessline 314
<img src="https://origin.picgo.net/2026/07/07/22e8d28de5f71eee085939b2f4c1f19548b19a67a79bdb68.png" width="600" alt="甲木 × 摸鱼小李 公众号名片">
skills/builtin/gzh-design/assets/theme-previews/theme-mono-blue-editorial.html
- Network accessline 45
<p style="margin:0 0 10px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·专题导语页</span></p> <figure style="margin:0 0 14px 0;padding:0;"> <img src="https://placehold.orence.net/1 - Network accessline 46
<figure style="margin:0 0 14px 0;padding:0;"> <img src="https://placehold.orence.net/1200x560/1A1A1A/FFFFFF?text=Feature+Intro&font=roboto" alt="专题导语头图占位" width="100%" style="display:block;width:100%;height:auto;"> <figcaption style - Network accessline 47
<img src="https://placehold.orence.net/1200x560/1A1A1A/FFFFFF?text=Feature+Intro&font=roboto" alt="专题导语头图占位" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 286
<p style="margin:0 0 8px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·头图</span></p> <figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x680/1A1A1 - Network accessline 287
<figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x680/1A1A1A/FFFFFF?text=Hero+Image&font=roboto" alt="头图占位" width="100%" style="display:block;width:100%;height:auto;"> </figure> - Network accessline 288
<img src="https://placehold.orence.net/1200x680/1A1A1A/FFFFFF?text=Hero+Image&font=roboto" alt="头图占位" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 294
<p style="margin:0 0 8px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·图片占位</span></p> <figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x750/EAE - Network accessline 295
<figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x750/EAEAEA/1A1A1A?text=Image+Placeholder&font=roboto" alt="配图占位" width="100%" style="display:block;width:100%;height:auto;"> <figcaption style="margin: - Network accessline 296
<img src="https://placehold.orence.net/1200x750/EAEAEA/1A1A1A?text=Image+Placeholder&font=roboto" alt="配图占位" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 304
<p style="margin:0 0 6px 0;font-family:Arial,sans-serif;font-size:11px;color:#1B3A8C;font-weight:700;letter-spacing:1px;"><span leaf="">对照占位 A</span></p> <figure style="margin:0 0 14px 0;padding:0;"> <img src="https://placehold.orence - Network accessline 305
<figure style="margin:0 0 14px 0;padding:0;"> <img src="https://placehold.orence.net/1200x600/1A1A1A/FFFFFF?text=Compare+A&font=roboto" alt="对照占位A" width="100%" style="display:block;width:100%;height:auto;"> </figure> - Network accessline 306
<img src="https://placehold.orence.net/1200x600/1A1A1A/FFFFFF?text=Compare+A&font=roboto" alt="对照占位A" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 308
<p style="margin:0 0 6px 0;font-family:Arial,sans-serif;font-size:11px;color:#1B3A8C;font-weight:700;letter-spacing:1px;"><span leaf="">对照占位 B</span></p> <figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200 - Network accessline 309
<figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x600/EAEAEA/1A1A1A?text=Compare+B&font=roboto" alt="对照占位B" width="100%" style="display:block;width:100%;height:auto;"> </figure> - Network accessline 310
<img src="https://placehold.orence.net/1200x600/EAEAEA/1A1A1A?text=Compare+B&font=roboto" alt="对照占位B" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 316
<p style="margin:0 0 8px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·图注说明卡</span></p> <figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x640/1A - Network accessline 317
<figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x640/1A1A1A/FFFFFF?text=Figure&font=roboto" alt="示意图占位" width="100%" style="display:block;width:100%;height:auto;"> <figcaption style="margin:8px 0 0 0; - Network accessline 318
<img src="https://placehold.orence.net/1200x640/1A1A1A/FFFFFF?text=Figure&font=roboto" alt="示意图占位" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 325
<p style="margin:0 0 8px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·视频占位</span></p> <figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x675/1A1 - Network accessline 326
<figure style="margin:0;padding:0;"> <img src="https://placehold.orence.net/1200x675/1A1A1A/FFFFFF?text=Video+Placeholder&font=roboto" alt="视频占位" width="100%" style="display:block;width:100%;height:auto;"> <figcaption style="margin: - Network accessline 327
<img src="https://placehold.orence.net/1200x675/1A1A1A/FFFFFF?text=Video+Placeholder&font=roboto" alt="视频占位" width="100%" style="display:block;width:100%;height:auto;"> - Network accessline 334
<p style="margin:0 0 8px 0;font-family:Arial,sans-serif;font-size:11px;color:#B0B0B0;letter-spacing:1.5px;"><span leaf="">PREVIEW·拉页图文</span></p> <figure style="margin:0 0 12px 0;padding:0;"> <img src="https://placehold.orence.net/120 - Network accessline 335
<figure style="margin:0 0 12px 0;padding:0;"> <img src="https://placehold.orence.net/1200x800/1A1A1A/FFFFFF?text=Spread&font=roboto" alt="拉页图文占位" width="100%" style="display:block;width:100%;height:auto;"> </figure> - Network accessline 336
<img src="https://placehold.orence.net/1200x800/1A1A1A/FFFFFF?text=Spread&font=roboto" alt="拉页图文占位" width="100%" style="display:block;width:100%;height:auto;">
skills/builtin/gzh-design/docs/all-themes.md
- Network accessline 7
<table> <tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>摸鱼绿 Moyu Green(默认)</b></sub></td> - Network accessline 8
<tr> <td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>摸鱼绿 Moyu Green(默认)</b></sub></td> <td width="33%" align="center"><img src=" - Network accessline 9
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-green.png?v=1" width="250"><br><sub><b>摸鱼绿 Moyu Green(默认)</b></sub></td> - Network accessline 10
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-red-white.png?v=1" width="250"><br><sub><b>红白色系 Red & White</b></sub></td> - Network accessline 11
<td width="33%" align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-graphite-minimal.png?v=1" width="250"><br><sub><b>石墨极简风 Graphite Minimal</b></sub></td> - Network accessline 12
</tr> <tr> <td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>留白禅意风 Zen Whitespace</b></sub></td> - Network accessline 13
<tr> <td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>留白禅意风 Zen Whitespace</b></sub></td> <td align="center"><img src="https://github.com - Network accessline 14
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-zen-whitespace.png?v=1" width="250"><br><sub><b>留白禅意风 Zen Whitespace</b></sub></td> - Network accessline 15
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-moyu-ticket.png?v=1" width="250"><br><sub><b>摸鱼票据风 Moyu Ticket</b></sub></td> - Network accessline 16
<td align="center"><img src="https://github.com/isjiamu/gzh-design-skill/releases/download/assets-v1/lf-olive-journal.png?v=1" width="250"><br><sub><b>橄榄手记 Olive Journal</b></sub></td>
skills/builtin/gzh-design/references/theme-generator.md
- Network accessline 286
7.5 图片与媒体兼容规则: - 图片必须使用标准 `img` 标签,并提供明确宽度语义,保证复制后仍能独立显示。 - 图像占位必须使用 `https://placehold.orence.net/宽x高?text=占位文字(尽量使用英文)` 格式的占位 URL,支持通过 URL 配置占位图的尺寸(如 /600x400、/400、/600x400@2x.png)、格式(如 /600x400/png、/600x400.png)、颜色(如 /600x400/000000/FFFF - Network accessline 287
- 图片必须使用标准 `img` 标签,并提供明确宽度语义,保证复制后仍能独立显示。 - 图像占位必须使用 `https://placehold.orence.net/宽x高?text=占位文字(尽量使用英文)` 格式的占位 URL,支持通过 URL 配置占位图的尺寸(如 /600x400、/400、/600x400@2x.png)、格式(如 /600x400/png、/600x400.png)、颜色(如 /600x400/000000/FFFFFF、/600x400/ora - Network accessline 288
- 图像占位必须使用 `https://placehold.orence.net/宽x高?text=占位文字(尽量使用英文)` 格式的占位 URL,支持通过 URL 配置占位图的尺寸(如 /600x400、/400、/600x400@2x.png)、格式(如 /600x400/png、/600x400.png)、颜色(如 /600x400/000000/FFFFFF、/600x400/orange/white、/600x400/transparent/F00)、文字(如 /6
skills/builtin/gzh-design/scripts/component_lint.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/gzh-design/scripts/extract_docx.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 22
W = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}" - Network accessline 23
R = "{http://schemas.openxmlformats.org/officeDocument/2006/relationships}" - Network accessline 24
A = "{http://schemas.openxmlformats.org/drawingml/2006/main}"
skills/builtin/gzh-design/scripts/validate_gzh_html.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/gzh-design/scripts/wrap_preview.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/image-editing/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(核心逻辑为 `skills/shared/scripts/image_ops.py` 纯 Pillow 确定性封装,非移植第三方项目) | | **参考项目** | Pillow — https://github.com/python-pillow/Pillow(Image.resize/crop/thumbnail、ImageDraw.rounded_rectangle、Image.alpha_ - Network accessline 8
| **原始来源** | Easel 自研(核心逻辑为 `skills/shared/scripts/image_ops.py` 纯 Pillow 确定性封装,非移植第三方项目) | | **参考项目** | Pillow — https://github.com/python-pillow/Pillow(Image.resize/crop/thumbnail、ImageDraw.rounded_rectangle、Image.alpha_composite 等底层图像 AP - Network accessline 9
| **参考项目** | Pillow — https://github.com/python-pillow/Pillow(Image.resize/crop/thumbnail、ImageDraw.rounded_rectangle、Image.alpha_composite 等底层图像 API,MIT-CMU 类许可) |
skills/builtin/infographic/EASEL-META.md
- Network accessline 7
| **来源生态** | AntV(蚂蚁集团数据可视化)+ 自研 GIF 动画脚本 | | **上游库** | @antv/infographic(AntV Infographic DSL 渲染引擎) | | **参考仓库** | https://github.com/antvis | - Network accessline 8
| **上游库** | @antv/infographic(AntV Infographic DSL 渲染引擎) | | **参考仓库** | https://github.com/antvis | | **功能描述** | 本地渲染信息图(AntV DSL 静态模式)与动画 GIF 图表(scripts/gif_chart.py,matplotlib+Pillow) | - Network accessline 9
| **参考仓库** | https://github.com/antvis |
skills/builtin/infographic/references/antv-templates.md
- Network accessline 156
<body> <div id="container" style="width:100%;height:100%"></div> <script src="https://unpkg.com/@antv/infographic@latest/dist/infographic.min.js"></script> - Network accessline 157
<div id="container" style="width:100%;height:100%"></div> <script src="https://unpkg.com/@antv/infographic@latest/dist/infographic.min.js"></script> <script> - Network accessline 158
<script src="https://unpkg.com/@antv/infographic@latest/dist/infographic.min.js"></script>
skills/builtin/infographic/scripts/gif_chart.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/multi-voice-dubbing/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研。核心引擎 `skills/shared/scripts/multivoice.py`:cast(选角)+ lines(逐行对白)→ 逐行按角色音色合成 → ffmpeg 拼多声线 voice.mp3 + 说话人字幕 voice.srt;情绪→韵律映射自带;纯标准库 + selftest | | **参考项目** | edge-tts — https://github.com/rany2/edge- - Network accessline 8
| **原始来源** | Easel 自研。核心引擎 `skills/shared/scripts/multivoice.py`:cast(选角)+ lines(逐行对白)→ 逐行按角色音色合成 → ffmpeg 拼多声线 voice.mp3 + 说话人字幕 voice.srt;情绪→韵律映射自带;纯标准库 + selftest | | **参考项目** | edge-tts — https://github.com/rany2/edge-tts(逐行合成的免费多音色底座,经 - Network accessline 9
| **参考项目** | edge-tts — https://github.com/rany2/edge-tts(逐行合成的免费多音色底座,经 `tts.py` 封装);FFmpeg — https://ffmpeg.org(多段音轨拼接、时长探测、SRT 时序);克隆音色经 `voice_clone.py`(DashScope/MiniMax/Fish Audio 等)。多声线编排逻辑本身无对应开源方案,为自研 |
skills/builtin/multi-voice-dubbing/SKILL.md
- Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Network accessline 33
VOICE_PROVIDER=openai-compatible VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Network accessline 34
VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Access to secretsline 35
[Credential-related source omitted]
skills/builtin/novel-writer/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | [NousResearch/autonovel](https://github.com/NousResearch/autonovel)(模板文件体系 world/characters/canon/voice + 双免疫系统去 AI slop);[Deng-m1/MaliangAINovalWriter 马良](https://github.co - Network accessline 7
| **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | [NousResearch/autonovel](https://github.com/NousResearch/autonovel)(模板文件体系 world/characters/canon/voice + 双免疫系统去 AI slop);[Deng-m1/MaliangAINovalWriter 马良](https://github.com/Deng-m1/MaliangAINov - Network accessline 8
| **参考项目** | [NousResearch/autonovel](https://github.com/NousResearch/autonovel)(模板文件体系 world/characters/canon/voice + 双免疫系统去 AI slop);[Deng-m1/MaliangAINovalWriter 马良](https://github.com/Deng-m1/MaliangAINovalWriter)(三级大纲、黄金三章、Next Outline
skills/builtin/novel-writer/scripts/novel_ops.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/paper-explainer/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | [QuZhan51496/paper2anything](https://github.com/QuZhan51496/paper2anything)(skills-based 内容生成流程,思路可借鉴:parse_pdf 用 MinerU + 提炼方法论/设计规范/QA 清单全外置 references + 一份解析扇出 slides/pos - Network accessline 7
| **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | [QuZhan51496/paper2anything](https://github.com/QuZhan51496/paper2anything)(skills-based 内容生成流程,思路可借鉴:parse_pdf 用 MinerU + 提炼方法论/设计规范/QA 清单全外置 references + 一份解析扇出 slides/poster/html/xhs/wechat 多形 - Network accessline 8
| **参考项目** | [QuZhan51496/paper2anything](https://github.com/QuZhan51496/paper2anything)(skills-based 内容生成流程,思路可借鉴:parse_pdf 用 MinerU + 提炼方法论/设计规范/QA 清单全外置 references + 一份解析扇出 slides/poster/html/xhs/wechat 多形态);[showlab/Paper2Video](https:/
skills/builtin/paper-explainer/scripts/paper_ingest.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 19
paper_ingest.py check paper_ingest.py fetch --paper 2401.12345 -o outputs/paper/attn/paper.pdf paper_ingest.py fetch --paper https://arxiv.org/abs/2401.12345 -o .../paper.pdf - Network accessline 20
paper_ingest.py fetch --paper 2401.12345 -o outputs/paper/attn/paper.pdf paper_ingest.py fetch --paper https://arxiv.org/abs/2401.12345 -o .../paper.pdf paper_ingest.py parse -i outputs/paper/attn/paper.pdf -o outputs/paper/attn/par - Network accessline 21
paper_ingest.py fetch --paper https://arxiv.org/abs/2401.12345 -o .../paper.pdf - Network accessline 39
_ARXIV_ID_RE = re.compile(r"(\d{4}\.\d{4,5})(v\d+)?") MINERU_BASE = os.environ.get("MINERU_API_BASE", "https://mineru.net") - Network accessline 40
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Access to secretsline 62
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Network accessline 108
aid = m.group(1) + (m.group(2) or "") return {"kind": "arxiv", "id": aid, "pdf_url": f"https://arxiv.org/pdf/{aid}"} - Network accessline 109
return {"kind": "arxiv", "id": aid, "pdf_url": f"https://arxiv.org/pdf/{aid}"} if m and "://" not in p: # 裸 arxiv id - Network accessline 110
"pdf_url": f"https://arxiv.org/pdf/{aid}"} - Network accessline 112
aid = m.group(1) + (m.group(2) or "") return {"kind": "arxiv", "id": aid, "pdf_url": f"https://arxiv.org/pdf/{aid}"} - Network accessline 113
return {"kind": "arxiv", "id": aid, "pdf_url": f"https://arxiv.org/pdf/{aid}"} if p.startswith("http"): - Network accessline 114
"pdf_url": f"https://arxiv.org/pdf/{aid}"} - Network accessline 120
def fetch(paper: str, out: str) -> str: - Network accessline 130
url = info["pdf_url"] dst = _prep_out(out) req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0 Easel"}) - Network accessline 131
dst = _prep_out(out) req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0 Easel"}) try: - Network accessline 132
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0 Easel"}) - Network accessline 155
continue try: s = requests.Session() - Network accessline 156
try: s = requests.Session() s.trust_env = trust_env - Network accessline 157
s = requests.Session() - Network accessline 177
continue try: s = requests.Session() - Network accessline 178
try: s = requests.Session() s.trust_env = trust_env - Network accessline 179
s = requests.Session() - Network accessline 193
依据 https://mineru.net/apiManage/docs 的 v4「文件上传批量解析」流程实现。 - Access to secretsline 202
[Credential-related source omitted] - Access to secretsline 207
[Credential-related source omitted] - Network accessline 212
r = requests.post(f"{MINERU_BASE}/api/v4/file-urls/batch", - Access to secretsline 225
[Credential-related source omitted] - Network accessline 226
zip_url, last = None, "" while time.time() < deadline: rr = requests.get(result_url, headers=headers, proxies=proxies, timeout=60).json() - Network accessline 227
while time.time() < deadline: rr = requests.get(result_url, headers=headers, proxies=proxies, timeout=60).json() items = (rr.get("data") or {}).get("extract_result") or [] - Network accessline 228
rr = requests.get(result_url, headers=headers, proxies=proxies, timeout=60).json() - Access to secretsline 271
[Credential-related source omitted] - Access to secretsline 373
[Credential-related source omitted] - Network accessline 396
a = parse_arxiv("2401.12345") chk("arxiv 裸 id", a["kind"] == "arxiv" and a["pdf_url"].endswith("2401.12345")) a = parse_arxiv("https://arxiv.org/abs/2401.12345v2") - Network accessline 397
chk("arxiv 裸 id", a["kind"] == "arxiv" and a["pdf_url"].endswith("2401.12345")) a = parse_arxiv("https://arxiv.org/abs/2401.12345v2") chk("arxiv abs url + 版本", a["id"] == "2401.12345v2") - Network accessline 398
a = parse_arxiv("https://arxiv.org/abs/2401.12345v2") - Network accessline 399
chk("arxiv abs url + 版本", a["id"] == "2401.12345v2") a = parse_arxiv("https://arxiv.org/pdf/2401.12345") chk("arxiv pdf url", a["kind"] == "arxiv" and a["id"] == "2401.12345") - Network accessline 400
a = parse_arxiv("https://arxiv.org/pdf/2401.12345") - Network accessline 402
a = parse_arxiv("/tmp/some/paper.pdf") chk("本地 pdf", a["kind"] == "local" and a["path"].endswith("paper.pdf")) a = parse_arxiv("https://example.com/foo.pdf") - Network accessline 403
chk("本地 pdf", a["kind"] == "local" and a["path"].endswith("paper.pdf")) a = parse_arxiv("https://example.com/foo.pdf") chk("通用 url", a["kind"] == "url") - Network accessline 404
a = parse_arxiv("https://example.com/foo.pdf") - Access to secretsline 414
[Credential-related source omitted] - Access to secretsline 415
[Credential-related source omitted] - Access to secretsline 416
[Credential-related source omitted] - Access to secretsline 417
[Credential-related source omitted] - Network accessline 418
[Credential-related source omitted] - Access to secretsline 418
[Credential-related source omitted] - Network accessline 419
chk("无代理时直连", _proxies() == {}) os.environ["EASEL_PROXY"] = "http://x:3128" chk("EASEL_PROXY 生效", _proxies().get("https") == "http://x:3128") - Network accessline 420
[Credential-related source omitted] - Access to secretsline 420
[Credential-related source omitted] - Network accessline 421
chk("EASEL_PROXY 生效", _proxies().get("https") == "http://x:3128") - Access to secretsline 422
[Credential-related source omitted] - Access to secretsline 450
[Credential-related source omitted] - Network accessline 454
return _selftest() if a.cmd == "fetch": print(f"✅ {fetch(a.paper, a.output)}") - Network accessline 455
if a.cmd == "fetch": print(f"✅ {fetch(a.paper, a.output)}") return 0 - Network accessline 456
print(f"✅ {fetch(a.paper, a.output)}")
skills/builtin/paper-explainer/scripts/render_slides.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/post-formatter/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 7
| **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | | **Star 数** | ~1.7k | - Network accessline 8
| **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 18
| 仓库 | 地址 | 吸收的用途 | |------|------|-----------| | langgptai/LangGPT | https://github.com/langgptai/LangGPT | 结构化提示词框架(含小红书爆款生成器示例),参考其"角色/阶段"式结构化组织方法,用于框架分阶段的表格化组织 | - Network accessline 19
|------|------|-----------| | langgptai/LangGPT | https://github.com/langgptai/LangGPT | 结构化提示词框架(含小红书爆款生成器示例),参考其"角色/阶段"式结构化组织方法,用于框架分阶段的表格化组织 | | kangarooking/system-prompt-skills | https://github.com/kangarooking/system-prompt-skills | 含 - Network accessline 20
| langgptai/LangGPT | https://github.com/langgptai/LangGPT | 结构化提示词框架(含小红书爆款生成器示例),参考其"角色/阶段"式结构化组织方法,用于框架分阶段的表格化组织 | - Network accessline 21
| kangarooking/system-prompt-skills | https://github.com/kangarooking/system-prompt-skills | 含《爆款文案》销售型文案 skill 思路,参考中文销售型文案框架的组织与自检方式 | - Network accessline 22
| MrGeDiao/shuorenhua(说人话) | https://github.com/MrGeDiao/shuorenhua | 中文优先去 AI 味改写 skill,吸收其针对中文的去 AI 规则(砍过度承接/工程师腔/小红书 AI 腔/翻译腔/无源拔高),写进 references/formatting.md 的"去 AI 感"一节 |
skills/builtin/poster-hero/example.html
- Network accessline 4
<meta charset="UTF-8" /> <title>新品发布海报(示例)</title> <script src="https://cdn.tailwindcss.com"></script> - Network accessline 5
<title>新品发布海报(示例)</title> <script src="https://cdn.tailwindcss.com"></script> <link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@600;700;800;900&family=Noto+Sans+SC:wght@500;700;900&family=JetBrains+Mono:wght@500&display= - Network accessline 6
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 7
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@600;700;800;900&family=Noto+Sans+SC:wght@500;700;900&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet"> - Network accessline 59
<div style="display:flex; align-items:center; gap:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.18)"> <div class="qr"> <svg viewBox="0 0 33 33" xmlns="http://www.w3.org/2000/svg"> - Network accessline 60
<div class="qr"> <svg viewBox="0 0 33 33" xmlns="http://www.w3.org/2000/svg"> <rect width="33" height="33" fill="#fff"/> - Network accessline 61
<svg viewBox="0 0 33 33" xmlns="http://www.w3.org/2000/svg">
skills/builtin/roi-calculator/scripts/calc.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/short-drama/EASEL-META.md
- Network accessline 6
| **所属层** | produce(编排型) | | **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | 原有故事方法论来源不变;音视频生产链新增参考 [HBAI-Ltd/Toonflow-app](https://github.com/HBAI-Ltd/Toonflow-app)(模型音频能力/音频参考显式建模)、[Forget-C/Jellyfish](https://github.com/Forget-C/Jellyfish)(对白 - Network accessline 7
| **来源类型** | 自研(借鉴多个开源方案的方法论) | | **参考项目** | 原有故事方法论来源不变;音视频生产链新增参考 [HBAI-Ltd/Toonflow-app](https://github.com/HBAI-Ltd/Toonflow-app)(模型音频能力/音频参考显式建模)、[Forget-C/Jellyfish](https://github.com/Forget-C/Jellyfish)(对白候选确认、生成 readiness、多轨时间线与 li - Network accessline 8
| **参考项目** | 原有故事方法论来源不变;音视频生产链新增参考 [HBAI-Ltd/Toonflow-app](https://github.com/HBAI-Ltd/Toonflow-app)(模型音频能力/音频参考显式建模)、[Forget-C/Jellyfish](https://github.com/Forget-C/Jellyfish)(对白候选确认、生成 readiness、多轨时间线与 lip-sync)、[wanglongxiao/seedance-d
skills/builtin/short-drama/scripts/drama_ops.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/short-drama/scripts/dubbing.py
skills/builtin/skill-bilibili-upload/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(工具封装) | | **原始来源** | Easel 自研。B站投稿,走 `scripts/bili_upload.py` 封装 `biliup` CLI(命令构造 + 登录态 cookie) | | **参考项目** | biliup(https://github.com/biliup/biliup)/ biliup-rs — B站投稿 CLI(Rust 后端),本 SKILL 包装其命令行接口 | - Network accessline 8
| **原始来源** | Easel 自研。B站投稿,走 `scripts/bili_upload.py` 封装 `biliup` CLI(命令构造 + 登录态 cookie) | | **参考项目** | biliup(https://github.com/biliup/biliup)/ biliup-rs — B站投稿 CLI(Rust 后端),本 SKILL 包装其命令行接口 | | **许可** | 随 Easel 项目许可;biliup 依外部项目许可 | - Network accessline 9
| **参考项目** | biliup(https://github.com/biliup/biliup)/ biliup-rs — B站投稿 CLI(Rust 后端),本 SKILL 包装其命令行接口 |
skills/builtin/skill-bilibili-upload/scripts/bili_upload.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 42
[Credential-related source omitted] - Network accessline 217
a2 = argparse.Namespace(video="v.mp4", title="", partition=None, tid=None, desc="", tag="", cover="", copyright=2, source="https://x", - Network accessline 218
tag="", cover="", copyright=2, source="https://x",
skills/builtin/skill-channels-upload/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(工具封装) | | **原始来源** | Easel 自研。视频号发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 kuaishou-upload / zhihu-publisher 共用 web_publisher - Network accessline 8
| **原始来源** | Easel 自研。视频号发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 kuaishou-upload / zhihu-publisher 共用 web_publisher.py 框架 | | **许可** | 随 Ea - Network accessline 9
| **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 kuaishou-upload / zhihu-publisher 共用 web_publisher.py 框架 |
skills/builtin/skill-comment-insights/scripts/comment_insights.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-competitor-analysis/EASEL-META.md
- Network accessline 19
| 项目 | 地址 | 参考用途 | |------|------|---------| | NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台(小红书/抖音/B站/微博/知乎)笔记与评论采集的字段与反爬现状,界定公开可采数据范围 | - Network accessline 20
|------|------|---------| | NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台(小红书/抖音/B站/微博/知乎)笔记与评论采集的字段与反爬现状,界定公开可采数据范围 | | cv-cat/Spider_XHS | https://github.com/cv-cat/Spider_XHS | 小红书竞品分析报表场景(点赞/收藏/评论拉取做爆款规律分析)的 - Network accessline 21
| NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台(小红书/抖音/B站/微博/知乎)笔记与评论采集的字段与反爬现状,界定公开可采数据范围 | - Network accessline 22
| cv-cat/Spider_XHS | https://github.com/cv-cat/Spider_XHS | 小红书竞品分析报表场景(点赞/收藏/评论拉取做爆款规律分析)的维度设计 | - Network accessline 23
| cwjcw/xhs_douyin_content | https://github.com/cwjcw/xhs_douyin_content | 创作者中心核心数据(播放/完播/粉丝增量)说明——据此确认这些属外部不可得,降级时如实标注"无公开数据" | - Network accessline 24
| ReaJason/xhs | https://github.com/ReaJason/xhs | 小红书笔记公开字段(点赞/收藏/正文),佐证画像卡可填字段 |
skills/builtin/skill-content-gap-analysis/EASEL-META.md
- Network accessline 18
| 项目 | 地址 | 参考用途 | |------|------|---------| | NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台按关键词采集笔记+评论、评论词云生成——佐证"搜索联想词 + 评论区"作为需求信号源的可行性 | - Network accessline 19
|------|------|---------| | NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台按关键词采集笔记+评论、评论词云生成——佐证"搜索联想词 + 评论区"作为需求信号源的可行性 | | 54514382/xhs_search_comment_tool | https://github.com/54514382/xhs_search_comment_tool - Network accessline 20
| NanmiCoder/MediaCrawler | https://github.com/NanmiCoder/MediaCrawler | 多平台按关键词采集笔记+评论、评论词云生成——佐证"搜索联想词 + 评论区"作为需求信号源的可行性 | - Network accessline 21
| 54514382/xhs_search_comment_tool | https://github.com/54514382/xhs_search_comment_tool | 小红书评论区批量采集与字段设计(点赞数/级别/内容),支撑"评论区未满足需求"的信号读法 | - Network accessline 22
| cv-cat/Spider_XHS | https://github.com/cv-cat/Spider_XHS | 小红书关键词搜索 + 舆情监控场景,佐证平台内搜索联想作为长尾需求入口 |
skills/builtin/skill-content-gap-analysis/SKILL.md
- Network accessline 69
- 抖音热搜:`web_fetch https://60s.viki.moe/v2/douyin` - Network accessline 70
- B站热门:`web_fetch https://60s.viki.moe/v2/bili`(⚠<U+FE0F> 常 500 不稳定,挂时改用备用源 `web_fetch https://v2.xxapi.cn/api/bilibilihot`) - Network accessline 71
- 微博热搜:`web_fetch https://60s.viki.moe/v2/weibo` - Network accessline 72
- 知乎热榜:`web_fetch https://60s.viki.moe/v2/zhihu` - Network accessline 73
- 头条热榜:`web_fetch https://60s.viki.moe/v2/toutiao`
skills/builtin/skill-content-postmortem/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(参考开源项目与方法论) | | **原始来源** | Easel 自研 | | **参考项目** | 1) pyviralcontent(GitHub bhaskatripathi/pyviralcontent,https://github.com/bhaskatripathi/pyviralcontent)— 多维度内容传播力评分(Keener 多准则决策分析);2) Predicting-Virality-of-Social-Media-C - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | 1) pyviralcontent(GitHub bhaskatripathi/pyviralcontent,https://github.com/bhaskatripathi/pyviralcontent)— 多维度内容传播力评分(Keener 多准则决策分析);2) Predicting-Virality-of-Social-Media-Content(GitHub Ashish-Nanda,仓库地 - Network accessline 9
| **参考项目** | 1) pyviralcontent(GitHub bhaskatripathi/pyviralcontent,https://github.com/bhaskatripathi/pyviralcontent)— 多维度内容传播力评分(Keener 多准则决策分析);2) Predicting-Virality-of-Social-Media-Content(GitHub Ashish-Nanda,仓库地址 待核实)— 基于随机森林的特征重要性排序;3
skills/builtin/skill-content-postmortem/scripts/aggregate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-cross-platform-diff/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(参考学术研究与开源项目) | | **原始来源** | Easel 自研 | | **参考项目** | 1) Cross-platform comparison of framed topics in Twitter and Weibo(Springer 2021;GitHub yiyangcpa/Cross-Platform-Comparison,https://github.com/yiyangcpa/Cross-Platform-Comp - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | 1) Cross-platform comparison of framed topics in Twitter and Weibo(Springer 2021;GitHub yiyangcpa/Cross-Platform-Comparison,https://github.com/yiyangcpa/Cross-Platform-Comparison)— 跨平台话题框架对比方法论(LDA 主题模型 - Network accessline 9
| **参考项目** | 1) Cross-platform comparison of framed topics in Twitter and Weibo(Springer 2021;GitHub yiyangcpa/Cross-Platform-Comparison,https://github.com/yiyangcpa/Cross-Platform-Comparison)— 跨平台话题框架对比方法论(LDA 主题模型 + 社交网络分析);2) Xiaohongshu
skills/builtin/skill-cross-platform-publish/scripts/publish_dispatch.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-data-tracker/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(参考商业工具功能设计) | | **原始来源** | Easel 自研 | | **参考项目** | 1) Metricool(https://metricool.com)— 社媒数据仪表盘与多平台增长追踪的产品逻辑;2) Iconosquare(https://iconosquare.com)— Instagram/TikTok 数据分析中"内容生命周期"分析框架;3) SocialBlade(https://socialblade.com) - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | 1) Metricool(https://metricool.com)— 社媒数据仪表盘与多平台增长追踪的产品逻辑;2) Iconosquare(https://iconosquare.com)— Instagram/TikTok 数据分析中"内容生命周期"分析框架;3) SocialBlade(https://socialblade.com)— 粉丝增长曲线、增速预测、里程碑推算的计算方法;4) Me - Network accessline 9
| **参考项目** | 1) Metricool(https://metricool.com)— 社媒数据仪表盘与多平台增长追踪的产品逻辑;2) Iconosquare(https://iconosquare.com)— Instagram/TikTok 数据分析中"内容生命周期"分析框架;3) SocialBlade(https://socialblade.com)— 粉丝增长曲线、增速预测、里程碑推算的计算方法;4) MediaCrawler(GitHub NanmiC
skills/builtin/skill-data-tracker/scripts/track.py
skills/builtin/skill-douyin-upload/EASEL-META.md
- Network accessline 6
| **所属层** | publish | | **来源仓库** | WJZ-P/douyin-upload-mcp-skill | | **GitHub 地址** | https://github.com/WJZ-P/douyin-upload-mcp-skill | - Network accessline 7
| **来源仓库** | WJZ-P/douyin-upload-mcp-skill | | **GitHub 地址** | https://github.com/WJZ-P/douyin-upload-mcp-skill | | **Star 数** | ~100+ | - Network accessline 8
| **GitHub 地址** | https://github.com/WJZ-P/douyin-upload-mcp-skill | - Network accessline 24
- **参考来源**:[WJZ-P/douyin-upload-mcp-skill](https://github.com/WJZ-P/douyin-upload-mcp-skill)——**仅参考其 `src/douyin-ops.js` 的 creator.douyin.com 选择器与流程**,未引入 Node/MCP 依赖。 - Access to secretsline 27
[Credential-related source omitted]
skills/builtin/skill-douyin-upload/SKILL.md
skills/builtin/skill-event-calendar/EASEL-META.md
- Network accessline 20
| 项目 | 地址 | 参考用途 | |------|------|---------| | isee15/Lunar-Solar-Calendar-Converter | https://github.com/isee15/Lunar-Solar-Calendar-Converter | lunarInfo 年表 + 天数偏移换算的经典结构 | - Network accessline 21
|------|------|---------| | isee15/Lunar-Solar-Calendar-Converter | https://github.com/isee15/Lunar-Solar-Calendar-Converter | lunarInfo 年表 + 天数偏移换算的经典结构 | | jjonline/calendar.js | https://github.com/jjonline/calendar.js | 中文农历库常见的 lunarInf - Network accessline 22
| isee15/Lunar-Solar-Calendar-Converter | https://github.com/isee15/Lunar-Solar-Calendar-Converter | lunarInfo 年表 + 天数偏移换算的经典结构 | - Network accessline 23
| jjonline/calendar.js | https://github.com/jjonline/calendar.js | 中文农历库常见的 lunarInfo 编码与月大小判定位运算写法 |
skills/builtin/skill-event-calendar/scripts/lunar.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-kuaishou-upload/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(工具封装) | | **原始来源** | Easel 自研。快手发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / zhihu-publisher 共用 web_publisher. - Network accessline 8
| **原始来源** | Easel 自研。快手发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / zhihu-publisher 共用 web_publisher.py 框架 | | **许可** | 随 Eas - Network accessline 9
| **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / zhihu-publisher 共用 web_publisher.py 框架 |
skills/builtin/skill-livestream/references/output-template.md
- Possible obfuscationline 22
<U+200B>``` - Possible obfuscationline 24
<U+200B>``` - Possible obfuscationline 26
<U+200B>``` - Possible obfuscationline 28
<U+200B>``` - Possible obfuscationline 31
<U+200B>``` - Possible obfuscationline 33
<U+200B>``` - Possible obfuscationline 35
<U+200B>``` - Possible obfuscationline 37
<U+200B>``` - Possible obfuscationline 39
<U+200B>``` - Possible obfuscationline 41
<U+200B>``` - Possible obfuscationline 43
<U+200B>``` - Possible obfuscationline 45
<U+200B>``` - Possible obfuscationline 47
<U+200B>``` - Possible obfuscationline 49
<U+200B>```
skills/builtin/skill-my-account/references/commands.md
- Network accessline 35
## 2. 查创作数据 / 帖子 account_stats fetch(回答"我的粉丝 / 最近发了什么 / 有哪些帖子") - Network accessline 43
"nickname": "昵称", "followers": 12345, "likes": 67890, "following": 200, "posts": 42, "notes": [ {"title": "帖子标题", "url": "https://...", "cover": "封面URL", "stat": "赞/评/播放", - Network accessline 44
[Credential-related source omitted] - Network accessline 45
"notes": [ {"title": "帖子标题", "url": "https://...", "cover": "封面URL", "stat": "赞/评/播放",
skills/builtin/skill-news-intelligence/EASEL-META.md
- Network accessline 13
| **所属层** | discover | | **原始工具(回溯)** | cclank/news-aggregator-skill | | **原始地址** | https://github.com/cclank/news-aggregator-skill | - Network accessline 14
| **原始工具(回溯)** | cclank/news-aggregator-skill | | **原始地址** | https://github.com/cclank/news-aggregator-skill | | **原始定位** | 全网新闻聚合 skill,多源 + Playwright 绕过 Cloudflare + 场景化早报(综合/财经/科技/吃瓜/AI 深度)| - Network accessline 15
| **原始地址** | https://github.com/cclank/news-aggregator-skill | - Network accessline 26
| 项目 | 地址 | 用途 | |------|------|------| | cclank/news-aggregator-skill | https://github.com/cclank/news-aggregator-skill | 原始工具(本 SKILL 移植来源),场景化早报与多源聚合思路 | - Network accessline 27
|------|------|------| | cclank/news-aggregator-skill | https://github.com/cclank/news-aggregator-skill | 原始工具(本 SKILL 移植来源),场景化早报与多源聚合思路 | | RSS-Renaissance/awesome-newsCN-feeds | https://github.com/RSS-Renaissance/awesome-newsCN-feeds | 优 - Network accessline 28
| cclank/news-aggregator-skill | https://github.com/cclank/news-aggregator-skill | 原始工具(本 SKILL 移植来源),场景化早报与多源聚合思路 | - Network accessline 29
| RSS-Renaissance/awesome-newsCN-feeds | https://github.com/RSS-Renaissance/awesome-newsCN-feeds | 优质中文新闻媒体 RSS 清单(澎湃等 feedx 源) | - Network accessline 30
| weekend-project-space/top-rss-list | https://github.com/weekend-project-space/top-rss-list | 订阅人数最多的中文优质 RSS 源,用于筛选行业媒体源 | - Network accessline 31
| xiangyugongzuoliu/awesome-rss-feeds | https://github.com/xiangyugongzuoliu/awesome-rss-feeds | 全网 RSS 订阅源汇总,feedparser + OPML 选题情报库思路 | - Network accessline 32
| SuYxh/ai-news-aggregator | https://github.com/SuYxh/ai-news-aggregator | 80+ AI/科技资讯源聚合、RSS 导入与智能过滤参考 | - Network accessline 33
| jwenjian/reading-list | https://github.com/jwenjian/reading-list | 社区驱动中文高质量科技/内容聚合,选题情报形态参考 |
skills/builtin/skill-news-intelligence/scripts/daily_briefing.py
- Executable scriptline 1
Executable file
skills/builtin/skill-news-intelligence/scripts/fetch_news.py
- Executable scriptline 1
Executable file - Network accessline 58
return "" try: response = requests.get(url, headers=HEADERS, timeout=5) - Network accessline 59
try: response = requests.get(url, headers=HEADERS, timeout=5) response.raise_for_status() - Network accessline 60
response = requests.get(url, headers=HEADERS, timeout=5) - Network accessline 92
try: response = requests.get("https://36kr.com/newsflashes", headers=HEADERS, timeout=10) - Network accessline 93
response = requests.get("https://36kr.com/newsflashes", headers=HEADERS, timeout=10) - Network accessline 105
"source": "36氪", "title": title, "url": f"https://36kr.com{href}" if href and not href.startswith('http') else href, - Network accessline 106
"title": title, "url": f"https://36kr.com{href}" if href and not href.startswith('http') else href, "time": time_str, - Network accessline 107
"url": f"https://36kr.com{href}" if href and not href.startswith('http') else href, - Network accessline 118
try: url = "https://api-one.wallstcn.com/apiv1/content/information-flow?channel=global-channel&accept=article&limit=30" data = requests.get(url, timeout=10).json() - Network accessline 119
url = "https://api-one.wallstcn.com/apiv1/content/information-flow?channel=global-channel&accept=article&limit=30" data = requests.get(url, timeout=10).json() items = [] - Network accessline 120
data = requests.get(url, timeout=10).json() - Network accessline 140
try: url = "https://i.news.qq.com/web_backend/v2/getTagInfo?tagId=aEWqxLtdgmQ%3D" data = requests.get(url, headers={"Referer": "https://news.qq.com/"}, timeout=10).json() - Network accessline 141
url = "https://i.news.qq.com/web_backend/v2/getTagInfo?tagId=aEWqxLtdgmQ%3D" data = requests.get(url, headers={"Referer": "https://news.qq.com/"}, timeout=10).json() items = [] - Network accessline 142
data = requests.get(url, headers={"Referer": "https://news.qq.com/"}, timeout=10).json() - Network accessline 173
'woshipm': ("人人都是产品经理", "https://www.woshipm.com/feed", "自媒体·运营·内容"), - Network accessline 175
'huxiu': ("虎嗅", "https://www.huxiu.com/rss/0.xml", "商业·科技·消费"), - Network accessline 176
'tmtpost': ("钛媒体", "https://www.tmtpost.com/feed", "科技·商业"), - Network accessline 177
'geekpark': ("极客公园", "http://www.geekpark.net/rss", "科技·数码·消费"), - Network accessline 179
'sspai': ("少数派", "https://sspai.com/feed", "数码·效率·生活方式"), - Network accessline 181
'infoq_cn': ("InfoQ 中文", "https://www.infoq.cn/feed.xml", "技术·开发"), - Network accessline 183
'aihot': ("AIHOT", "https://aihot.virxact.com/rss", "AI 资讯", 24), - Network accessline 185
'thepaper': ("澎湃新闻", "https://feedx.net/rss/thepaper.xml", "时事·社会", 48),
skills/builtin/skill-news-intelligence/scripts/rss_parser.py
- Executable scriptline 1
Executable file - Network accessline 108
for attempt in range(3): try: response = requests.get(url, headers=headers, timeout=15, verify=False) - Network accessline 109
try: response = requests.get(url, headers=headers, timeout=15, verify=False) response.raise_for_status() - Network accessline 110
response = requests.get(url, headers=headers, timeout=15, verify=False)
skills/builtin/skill-persona-check/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研 | | **参考项目** | Taskade - AI Brand Voice Consistency Checker(https://www.taskade.com/agents/content/brand-voice-consistency-checker)— 品牌声音一致性检查 agent 的维度设计;ZBrain - Brand Voice Analyzer Agent(https://z - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | Taskade - AI Brand Voice Consistency Checker(https://www.taskade.com/agents/content/brand-voice-consistency-checker)— 品牌声音一致性检查 agent 的维度设计;ZBrain - Brand Voice Analyzer Agent(https://zbrain.ai/agents/Ma - Network accessline 9
| **参考项目** | Taskade - AI Brand Voice Consistency Checker(https://www.taskade.com/agents/content/brand-voice-consistency-checker)— 品牌声音一致性检查 agent 的维度设计;ZBrain - Brand Voice Analyzer Agent(https://zbrain.ai/agents/Marketing/all/Content-Deve
skills/builtin/skill-post-scorer/scripts/score.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-profile-manager/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研 | | **参考项目** | prateekjain98/social-media-manager-skills(https://github.com/prateekjain98/social-media-manager-skills)— personas 目录结构:每个 persona 一个文件夹、含 `_persona.md` 等多维度文件;vanities/social-skills(htt - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | prateekjain98/social-media-manager-skills(https://github.com/prateekjain98/social-media-manager-skills)— personas 目录结构:每个 persona 一个文件夹、含 `_persona.md` 等多维度文件;vanities/social-skills(https://github.com/va - Network accessline 9
| **参考项目** | prateekjain98/social-media-manager-skills(https://github.com/prateekjain98/social-media-manager-skills)— personas 目录结构:每个 persona 一个文件夹、含 `_persona.md` 等多维度文件;vanities/social-skills(https://github.com/vanities/social-skills)— `
skills/builtin/skill-publish-analytics/scripts/analyze.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-publish-checklist/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研 | | **参考项目** | SocialBu - Social Media Publishing Checklist(https://socialbu.com/blog/social-media-publishing-checklist-for-agencies)— 发布前多维度检查流程;Agorapulse - Social Media Approval Process(https://www - Network accessline 8
| **原始来源** | Easel 自研 | | **参考项目** | SocialBu - Social Media Publishing Checklist(https://socialbu.com/blog/social-media-publishing-checklist-for-agencies)— 发布前多维度检查流程;Agorapulse - Social Media Approval Process(https://www.agorapulse.com/bl - Network accessline 9
| **参考项目** | SocialBu - Social Media Publishing Checklist(https://socialbu.com/blog/social-media-publishing-checklist-for-agencies)— 发布前多维度检查流程;Agorapulse - Social Media Approval Process(https://www.agorapulse.com/blog/social-media-collabor
skills/builtin/skill-publish-log/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(定位为归因层数据底座,简化为轻量级 JSON 文件存储) | | **参考项目** | Aim Technologies - Social Media Post Tracker(https://www.aimtechnologies.co/2024/07/09/social-media-post-tracker-your-ultimate-guide/)— 发布追踪方法;Metricool - C - Network accessline 8
| **原始来源** | Easel 自研(定位为归因层数据底座,简化为轻量级 JSON 文件存储) | | **参考项目** | Aim Technologies - Social Media Post Tracker(https://www.aimtechnologies.co/2024/07/09/social-media-post-tracker-your-ultimate-guide/)— 发布追踪方法;Metricool - Content Publishing - Network accessline 9
| **参考项目** | Aim Technologies - Social Media Post Tracker(https://www.aimtechnologies.co/2024/07/09/social-media-post-tracker-your-ultimate-guide/)— 发布追踪方法;Metricool - Content Publishing & Tracking(https://metricool.com/);Iconosquare - Soci
skills/builtin/skill-publish-log/SKILL.md
- Network accessline 54
- 标题:《5 个被低估的 AI 工具》 - 时间:2026-07-22 14:30 - 链接:https://... - Network accessline 55
- 时间:2026-07-22 14:30 - 链接:https://... - 记录编号:#042 - Network accessline 56
- 链接:https://... - Network accessline 94
"platform": "小红书", "title": "5 个被低估的 AI 工具", "url": "https://...", - Network accessline 95
"title": "5 个被低估的 AI 工具", "url": "https://...", "type": "图文", - Network accessline 96
"url": "https://...", - Network accessline 140
# 记录(id 自增,原子写回 outputs/_analytics/publish-log.json) python3 skills/builtin/skill-publish-log/scripts/log.py record --platform 小红书 --title "标题" \ --type 图文 --url "https://..." --views 1000 --likes 120 \ - Network accessline 141
python3 skills/builtin/skill-publish-log/scripts/log.py record --platform 小红书 --title "标题" --type 图文 --url "https://..." --views 1000 --likes 120 - Network accessline 142
--type 图文 --url "https://..." --views 1000 --likes 120 \
skills/builtin/skill-publish-log/scripts/log.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted]
skills/builtin/skill-publish-notify/SKILL.md
- Network accessline 39
# 飞书群 python <skill>/scripts/notify.py send --channel feishu \ --webhook "https://open.feishu.cn/open-apis/bot/v2/hook/xxx" \ - Network accessline 40
python <skill>/scripts/notify.py send --channel feishu --webhook "https://open.feishu.cn/open-apis/bot/v2/hook/xxx" - Network accessline 41
--webhook "https://open.feishu.cn/open-apis/bot/v2/hook/xxx" \ - Network accessline 44
[Credential-related source omitted] - Network accessline 45
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 46
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted]
skills/builtin/skill-publish-notify/scripts/notify.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 18
用法举例: notify.py send --channel feishu --webhook https://open.feishu.cn/... --text "已发布:本期视频" - Network accessline 19
notify.py send --channel feishu --webhook https://open.feishu.cn/... --text "已发布:本期视频" - Network accessline 20
notify.py send --channel dingtalk --webhook https://oapi.dingtalk.com/... --secret SECxxx --text "..." - Network accessline 21
notify.py send --channel telegram --token 123:ABC --chat-id 456 --text "..." notify.py send --channel generic --webhook https://example.com/hook --text "..." --dry-run """ - Network accessline 22
notify.py send --channel generic --webhook https://example.com/hook --text "..." --dry-run - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 51
[Credential-related source omitted] - Network accessline 86
def _post_json(url: str, payload: dict, timeout: int = 20) -> tuple[int, str]: data = json.dumps(payload).encode("utf-8") req = urllib.request.Request( - Network accessline 87
data = json.dumps(payload).encode("utf-8") req = urllib.request.Request( url, data=data, - Network accessline 88
req = urllib.request.Request( - Network accessline 91
method="POST") try: with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 92
try: with urllib.request.urlopen(req, timeout=timeout) as resp: return resp.status, resp.read().decode("utf-8", "replace") - Network accessline 93
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 109
if not a.token or not a.chat_id: _die("telegram 需 --token 与 --chat-id") url = f"https://api.telegram.org/bot{a.token}/sendMessage" - Network accessline 110
_die("telegram 需 --token 与 --chat-id") url = f"https://api.telegram.org/bot{a.token}/sendMessage" payload = build_payload("telegram", a.text, a.title) - Network accessline 111
url = f"https://api.telegram.org/bot{a.token}/sendMessage" - Network accessline 166
try: _ensure_proxy() status, body = _post_json("https://httpbin.org/post", - Network accessline 167
_ensure_proxy() status, body = _post_json("https://httpbin.org/post", build_payload("generic", "easel-selftest", None), - Network accessline 168
status, body = _post_json("https://httpbin.org/post",
skills/builtin/skill-publish-scheduler/scripts/publish_queue.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-record-card/scripts/card.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-risk-scanner/references/copyright-guide.md
- Network accessline 56
| 图库 | 许可证 | 是否需要署名 | 特点 | |------|--------|-------------|------| | [Unsplash](https://unsplash.com) | Unsplash License | 不强制,建议署名 | 高质量摄影图,可商用 | - Network accessline 57
|------|--------|-------------|------| | [Unsplash](https://unsplash.com) | Unsplash License | 不强制,建议署名 | 高质量摄影图,可商用 | | [Pexels](https://www.pexels.com) | Pexels License | 不需要 | 摄影图+视频,可商用 | - Network accessline 58
| [Unsplash](https://unsplash.com) | Unsplash License | 不强制,建议署名 | 高质量摄影图,可商用 | - Network accessline 59
| [Pexels](https://www.pexels.com) | Pexels License | 不需要 | 摄影图+视频,可商用 | - Network accessline 60
| [Pixabay](https://pixabay.com) | Pixabay License | 不需要 | 图片+插画+视频+音效 | - Network accessline 61
| [StockSnap](https://stocksnap.io) | CC0 | 不需要 | CC0 完全免费 | - Network accessline 62
| [Burst by Shopify](https://burst.shopify.com) | Shopify License | 不需要 | 偏电商场景 | - Network accessline 63
| [Kaboompics](https://kaboompics.com) | Kaboompics License | 不强制 | 生活方式/美食/时尚 | - Network accessline 64
| [Reshot](https://www.reshot.com) | Reshot License | 不需要 | 图标+插画+摄影 | - Network accessline 65
| [unDraw](https://undraw.co) | unDraw 开放许可(免费商用,无需署名) | 不需要 | SVG 插画,可自定义颜色 | - Network accessline 76
| 各平台自带音乐库 | 抖音/小红书/视频号内置音乐,平台内使用安全 | 仅在对应平台发布 | | YouTube Audio Library(YouTube Studio 后台 → 音频库) | 免费无版权音乐和音效 | YouTube 视频,部分可跨平台 | | [Pixabay Music](https://pixabay.com/music/) | CC0 或 Pixabay License 音乐 | 通用商用 | - Network accessline 77
| YouTube Audio Library(YouTube Studio 后台 → 音频库) | 免费无版权音乐和音效 | YouTube 视频,部分可跨平台 | | [Pixabay Music](https://pixabay.com/music/) | CC0 或 Pixabay License 音乐 | 通用商用 | | [Free Music Archive](https://freemusicarchive.org) | CC 系列许可证 | 需确认具体许可证 - Network accessline 78
| [Pixabay Music](https://pixabay.com/music/) | CC0 或 Pixabay License 音乐 | 通用商用 | - Network accessline 79
| [Free Music Archive](https://freemusicarchive.org) | CC 系列许可证 | 需确认具体许可证 | - Network accessline 80
| [Mixkit](https://mixkit.co/free-stock-music/) | Mixkit License | 免费商用 | - Network accessline 81
| [Uppbeat](https://uppbeat.io) | 免费版有限额 | 社媒视频 | - Network accessline 82
| [Epidemic Sound](https://www.epidemicsound.com) | 付费订阅 | 专业内容创作,版权完全清晰 |
skills/builtin/skill-rss-aggregator/SKILL.md
skills/builtin/skill-rss-aggregator/scripts/rss_digest.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 12
用法举例: rss_digest.py fetch --feeds feeds.txt --keyword AI,大模型 --since 7 -o digest.md rss_digest.py fetch --url https://example.com/feed.xml --limit 20 - Network accessline 13
rss_digest.py fetch --feeds feeds.txt --keyword AI,大模型 --since 7 -o digest.md rss_digest.py fetch --url https://example.com/feed.xml --limit 20 """ - Network accessline 14
rss_digest.py fetch --url https://example.com/feed.xml --limit 20 - Network accessline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Network accessline 30
_ATOM = "{http://www.w3.org/2005/Atom}" - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Network accessline 114
def _fetch(url: str, timeout: int = 20) -> str: _ensure_proxy() req = urllib.request.Request(url, headers={"User-Agent": "Easel-rss/0.1"}) - Network accessline 115
_ensure_proxy() req = urllib.request.Request(url, headers={"User-Agent": "Easel-rss/0.1"}) try: - Network accessline 116
req = urllib.request.Request(url, headers={"User-Agent": "Easel-rss/0.1"}) - Network accessline 117
try: with urllib.request.urlopen(req, timeout=timeout) as resp: return resp.read().decode("utf-8", "replace") - Network accessline 118
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 201
_SAMPLE_RSS = """<?xml version="1.0"?> <rss version="2.0"><channel><title>Tech Feed</title> <item><title>AI 大模型最新进展</title><link>https://x.com/a</link> - Network accessline 202
<rss version="2.0"><channel><title>Tech Feed</title> <item><title>AI 大模型最新进展</title><link>https://x.com/a</link> <description><p>关于 AI 的深度报道</p></description> - Network accessline 203
<item><title>AI 大模型最新进展</title><link>https://x.com/a</link> - Network accessline 204
<description><p>关于 AI 的深度报道</p></description> <pubDate>Wed, 22 Jul 2026 10:00:00 +0000</pubDate></item> <item><title>美食探店合集</title><link>https://x.com/b</link> - Network accessline 205
<pubDate>Wed, 22 Jul 2026 10:00:00 +0000</pubDate></item> <item><title>美食探店合集</title><link>https://x.com/b</link> <description>本周美食</description><pubDate>Mon, 01 Jan 2001 10:00:00 +0000</pubDate></item> - Network accessline 206
<item><title>美食探店合集</title><link>https://x.com/b</link> - Network accessline 210
_SAMPLE_ATOM = """<?xml version="1.0"?> <feed xmlns="http://www.w3.org/2005/Atom"><title>Blog</title> - Network accessline 211
<feed xmlns="http://www.w3.org/2005/Atom"><title>Blog</title> - Network accessline 212
<entry><title>大模型应用实践</title><link href="https://y.com/1"/> - Network accessline 221
assert title == "Tech Feed", f"RSS 标题解析错:{title}" assert len(items) == 2, f"RSS 条目数错:{len(items)}" assert items[0]["link"] == "https://x.com/a" - Network accessline 222
assert len(items) == 2, f"RSS 条目数错:{len(items)}" assert items[0]["link"] == "https://x.com/a" assert "AI 的深度报道" in items[0]["summary"], "description HTML 未清洗" - Network accessline 223
assert items[0]["link"] == "https://x.com/a" - Network accessline 227
at, aitems = parse_feed(_SAMPLE_ATOM) assert at == "Blog" and len(aitems) == 1, "Atom 解析错" assert aitems[0]["link"] == "https://y.com/1", "Atom link href 解析错" - Network accessline 228
assert at == "Blog" and len(aitems) == 1, "Atom 解析错" assert aitems[0]["link"] == "https://y.com/1", "Atom link href 解析错" assert _parse_date(aitems[0]["published"]) is not None, "ISO 日期解析失败" - Network accessline 229
assert aitems[0]["link"] == "https://y.com/1", "Atom link href 解析错"
skills/builtin/skill-short-link/SKILL.md
- Network accessline 29
# 一步到位:拼 UTM + 缩短(最常用) python <skill>/scripts/shortlink.py both --url "https://shop.example.com/item/123" \ - Network accessline 30
python <skill>/scripts/shortlink.py both --url "https://shop.example.com/item/123" \ - Network accessline 33
# 只拼 UTM 参数 python <skill>/scripts/shortlink.py utm --url "https://a.com/p" \ - Network accessline 34
python <skill>/scripts/shortlink.py utm --url "https://a.com/p" \ - Network accessline 37
# 只缩短 python <skill>/scripts/shortlink.py short --url "https://a.com/very/long/url" --provider tinyurl - Network accessline 38
python <skill>/scripts/shortlink.py short --url "https://a.com/very/long/url" --provider tinyurl
skills/builtin/skill-short-link/scripts/shortlink.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 13
用法举例: shortlink.py utm --url https://a.com/p --source xiaohongshu --medium social --campaign summer - Network accessline 14
shortlink.py utm --url https://a.com/p --source xiaohongshu --medium social --campaign summer - Network accessline 15
shortlink.py short --url https://a.com/very/long --provider isgd --alias mycamp - Network accessline 16
shortlink.py both --url https://a.com/p --source douyin --medium video --campaign 618 - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Network accessline 60
def _http_get(url: str, timeout: int = 15) -> str: req = urllib.request.Request(url, headers={"User-Agent": "Easel-shortlink/0.1"}) - Network accessline 61
req = urllib.request.Request(url, headers={"User-Agent": "Easel-shortlink/0.1"}) - Network accessline 62
try: with urllib.request.urlopen(req, timeout=timeout) as resp: return resp.read().decode("utf-8", "replace") - Network accessline 63
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 75
if provider in ("isgd", "vgd"): host = "is.gd" if provider == "isgd" else "v.gd" api = f"https://{host}/create.php?format=json&url={enc}" - Network accessline 76
host = "is.gd" if provider == "isgd" else "v.gd" api = f"https://{host}/create.php?format=json&url={enc}" if alias: - Network accessline 77
api = f"https://{host}/create.php?format=json&url={enc}" if alias: api += f"&shorturl={urllib.parse.quote(alias)}" - Network accessline 87
_die(f"{host} 出错:{j.get('errormessage', body[:200])}") elif provider == "tinyurl": api = f"https://tinyurl.com/api-create.php?url={enc}" - Network accessline 88
elif provider == "tinyurl": api = f"https://tinyurl.com/api-create.php?url={enc}" body = _http_get(api).strip() - Network accessline 89
api = f"https://tinyurl.com/api-create.php?url={enc}" - Network accessline 122
u = build_utm("https://a.com/p?x=1", "小红书", "social", "summer sale", - Network accessline 132
try: s = shorten("https://www.wikipedia.org/easel-selftest", "tinyurl") - Network accessline 133
s = shorten("https://www.wikipedia.org/easel-selftest", "tinyurl")
skills/builtin/skill-social-performance-review/scripts/review.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-trending-topics/SKILL.md
- Network accessline 50
**主源 60s(v2,路径必须带 `/v2/`)** base `https://60s.viki.moe`: - Network accessline 51
- 微博 `https://60s.viki.moe/v2/weibo` | 抖音 `https://60s.viki.moe/v2/douyin` - Network accessline 52
- 知乎 `https://60s.viki.moe/v2/zhihu` | 头条 `https://60s.viki.moe/v2/toutiao` - Network accessline 53
- 小红书 `https://60s.viki.moe/v2/rednote` | 百度 `https://60s.viki.moe/v2/baidu/hot` - Network accessline 56
**备源 xxapi(主源某端点失败时用,尤其 B站)** base `https://v2.xxapi.cn`:
skills/builtin/skill-ugc-discovery/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(面向个人创作者、中文社媒生态,当前基于 WebSearch/WebFetch 实现) | | **参考项目** | Mention(mention.com)— 实时品牌提及监控、情感分析、影响者识别产品逻辑;Brand24(brand24.com)— 社媒提及追踪、话题热度与情感趋势分析框架;NanmiCoder/MediaCrawler(GitHub, https://github.com/Na - Network accessline 8
| **原始来源** | Easel 自研(面向个人创作者、中文社媒生态,当前基于 WebSearch/WebFetch 实现) | | **参考项目** | Mention(mention.com)— 实时品牌提及监控、情感分析、影响者识别产品逻辑;Brand24(brand24.com)— 社媒提及追踪、话题热度与情感趋势分析框架;NanmiCoder/MediaCrawler(GitHub, https://github.com/NanmiCoder/MediaCraw - Network accessline 9
| **参考项目** | Mention(mention.com)— 实时品牌提及监控、情感分析、影响者识别产品逻辑;Brand24(brand24.com)— 社媒提及追踪、话题热度与情感趋势分析框架;NanmiCoder/MediaCrawler(GitHub, https://github.com/NanmiCoder/MediaCrawler)— 多平台社媒内容爬取方案(小红书/抖音/B站等中文平台);WebSearch/WebFetch — Easel 当前实际搜索
skills/builtin/skill-voice-builder/EASEL-META.md
- Network accessline 6
| **所属层** | plan | | **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 7
| **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | | **Star 数** | ~1.7k | - Network accessline 8
| **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 34
| 仓库 | 地址 | 借鉴点 | |------|------|--------| | charlie947/social-media-skills | https://github.com/charlie947/social-media-skills | 原始来源:voice-builder 的 about-me.md + voice.md 双文件结构、访谈 + 样本分析流程 | - Network accessline 35
|------|------|--------| | charlie947/social-media-skills | https://github.com/charlie947/social-media-skills | 原始来源:voice-builder 的 about-me.md + voice.md 双文件结构、访谈 + 样本分析流程 | | omeyazic/ai-voice-capture-framework | https://github.com/omeya - Network accessline 36
| charlie947/social-media-skills | https://github.com/charlie947/social-media-skills | 原始来源:voice-builder 的 about-me.md + voice.md 双文件结构、访谈 + 样本分析流程 | - Network accessline 37
| omeyazic/ai-voice-capture-framework | https://github.com/omeyazic/ai-voice-capture-framework | Ruben Hassid "I am just a text file" 方法:多维度访谈、对模糊回答追问逼具体 | - Network accessline 38
| angelarose210/ghostwriter | https://github.com/angelarose210/ghostwriter | 反 AI 感模式库、句子节奏/用词/口头禅等可复用画像维度 | - Network accessline 39
| danielrosehill/My-Tone-Of-Voice | https://github.com/danielrosehill/My-Tone-Of-Voice | 跨格式收集真实样本、保留原始排版做参数化分析(段落长度/句子节奏) | - Network accessline 40
| jaimeschwarz/brandvoice | https://github.com/jaimeschwarz/brandvoice | 品牌声音治理理念(阶段化构建、以"拒绝什么"定义声音) |
skills/builtin/skill-wechat-publisher/EASEL-META.md
- Network accessline 6
| **所属层** | publish | | **来源仓库** | jiji262/wechat-publisher | | **GitHub 地址** | https://github.com/jiji262/wechat-publisher | - Network accessline 7
| **来源仓库** | jiji262/wechat-publisher | | **GitHub 地址** | https://github.com/jiji262/wechat-publisher | | **Star 数** | ~500+ | - Network accessline 8
| **GitHub 地址** | https://github.com/jiji262/wechat-publisher |
skills/builtin/skill-wechat-publisher/SKILL.md
skills/builtin/skill-wechat-publisher/assets/image-styles/README.md
- Network accessline 359
暖橙 / 桃色渐变底 + 卡通人物场景 + 大白气泡 + 手绘装饰。每张卡像一页小漫画,讲一个小故事。 **对标公众号示例文章 [Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ)**。视觉有温度、带情绪、有人物在场,适合"给你讲一件事"感觉的内容。 - Network accessline 360
**对标公众号示例文章 [Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ)**。视觉有温度、带情绪、有人物在场,适合"给你讲一件事"感觉的内容。
skills/builtin/skill-wechat-publisher/assets/image-styles/illustrated-warm.json
- Network accessline 41
"article_inline": "Generate a warm illustrated scene in Chinese, 4:3 landscape. Warm peach-to-orange gradient background. Topic: '{image_subject}'. A cute cartoon character illustration in editorial illustration style (not anime, not Corpor - Network accessline 42
}, "example_reference": "https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ", "notes": "视觉指纹是'人物 + 场景 + 气泡 + 温度'。如果话题本身是冷的(数据 / 架构 / 协议),换成 hand-drawn-blue 或 data-chart。这个风格的卖点是'有人讲给你听'的感觉 —— 别用在不讲故事的内容上。" - Network accessline 43
"example_reference": "https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ",
skills/builtin/skill-wechat-publisher/assets/image-styles/infographic-blue.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, architecture/fl - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "冷调技术变体。适合需要展现理性/技术/商务气质的话题。要点里有具体数字、API 名字、版本号、架构名词时效果最好。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
skills/builtin/skill-wechat-publisher/assets/image-styles/infographic-dark.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape, dark-mode variant. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information bloc - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "深色变体。适合前沿模型、协议、安全、基建、赛博话题。亮黄+霓虹青的点缀非常抓眼,但不适合生活化/温暖话题。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
skills/builtin/skill-wechat-publisher/assets/image-styles/infographic-mint.json
- Network accessline 52
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, checklist/steps - Network accessline 53
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "清新变体。适合生产力、工具、方法论、学习笔记类话题。比 infographic-warm 更明快,比 infographic-blue 更柔和。不适合严肃商业分析或赛博话题。共享的是高密度手绘信息图原则,不是固定角色或固定版式。" - Network accessline 54
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
skills/builtin/skill-wechat-publisher/assets/image-styles/infographic-warm.json
- Network accessline 54
"article_inline": "Generate a hand-drawn watercolor + ink Chinese infographic illustration, 16:9 landscape. Topic: '{image_subject}'. Make it high-density but readable: clear Chinese title, 3-5 structured information blocks, arrows/labels/m - Network accessline 55
}, "example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA", "notes": "**贴图模式的默认风格**。4 种 infographic-* 共享的是高密度手绘信息图原则,不是固定角色或固定版式。要点内容越具体,AI 渲染出的信息图越真实(数字、版本号、对比、步骤名都会被渲染成子卡片的文字);如果要点只是一句抽象观点,AI 会编具体内容,不如用 `marker-lime` - Network accessline 56
"example_reference": "https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA",
skills/builtin/skill-wechat-publisher/assets/theme-previews/academic-paper.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 14px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.35; font-style: italic; font-family: 'Times New Roman', serif;">§ § §</p> <h2 style="font-size: 18px; font- - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1a1a1a; margin: 40px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2 - Network accessline 43
<p style="margin: 16px 0; text-indent: 2em; text-align: justify; color: #1a1a1a; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a1a1a; text-decoration: none; border-bottom: 1px solid #1a1a1a;">官方博客</a>其实
skills/builtin/skill-wechat-publisher/assets/theme-previews/business-navy.html
- Network accessline 41
<p style="text-align: center; color: #c9a74a; letter-spacing: 16px; font-size: 12px; margin: 38px 0; user-select: none;">◇ ◇ ◇</p> <h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #0b2445; margin: 40px 0 18px; padding: 2px 0 2px 16px; border-left: 4px solid #c9a74a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-ali - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a233a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #1a4480; text-decoration: none; border-bottom: 1px solid rgba(26,68,128,0.4);"
skills/builtin/skill-wechat-publisher/assets/theme-previews/elegant-ink.html
- Network accessline 41
<p style="text-align: center; color: #1a1a1a; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.45;">· · ·</p> <h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4p - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 40px 0 20px; padding: 4px 0 10px 0; border-bottom: 1px solid #1a1a1a; line-height: 1.55; letter-spacing: 1.5px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-al - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #1d1a17; line-height: 2.0;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #6a2828; text-decoration: none; border-bottom: 1px solid rgba(106,40,40,0.5);">
skills/builtin/skill-wechat-publisher/assets/theme-previews/girly-pink.html
- Network accessline 41
<p style="text-align: center; color: #ff87c2; letter-spacing: 14px; font-size: 14px; margin: 36px 0; user-select: none; opacity: 0.7;">♡ ♡ ♡</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #b83f7a; margin: 38px 0 18px; padding: 8px 18px; background: linear-gradient(90deg, #ffe4f0 0%, transparent 100%); border-radius: 16px; line-height: 1.5; letter-spacing: 0.3px; display: - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #4a2a3e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b83f7a; text-decoration: none; border-bottom: 1px solid rgba(184,63,122,0.4);"
skills/builtin/skill-wechat-publisher/assets/theme-previews/ink-wash.html
- Network accessline 41
<p style="text-align: center; color: #8b2a1f; letter-spacing: 18px; font-size: 14px; margin: 42px 0; user-select: none; opacity: 0.5;">山 水 间</p> <h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0 - Network accessline 42
<h2 style="font-size: 19px; font-weight: 700; color: #8b2a1f; margin: 40px 0 20px; padding: 0; line-height: 1.6; letter-spacing: 2px;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05; - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #2b2420; line-height: 2.05;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b2a1f; text-decoration: none; border-bottom: 1px solid rgba(139,42,31,0.5);"
skills/builtin/skill-wechat-publisher/assets/theme-previews/magazine-grid.html
- Network accessline 41
<p style="text-align: center; color: #a0330f; letter-spacing: 8px; font-size: 18px; margin: 46px 0; user-select: none; font-style: italic; font-family: Georgia, serif;">· · ·</p> <h2 style="font-size: 12px; font-weight: 700; color: #a0330 - Network accessline 42
<h2 style="font-size: 12px; font-weight: 700; color: #a0330f; margin: 44px 0 18px; padding: 0 0 12px 0; border-bottom: 1px solid #a0330f; letter-spacing: 4px; text-transform: uppercase; line-height: 1.4;">结论</h2> <p style="margin: 16px 0; t - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f1a14; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #a0330f; text-decoration: none; border-bottom: 1px solid rgba(160,51,15,0.5);"
skills/builtin/skill-wechat-publisher/assets/theme-previews/minimal-bw.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 10px; margin: 36px 0; user-select: none; opacity: 0.35;">— — —</p> <h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: - Network accessline 42
<h2 style="font-size: 12.5px; font-weight: 700; color: #000000; margin: 42px 0 16px; padding: 18px 0 0 0; border-top: 2px solid #000000; letter-spacing: 3px; text-transform: uppercase; line-height: 1.5;">结论</h2> <p style="margin: 16px 0; te - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
skills/builtin/skill-wechat-publisher/assets/theme-previews/minimal-mono.html
- Network accessline 41
<p style="text-align: center; color: #000000; letter-spacing: 14px; font-size: 11px; margin: 34px 0; user-select: none; opacity: 0.4; font-family: 'JetBrains Mono', monospace;">/ / /</p> <h2 style="font-size: 17px; font-weight: 800; color: - Network accessline 42
<h2 style="font-size: 17px; font-weight: 800; color: #000000; margin: 36px 0 16px; padding: 0; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.8 - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #000000; text-decoration: none; border-bottom: 1px solid #000000;">官方博客</a>其实早
skills/builtin/skill-wechat-publisher/assets/theme-previews/mint-fresh.html
- Network accessline 41
<p style="text-align: center; color: #4fb896; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.6;">✿ ✿ ✿</p> <h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 700; color: #0f5a4a; margin: 38px 0 18px; padding: 8px 14px; background: #e4f3ec; border-radius: 10px; line-height: 1.5; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="margin: 16p - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1f3a33; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #0f5a4a; text-decoration: none; border-bottom: 1px solid rgba(15,90,74,0.4);">官
skills/builtin/skill-wechat-publisher/assets/theme-previews/news-bold.html
- Network accessline 41
<p style="text-align: center; color: #d4231c; letter-spacing: 8px; font-size: 13px; margin: 34px 0; user-select: none; font-weight: 800;">/ / NEWS / /</p> <h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; pa - Network accessline 42
<h2 style="font-size: 17px; font-weight: 900; color: #ffffff; margin: 36px 0 16px; padding: 8px 14px; background: #1a1a1a; border-left: 6px solid #d4231c; line-height: 1.45; letter-spacing: 0.3px; display: inline-block;">结论</h2> <p style="m - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1a1a1a; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #d4231c; text-decoration: none; border-bottom: 1px solid #d4231c;">官方博客</a>其实早
skills/builtin/skill-wechat-publisher/assets/theme-previews/refined-blue.html
- Network accessline 41
<p style="text-align: center; color: #c7d2fe; letter-spacing: 14px; font-size: 11px; margin: 36px 0; user-select: none;">● ● ●</p> <h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14 - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #0b1530; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #2e5bff; background: linear-gradient(90deg, #eef2ff 0%, #ffffff 70%); border-radius: 0 6px 6px 0; line-h - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #242832; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #2e5bff; text-decoration: none; border-bottom: 1px solid rgba(46,91,255,0.35);
skills/builtin/skill-wechat-publisher/assets/theme-previews/sage-premium.html
- Network accessline 41
<p style="text-align: center; color: #b8c5bb; letter-spacing: 14px; font-size: 12px; margin: 36px 0; user-select: none;">◆ ◆ ◆</p> <h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #1e2a21; margin: 40px 0 18px; padding: 10px 16px 10px 14px; border-left: 4px solid #5c7a65; background: linear-gradient(90deg, #e8ede3 0%, transparent 80%); border-radius: 0 4px 4px 0; li - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #1e2a21; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #3a4f3f; text-decoration: none; border-bottom: 1px solid rgba(58,79,63,0.4); pa
skills/builtin/skill-wechat-publisher/assets/theme-previews/sample.md
- Network accessline 64
说实话,这种范式转移背后,[官方博客](https://www.anthropic.com)其实早就埋过伏笔。Claude 付费用户,**正在变成另一个物种**。
skills/builtin/skill-wechat-publisher/assets/theme-previews/sunset-coral.html
- Network accessline 41
<p style="text-align: center; color: #ff6b4a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">✦ ✦ ✦</p> <h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10p - Network accessline 42
<h2 style="font-size: 18px; font-weight: 800; color: #2b1a10; margin: 38px 0 18px; padding: 10px 14px; background: linear-gradient(90deg, #ffe8dd 0%, #ffe8dd 3px, #fff3eb 3px, transparent 100%); border-radius: 4px; line-height: 1.5; letter- - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #2b1a10; line-height: 1.85;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #c43a1a; text-decoration: none; border-bottom: 1px solid rgba(196,58,26,0.4);
skills/builtin/skill-wechat-publisher/assets/theme-previews/warm-editorial.html
- Network accessline 41
<p style="text-align: center; color: #c9a27d; letter-spacing: 12px; font-size: 14px; margin: 36px 0; user-select: none;">❦ ❦ ❦</p> <h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; b - Network accessline 42
<h2 style="font-size: 18px; font-weight: 700; color: #5a2f1a; margin: 38px 0 20px; padding: 4px 0 10px 0; border-bottom: 2px solid #c9a27d; line-height: 1.5;">结论</h2> <p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a - Network accessline 43
<p style="margin: 18px 0; text-indent: 0; text-align: justify; color: #3a2e26; line-height: 1.95;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #8b4513; text-decoration: none; border-bottom: 1px solid rgba(139,69,19,0.4);"
skills/builtin/skill-wechat-publisher/assets/theme-previews/warm-orange.html
- Network accessline 41
<p style="text-align: center; color: #e58b3a; letter-spacing: 14px; font-size: 13px; margin: 36px 0; user-select: none; opacity: 0.7;">◉ ◉ ◉</p> <h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4 - Network accessline 42
<h2 style="font-size: 17.5px; font-weight: 800; color: #3a2a1e; margin: 38px 0 18px; padding: 4px 0 4px 14px; border-left: 4px solid #e58b3a; line-height: 1.5; letter-spacing: 0.3px;">结论</h2> <p style="margin: 16px 0; text-indent: 0; text-a - Network accessline 43
<p style="margin: 16px 0; text-indent: 0; text-align: justify; color: #3a2a1e; line-height: 1.9;">说实话,这种范式转移背后,<a href="https://www.anthropic.com" style="color: #b5601c; text-decoration: none; border-bottom: 1px solid rgba(181,96,28,0.4);">
skills/builtin/skill-wechat-publisher/references/api_reference.md
- Network accessline 7
- **URL**: `https://api.weixin.qq.com/cgi-bin/token` - Access to secretsline 15
[Credential-related source omitted] - Network accessline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Network accessline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Network accessline 39
{"url": "https://mmbiz.qpic.cn/..."} - Network accessline 45
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/references/errors.md
- Network accessline 6
|---|---|---| | `ConfigError` | `wechat-publisher.yaml` 缺失或账号不存在 / 字段不全 | 检查文件是否存在、`default` 字段、`app_id`/`app_secret` | | `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | - Network accessline 7
| `ConfigError` | `wechat-publisher.yaml` 缺失或账号不存在 / 字段不全 | 检查文件是否存在、`default` 字段、`app_id`/`app_secret` | | `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | | `40001 access_token 无效` | token 过期或凭证错 | 检查 `wechat-publishe - Network accessline 8
| `40164 IP 不在白名单` | 机器 IP 未加白名单 | `curl ifconfig.me` 取 IP → 公众平台加白名单 | - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 17
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/references/multi-platform-sync.md
- Network accessline 7
底层基于 [Wechatsync](https://github.com/wechatsync/Wechatsync),复用 Chrome 扩展里各平台已登录的 Cookie,不经过任何第三方服务器。
skills/builtin/skill-wechat-publisher/references/newspic-mode.md
- Network accessline 5
- 单一主题的"拆卡"式讲解(示例:[Claude Code /rewind](https://mp.weixin.qq.com/s/erEF74HRGkrBPxTGsKDsSQ))
skills/builtin/skill-wechat-publisher/scripts/ai_score.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-wechat-publisher/scripts/api.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 20
[Credential-related source omitted] - Network accessline 23
API_TIMEOUT_SEC = 30 API_RETRIES = 2 API_BASE = "https://api.weixin.qq.com/cgi-bin" - Network accessline 25
API_BASE = "https://api.weixin.qq.com/cgi-bin" - Network accessline 52
for attempt in range(retries + 1): try: resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) - Network accessline 53
try: resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) if 500 <= resp.status_code < 600 and attempt < retries: - Network accessline 54
resp = requests.request(method, url, timeout=API_TIMEOUT_SEC, **kwargs) - Access to secretsline 74
[Credential-related source omitted] - Network accessline 76
[Credential-related source omitted] - Network accessline 77
[Credential-related source omitted] - Network accessline 78
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 112
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 180
[Credential-related source omitted] - Access to secretsline 181
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/scripts/baoyu_image_gen.ts
skills/builtin/skill-wechat-publisher/scripts/baoyu_image_gen_core.ts
- Executable scriptline 1
Executable file - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Network accessline 212
args: CliArgs ): Promise<Uint8Array> { const baseURL = (process.env.OPENAI_BASE_URL || "https://api.openai.com/v1").replace(/\/$/, ""); - Network accessline 213
[Credential-related source omitted] - Network accessline 214
const baseURL = (process.env.OPENAI_BASE_URL || "https://api.openai.com/v1").replace(/\/$/, ""); - Access to secretsline 215
[Credential-related source omitted] - Access to secretsline 216
[Credential-related source omitted] - Network accessline 225
const res = await fetch(`${baseURL}/images/generations`, { - Access to secretsline 247
[Credential-related source omitted] - Access to secretsline 249
[Credential-related source omitted] - Network accessline 266
const res = await fetch(`${baseURL}/chat/completions`, { - Network accessline 383
async function downloadImage(url: string): Promise<Uint8Array> { const res = await fetch(url); - Network accessline 384
const res = await fetch(url);
skills/builtin/skill-wechat-publisher/scripts/config.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 87
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 127
[Credential-related source omitted] - Network accessline 268
# 贴图(newspic)模式的兜底风格 —— 高密度手绘水彩信息图,对标 # https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA - Network accessline 269
# https://mp.weixin.qq.com/s/nSlGjh9hjM63jxz_jgUCwA
skills/builtin/skill-wechat-publisher/scripts/generate_image.py
skills/builtin/skill-wechat-publisher/scripts/html_converter.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-wechat-publisher/scripts/image_handler.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 151
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_re - Network accessline 152
} resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_redirects=True) resp.raise_for_status() - Network accessline 153
resp = requests.get(url, headers=headers, timeout=timeout, stream=True, allow_redirects=True) - Access to secretsline 404
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/scripts/multi_publish.py
skills/builtin/skill-wechat-publisher/scripts/newspic_build.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/skill-wechat-publisher/scripts/publish.py
skills/builtin/skill-wechat-publisher/scripts/sync_pages.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/builtin/skill-wechat-publisher/scripts/wechat_api.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 7
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 103
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/scripts/wechat_token.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 3
[Credential-related source omitted] - Network accessline 23
TOKEN_SAFETY_MARGIN_SEC = 300 # 提前 5 分钟刷新 TOKEN_TIMEOUT_SEC = 10 TOKEN_API_URL = "https://api.weixin.qq.com/cgi-bin/token" - Network accessline 25
TOKEN_API_URL = "https://api.weixin.qq.com/cgi-bin/token" - Network accessline 79
for attempt in range(retries + 1): try: resp = requests.get( - Network accessline 80
try: resp = requests.get( TOKEN_API_URL, - Network accessline 81
resp = requests.get( - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 123
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/tests/__init__.py
- Executable scriptline 1
Executable file
skills/builtin/skill-wechat-publisher/tests/conftest.py
- Executable scriptline 1
Executable file
skills/builtin/skill-wechat-publisher/tests/test_ai_score.py
- Executable scriptline 1
Executable file
skills/builtin/skill-wechat-publisher/tests/test_config.py
- Executable scriptline 1
Executable file - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Network accessline 92
[Credential-related source omitted] - Network accessline 93
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Network accessline 94
base_url: "https://api.example/v1" - Network accessline 96
[Credential-related source omitted] - Network accessline 97
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Network accessline 98
base_url: "https://proxy.example" - Network accessline 108
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Network accessline 109
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Network accessline 110
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/tests/test_config_integration.py
- Executable scriptline 1
Executable file - Network accessline 37
generator: "baoyu-danger-gemini-web" gemini_proxy: base_url: "https://skill-root.example" - Network accessline 38
[Credential-related source omitted] - Network accessline 39
base_url: "https://skill-root.example" - Access to secretsline 40
[Credential-related source omitted] - Network accessline 60
generator: "baoyu-image-gen" gemini_proxy: base_url: "https://wrong-cwd.example" - Network accessline 61
[Credential-related source omitted] - Network accessline 62
base_url: "https://wrong-cwd.example" - Access to secretsline 63
[Credential-related source omitted] - Network accessline 84
generator: "baoyu-image-gen" gemini_proxy: base_url: "https://wrong-home.example" - Network accessline 85
[Credential-related source omitted] - Network accessline 86
base_url: "https://wrong-home.example" - Access to secretsline 87
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted] - Network accessline 166
assert result.stdout.strip() == ( '{"provider":"gemini-proxy","baseUrl":"https://skill-root.example",' - Network accessline 167
'{"provider":"gemini-proxy","baseUrl":"https://skill-root.example",' - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 223
[Credential-related source omitted] - Access to secretsline 225
[Credential-related source omitted] - Access to secretsline 264
[Credential-related source omitted] - Access to secretsline 322
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/tests/test_draft_submission.py
- Executable scriptline 1
Executable file - Access to secretsline 11
[Credential-related source omitted] - Network accessline 22
if error: raise error response = requests.Response() - Network accessline 23
raise error response = requests.Response() response.status_code = status - Network accessline 24
response = requests.Response() - Network accessline 33
@pytest.mark.parametrize("error", [requests.Timeout("private-token"), requests.ConnectionError("private-token")]) - Access to secretsline 81
[Credential-related source omitted]
skills/builtin/skill-wechat-publisher/tests/test_html_converter.py
- Executable scriptline 1
Executable file - Network accessline 186
md = "" - Network accessline 189
assert "<img" in html assert "https://example.com/img.png" in html - Network accessline 190
assert "https://example.com/img.png" in html - Network accessline 196
md = "参考 [文档](https://example.com/doc)" - Network accessline 199
assert '<a ' in html assert 'https://example.com/doc' in html - Network accessline 200
assert 'https://example.com/doc' in html
skills/builtin/skill-wechat-publisher/wechat-publisher.yaml.example
- Network accessline 37
[Credential-related source omitted] - Network accessline 38
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Network accessline 39
base_url: "https://api.openai.com/v1" - Network accessline 42
# baoyu-image-gen / provider=gemini-proxy gemini_proxy: base_url: "https://generativelanguage.googleapis.com" - Network accessline 43
[Credential-related source omitted] - Network accessline 44
base_url: "https://generativelanguage.googleapis.com" - Access to secretsline 45
[Credential-related source omitted]
skills/builtin/skill-xhs-analyzer/.github/workflows/npm-publish.yml
skills/builtin/skill-xhs-analyzer/EASEL-META.md
- Network accessline 6
| **所属层** | attribute | | **来源仓库** | lucasygu/redbook | | **GitHub 地址** | https://github.com/lucasygu/redbook | - Network accessline 7
| **来源仓库** | lucasygu/redbook | | **GitHub 地址** | https://github.com/lucasygu/redbook | | **Star 数** | ~100+ | - Network accessline 8
| **GitHub 地址** | https://github.com/lucasygu/redbook |
skills/builtin/skill-xhs-analyzer/SKILL.md
- Network accessline 18
package: "@lucasygu/redbook" bins: [redbook] homepage: https://github.com/lucasygu/redbook - Network accessline 19
bins: [redbook] homepage: https://github.com/lucasygu/redbook --- - Network accessline 20
homepage: https://github.com/lucasygu/redbook - Access to secretsline 29
[Credential-related source omitted]
skills/builtin/skill-xhs-analyzer/package-lock.json
- Network accessline 42
"node_modules/@puppeteer/browsers": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.0.tgz", - Network accessline 43
"version": "2.13.0", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.0.tgz", "integrity": "sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==", - Network accessline 44
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.0.tgz", - Network accessline 64
"node_modules/@steipete/sweet-cookie": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@steipete/sweet-cookie/-/sweet-cookie-0.1.0.tgz", - Network accessline 65
"version": "0.1.0", "resolved": "https://registry.npmjs.org/@steipete/sweet-cookie/-/sweet-cookie-0.1.0.tgz", "integrity": "sha512-cF8hS6rTohAFI1NAm2/HM9omBlw6V1DpwF6q5e9FB+l274HjtyirCgCc6QK2Rtuh7uDoqWHshFQZPsceyJuVgw==", - Network accessline 66
"resolved": "https://registry.npmjs.org/@steipete/sweet-cookie/-/sweet-cookie-0.1.0.tgz", - Network accessline 73
"node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - Network accessline 74
"version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDt - Network accessline 75
"resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - Network accessline 80
"node_modules/@types/node": { "version": "22.19.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", - Network accessline 81
"version": "22.19.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", - Network accessline 82
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", - Network accessline 90
"node_modules/@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - Network accessline 91
"version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - Network accessline 92
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - Network accessline 101
"node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - Network accessline 102
"version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - Network accessline 103
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - Network accessline 111
"node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 112
"version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - Network accessline 113
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 121
"node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 122
"version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - Network accessline 123
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 132
}, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 133
"funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } - Network accessline 134
"url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 137
"node_modules/ast-types": { "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - Network accessline 138
"version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - Network accessline 139
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - Network accessline 150
"node_modules/b4a": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", - Network accessline 151
"version": "1.8.0", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", - Network accessline 152
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", - Network accessline 165
"node_modules/bare-events": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - Network accessline 166
"version": "2.8.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", - Network accessline 167
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - Network accessline 180
"node_modules/bare-fs": { "version": "4.5.5", "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz", - Network accessline 181
"version": "4.5.5", "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz", "integrity": "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==", - Network accessline 182
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz", - Network accessline 205
"node_modules/bare-os": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.7.0.tgz", - Network accessline 206
"version": "3.7.0", "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.7.0.tgz", "integrity": "sha512-64Rcwj8qlnTZU8Ps6JJEdSmxBEUGgI7g8l+lMtsJLl4IsfTcHMTfJ188u2iGV6P6YPRZrtv72B2kjn+hp+Yv3g==", - Network accessline 207
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.7.0.tgz", - Network accessline 215
"node_modules/bare-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - Network accessline 216
"version": "3.0.0", "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - Network accessline 217
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - Network accessline 225
"node_modules/bare-stream": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.0.tgz", - Network accessline 226
"version": "2.8.0", "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.0.tgz", "integrity": "sha512-reUN0M2sHRqCdG4lUK3Fw8w98eeUIZHL5c3H7Mbhk2yVBL+oofgaIp0ieLfD5QXwPCypBpmEEKU2WZKzbAk8GA==", - Network accessline 227
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.0.tgz", - Network accessline 248
"node_modules/bare-url": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz", - Network accessline 249
"version": "2.3.2", "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz", "integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==", - Network accessline 250
"resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz", - Network accessline 258
"node_modules/basic-ftp": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz", - Network accessline 259
"version": "5.2.0", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz", "integrity": "sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==", - Network accessline 260
"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz", - Network accessline 268
"node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - Network accessline 269
"version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - Network accessline 270
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - Network accessline 278
"node_modules/chromium-bidi": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-14.0.0.tgz", - Network accessline 279
"version": "14.0.0", "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-14.0.0.tgz", "integrity": "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==", - Network accessline 280
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-14.0.0.tgz", - Network accessline 292
"node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - Network accessline 293
"version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - Network accessline 294
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - Network accessline 307
"node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 308
"version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - Network accessline 309
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 320
"node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 321
"version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - Network accessline 322
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 327
"node_modules/commander": { "version": "13.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - Network accessline 328
"version": "13.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - Network accessline 329
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - Network accessline 336
"node_modules/data-uri-to-buffer": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - Network accessline 337
"version": "6.0.2", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - Network accessline 338
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - Network accessline 346
"node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 347
"version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - Network accessline 348
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 364
"node_modules/degenerator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - Network accessline 365
"version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - Network accessline 366
"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - Network accessline 379
"node_modules/devtools-protocol": { "version": "0.0.1566079", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1566079.tgz", - Network accessline 380
"version": "0.0.1566079", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1566079.tgz", "integrity": "sha512-MJfAEA1UfVhSs7fbSQOG4czavUp1ajfg6prlAN0+cmfa2zNjaIbvq8VneP7do1WAQQIvgNJWSMeP6UyI90gIl - Network accessline 381
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1566079.tgz", - Network accessline 386
"node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 387
"version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - Network accessline 388
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 393
"node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - Network accessline 394
"version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - Network accessline 395
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - Network accessline 403
"node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - Network accessline 404
"version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - Network accessline 405
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - Network accessline 413
"node_modules/escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - Network accessline 414
"version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - Network accessline 415
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - Network accessline 435
"node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - Network accessline 436
"version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - Network accessline 437
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - Network accessline 449
"node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - Network accessline 450
"version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - Network accessline 451
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - Network accessline 459
"node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - Network accessline 460
"version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - Network accessline 461
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - Network accessline 469
"node_modules/events-universal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", - Network accessline 470
"version": "1.0.1", "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", - Network accessline 471
"resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", - Network accessline 479
"node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - Network accessline 480
"version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - Network accessline 481
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - Network accessline 500
"node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - Network accessline 501
"version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - Network accessline 502
"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - Network accessline 507
"node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - Network accessline 508
"version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - Network accessline 509
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - Network accessline 517
"node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - Network accessline 518
"version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - Network accessline 519
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - Network accessline 527
"node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - Network accessline 528
"version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - Network accessline 529
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - Network accessline 538
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 539
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 540
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 543
"node_modules/get-uri": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", - Network accessline 544
"version": "6.0.5", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", - Network accessline 545
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", - Network accessline 558
"node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - Network accessline 559
"version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - Network accessline 560
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - Network accessline 572
"node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - Network accessline 573
"version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - Network accessline 574
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - Network accessline 586
"node_modules/ip-address": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - Network accessline 587
"version": "10.1.0", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", - Network accessline 588
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - Network accessline 596
"node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - Network accessline 597
"version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQ - Network accessline 598
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - Network accessline 606
"node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - Network accessline 607
"version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - Network accessline 608
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - Network accessline 615
"node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - Network accessline 616
"version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - Network accessline 617
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - Network accessline 625
"node_modules/marked": { "version": "15.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", - Network accessline 626
"version": "15.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", - Network accessline 627
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", - Network accessline 638
"node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - Network accessline 639
"version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - Network accessline 640
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - Network accessline 645
"node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 646
"version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - Network accessline 647
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 652
"node_modules/netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - Network accessline 653
"version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - Network accessline 654
"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - Network accessline 662
"node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - Network accessline 663
"version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - Network accessline 664
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - Network accessline 672
"node_modules/pac-proxy-agent": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", - Network accessline 673
"version": "7.2.0", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", - Network accessline 674
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", - Network accessline 692
"node_modules/pac-resolver": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - Network accessline 693
"version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - Network accessline 694
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - Network accessline 706
"node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - Network accessline 707
"version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - Network accessline 708
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - Network accessline 713
"node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - Network accessline 714
"version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - Network accessline 715
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - Network accessline 723
"node_modules/proxy-agent": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", - Network accessline 724
"version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", - Network accessline 725
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", - Network accessline 743
"node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - Network accessline 744
"version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - Network accessline 745
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - Network accessline 750
"node_modules/pump": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - Network accessline 751
"version": "3.0.4", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", - Network accessline 752
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - Network accessline 761
"node_modules/puppeteer-core": { "version": "24.37.5", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.37.5.tgz", - Network accessline 762
"version": "24.37.5", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.37.5.tgz", "integrity": "sha512-ybL7iE78YPN4T6J+sPLO7r0lSByp/0NN6PvfBEql219cOnttoTFzCWKiBOjstXSqi/OKpwae623DWAsL7cn2MQ==", - Network accessline 763
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.37.5.tgz", - Network accessline 780
"node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - Network accessline 781
"version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - Network accessline 782
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - Network accessline 790
"node_modules/semver": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - Network accessline 791
"version": "7.7.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - Network accessline 792
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - Network accessline 803
"node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - Network accessline 804
"version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - Network accessline 805
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - Network accessline 814
"node_modules/socks": { "version": "2.8.7", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - Network accessline 815
"version": "2.8.7", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - Network accessline 816
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - Network accessline 829
"node_modules/socks-proxy-agent": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - Network accessline 830
"version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - Network accessline 831
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - Network accessline 844
"node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 845
"version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - Network accessline 846
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 855
"node_modules/streamx": { "version": "2.23.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - Network accessline 856
"version": "2.23.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", - Network accessline 857
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - Network accessline 867
"node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 868
"version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - Network accessline 869
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 882
"node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 883
"version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - Network accessline 884
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 895
"node_modules/tar-fs": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", - Network accessline 896
"version": "3.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", - Network accessline 897
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", - Network accessline 910
"node_modules/tar-stream": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", - Network accessline 911
"version": "3.1.8", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", - Network accessline 912
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", - Network accessline 923
"node_modules/teex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", - Network accessline 924
"version": "1.0.1", "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", - Network accessline 925
"resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", - Network accessline 933
"node_modules/text-decoder": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", - Network accessline 934
"version": "1.2.7", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", - Network accessline 935
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", - Network accessline 943
"node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - Network accessline 944
"version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - Network accessline 945
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - Network accessline 950
"node_modules/typed-query-selector": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.1.tgz", - Network accessline 951
"version": "2.12.1", "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.1.tgz", "integrity": "sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==" - Network accessline 952
"resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.1.tgz", - Network accessline 957
"node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 958
"version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - Network accessline 959
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - Network accessline 971
"node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 972
"version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - Network accessline 973
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 978
"node_modules/webdriver-bidi-protocol": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", - Network accessline 979
"version": "0.4.1", "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", "integrity": "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10q - Network accessline 980
"resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", - Network accessline 985
"node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - Network accessline 986
"version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - Network accessline 987
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - Network accessline 998
}, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 999
"funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } - Network accessline 1000
"url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 1003
"node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - Network accessline 1004
"version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - Network accessline 1005
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - Network accessline 1010
"node_modules/ws": { "version": "8.19.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - Network accessline 1011
"version": "8.19.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", - Network accessline 1012
"resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - Network accessline 1032
"node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - Network accessline 1033
"version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - Network accessline 1034
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - Network accessline 1042
"node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - Network accessline 1043
"version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - Network accessline 1044
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - Network accessline 1061
"node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - Network accessline 1062
"version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - Network accessline 1063
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - Network accessline 1071
"node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - Network accessline 1072
"version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - Network accessline 1073
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - Network accessline 1082
"node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - Network accessline 1083
"version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - Network accessline 1084
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - Network accessline 1087
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 1088
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 1089
"url": "https://github.com/sponsors/colinhacks"
skills/builtin/skill-xhs-analyzer/package.json
- Executable scriptline 1
Executable file - Network accessline 45
"repository": { "type": "git", "url": "git+https://github.com/lucasygu/redbook.git" - Network accessline 46
"type": "git", "url": "git+https://github.com/lucasygu/redbook.git" }, - Network accessline 47
"url": "git+https://github.com/lucasygu/redbook.git" - Network accessline 48
}, "bugs": { "url": "https://github.com/lucasygu/redbook/issues" - Network accessline 49
"bugs": { "url": "https://github.com/lucasygu/redbook/issues" }, - Network accessline 50
"url": "https://github.com/lucasygu/redbook/issues"
skills/builtin/skill-xhs-analyzer/scripts/postinstall.js
skills/builtin/skill-xhs-analyzer/scripts/preuninstall.js
- Executable scriptline 1
#!/usr/bin/env node
skills/builtin/skill-xhs-analyzer/social-preview.html
- Network accessline 1
<!DOCTYPE html> <html><head><meta charset="utf-8"> <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"> - Network accessline 2
<html><head><meta charset="utf-8"> <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"> <style> - Network accessline 3
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
skills/builtin/skill-xhs-analyzer/src/cli.ts
- Executable scriptline 1
#!/usr/bin/env node - Access to secretsline 80
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Access to secretsline 419
[Credential-related source omitted] - Access to secretsline 422
[Credential-related source omitted] - Access to secretsline 423
[Credential-related source omitted] - Network accessline 591
"Note returned empty. This usually means the request needs an xsec_token.\n" + "Tip: use a full note URL from search results or the browser address bar, e.g.:\n" + ` redbook read "https://www.xiaohongshu.com/explore/${noteI - Network accessline 592
[Credential-related source omitted] - Network accessline 593
[Credential-related source omitted] - Network accessline 909
const url = typeof r.webUrl === "string" ? r.webUrl : `https://www.xiaohongshu.com/explore/${r.note_id}`; - Network accessline 910
? r.webUrl : `https://www.xiaohongshu.com/explore/${r.note_id}`; console.log(` URL: ${url}`); - Network accessline 911
: `https://www.xiaohongshu.com/explore/${r.note_id}`; - Network accessline 1404
.command("analyze-viral <url>") .description("Analyze why a viral note works — hooks, engagement, structure"); analyzeViralCmd.option("--comment-pages <n>", "Comment pages to fetch (max 10)", "3"); - Network accessline 1405
.description("Analyze why a viral note works — hooks, engagement, structure"); analyzeViralCmd.option("--comment-pages <n>", "Comment pages to fetch (max 10)", "3"); addCookieOption(analyzeViralCmd); - Network accessline 1406
analyzeViralCmd.option("--comment-pages <n>", "Comment pages to fetch (max 10)", "3"); - Network accessline 1889
[Credential-related source omitted] - Network accessline 1890
// or https://www.xiaohongshu.com/discovery/item/abc123
skills/builtin/skill-xhs-analyzer/src/lib/analyze.ts
skills/builtin/skill-xhs-analyzer/src/lib/cdp-cookies.ts
- Executable scriptline 1
Executable file - Network accessline 21
const CDP_PORT = 9222; const CDP_BASE = `http://127.0.0.1:${CDP_PORT}`; - Network accessline 22
const CDP_BASE = `http://127.0.0.1:${CDP_PORT}`; - Network accessline 97
async function getDebuggerWebSocketUrl(): Promise<string | null> { try { const res = await fetch(`${CDP_BASE}/json/version`, { - Network accessline 98
try { const res = await fetch(`${CDP_BASE}/json/version`, { signal: AbortSignal.timeout(3_000), - Network accessline 99
const res = await fetch(`${CDP_BASE}/json/version`, { - Network accessline 193
try { const res = await fetch(`${CDP_BASE}/json/version`, { - Network accessline 194
const res = await fetch(`${CDP_BASE}/json/version`, { - Network accessline 399
log( "No xiaohongshu.com cookies found via CDP. " + "Make sure you are logged in at https://www.xiaohongshu.com/ in Chrome." - Network accessline 400
"No xiaohongshu.com cookies found via CDP. " + "Make sure you are logged in at https://www.xiaohongshu.com/ in Chrome." ); - Network accessline 401
"Make sure you are logged in at https://www.xiaohongshu.com/ in Chrome."
skills/builtin/skill-xhs-analyzer/src/lib/client.ts
- Executable scriptline 1
Executable file - Network accessline 76
const res = await fetch(url, { - Network accessline 91
const res = await fetch(url, { - Network accessline 122
const host = this.creatorHost(uri); const res = await fetch(`${host}${fullUri}`, { - Network accessline 123
const res = await fetch(`${host}${fullUri}`, { - Network accessline 143
const host = this.creatorHost(uri); const res = await fetch(`${host}${uri}`, { - Network accessline 144
const res = await fetch(`${host}${uri}`, { - Network accessline 435
[Credential-related source omitted] - Network accessline 436
[Credential-related source omitted] - Network accessline 437
const res = await fetch(url, { - Network accessline 506
): Promise<unknown> { const url = `${this.platform.homeUrl}/board/${boardId}`; const res = await fetch(url, { - Network accessline 507
const url = `${this.platform.homeUrl}/board/${boardId}`; const res = await fetch(url, { headers: { - Network accessline 508
const res = await fetch(url, { - Network accessline 632
const res = await fetch(url, {
skills/builtin/skill-xhs-analyzer/src/lib/cookies.ts
- Executable scriptline 1
Executable file - Network accessline 154
" then copy the cookie values and pass them as:", ' redbook whoami --cookie-string "a1=VALUE; web_session=VALUE"', " 2. Login: open Chrome and visit https://www.xiaohongshu.com/ — make sure you", - Network accessline 155
' redbook whoami --cookie-string "a1=VALUE; web_session=VALUE"', " 2. Login: open Chrome and visit https://www.xiaohongshu.com/ — make sure you", " are logged in and can see your feed.", - Network accessline 156
" 2. Login: open Chrome and visit https://www.xiaohongshu.com/ — make sure you", - Network accessline 164
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Network accessline 165
" to avoid being asked again. If you clicked 'Deny', re-run the command.", " 2. Login: open Chrome and visit https://www.xiaohongshu.com/ — make sure you", " are logged in and can see your feed.", - Network accessline 166
" 2. Login: open Chrome and visit https://www.xiaohongshu.com/ — make sure you", - Access to secretsline 314
[Credential-related source omitted] - Access to secretsline 317
[Credential-related source omitted] - Network accessline 323
source: CookieSource = "chrome", chromeProfile?: string, cookieUrl: string = "https://www.xiaohongshu.com/" - Network accessline 324
chromeProfile?: string, cookieUrl: string = "https://www.xiaohongshu.com/" ): Promise<XhsCookies> { - Network accessline 325
cookieUrl: string = "https://www.xiaohongshu.com/" - Access to secretsline 382
[Credential-related source omitted]
skills/builtin/skill-xhs-analyzer/src/lib/creator-signing.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/detect.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/fingerprint-data.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/health.ts
- Executable scriptline 1
Executable file - Network accessline 6
* * Discovery credit: @xxx111god (Jason Zuo) * Reference: https://github.com/jzOcb/xhs-note-health-checker - Network accessline 7
* Discovery credit: @xxx111god (Jason Zuo) * Reference: https://github.com/jzOcb/xhs-note-health-checker */ - Network accessline 8
* Reference: https://github.com/jzOcb/xhs-note-health-checker
skills/builtin/skill-xhs-analyzer/src/lib/platform.ts
- Executable scriptline 1
Executable file - Network accessline 32
xhs: { id: "xhs", edithHost: "https://edith.xiaohongshu.com", - Network accessline 33
id: "xhs", edithHost: "https://edith.xiaohongshu.com", creatorHost: "https://creator.xiaohongshu.com", - Network accessline 34
edithHost: "https://edith.xiaohongshu.com", - Network accessline 35
creatorHost: "https://creator.xiaohongshu.com", - Network accessline 36
homeUrl: "https://www.xiaohongshu.com", - Network accessline 37
uploadHost: "https://ros-upload.xiaohongshu.com", - Network accessline 38
cookieUrl: "https://www.xiaohongshu.com/", - Network accessline 39
signLocation: "https://www.xiaohongshu.com/explore", - Network accessline 45
edithHost: "https://webapi.rednote.com", - Network accessline 46
creatorHost: "https://creator.rednote.com", - Network accessline 47
homeUrl: "https://www.rednote.com", - Network accessline 48
uploadHost: "https://ros-upload.rednote.com", - Network accessline 49
cookieUrl: "https://www.rednote.com/", - Network accessline 50
signLocation: "https://www.rednote.com/explore",
skills/builtin/skill-xhs-analyzer/src/lib/render.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/reply-strategy.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/signing.ts
- Executable scriptline 1
Executable file - Possible obfuscationline 28
"71a302257793271ddd273bcee3e4b98d9d7935e1da33f5765e2ea8afb6dc77a51a499d23b67c20660025860cbf13d4540d92497f58686c574e508f46e1956344f39139bf4faf22a3eef120b79258145b2feb5193b6478669961298e79bedca646e1a693a926154a5a7a1bd1cf0dedb742f917a747a1e388 - Network accessline 395
function generateFingerprint(cookies: Record<string, string>, userAgent: string, signLocation: string = "https://www.xiaohongshu.com/explore"): Record<string, unknown> {
skills/builtin/skill-xhs-analyzer/src/lib/template.ts
- Executable scriptline 1
Executable file
skills/builtin/skill-xhs-analyzer/src/lib/url.ts
- Executable scriptline 1
Executable file - Network accessline 16
source: string = "pc_feed", ): string { const base = `https://www.xiaohongshu.com/explore/${noteId}`; - Network accessline 17
): string { const base = `https://www.xiaohongshu.com/explore/${noteId}`; if (!xsecToken) return base; - Network accessline 18
const base = `https://www.xiaohongshu.com/explore/${noteId}`;
skills/builtin/skill-xhs-comment-reply/SKILL.md
- Network accessline 59
→ 未登录 → 用 xhs_publish.py login 扫码(一次即可) → 用户说"这条/某条笔记" → notes 列出你的笔记,定位是哪条(拿到 note_id / 可用链接) → fetch(--url 或 note_id+token,抓评论 JSON)— 展示给用户看有哪些评论 - Network accessline 60
→ 用户说"这条/某条笔记" → notes 列出你的笔记,定位是哪条(拿到 note_id / 可用链接) → fetch(--url 或 note_id+token,抓评论 JSON)— 展示给用户看有哪些评论 → 你按画像语气为选定评论逐条拟回复([{id,nickname,reply}]) - Network accessline 61
→ fetch(--url 或 note_id+token,抓评论 JSON)— 展示给用户看有哪些评论
skills/builtin/skill-xhs-comment-reply/references/commands.md
- Network accessline 19
[Credential-related source omitted] - Network accessline 38
[Credential-related source omitted] - Network accessline 39
[Credential-related source omitted] - Network accessline 40
[Credential-related source omitted] - Network accessline 42
# 或用 notes 拿到的 url python skills/shared/scripts/xhs_comment.py fetch --url 'https://www.xiaohongshu.com/explore/NOTE_ID' --no-proxy - Network accessline 43
python skills/shared/scripts/xhs_comment.py fetch --url 'https://www.xiaohongshu.com/explore/NOTE_ID' --no-proxy
skills/builtin/skill-xhs-publisher/AGENTS.md
- Network accessline 5
本 SKILL 的小红书发布已从旧的 **CDP-to-真实Chrome** Python 栈(`cdp_publish.py` 等,需桌面 Chrome、headless 环境不可用)**整体重写为 Playwright 版**,流程与选择器移植自成熟开源实现 [xpzouying/xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp)。旧 CDP 脚本已删除。 - Network accessline 7
[xpzouying/xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp)。旧 CDP 脚本已删除。 - Access to secretsline 29
[Credential-related source omitted]
skills/builtin/skill-xhs-publisher/EASEL-META.md
- Network accessline 6
| **所属层** | publish | | **来源仓库** | white0dew/XiaohongshuSkills | | **GitHub 地址** | https://github.com/white0dew/XiaohongshuSkills | - Network accessline 7
| **来源仓库** | white0dew/XiaohongshuSkills | | **GitHub 地址** | https://github.com/white0dew/XiaohongshuSkills | | **Star 数** | ~300+ | - Network accessline 8
| **GitHub 地址** | https://github.com/white0dew/XiaohongshuSkills | - Network accessline 24
- **参考来源**:[xpzouying/xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp)(Go/go-rod,作者称跑一年未封号)——**仅参考其实现代码**,未引入 Docker/MCP 依赖。
skills/builtin/skill-xhs-publisher/SKILL.md
skills/builtin/skill-xhs-publisher/references/commands.md
- Network accessline 64
--proxy http://host:port # 显式外网代理(默认取 env http(s)_proxy,小红书是外网需代理)
skills/builtin/skill-zhihu-answer/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(工具封装 + 实战沉淀) | | **原始来源** | Easel 自研。知乎问答**回答**发布,走 `skills/shared/scripts/zhihu_answer.py`(Playwright 浏览器自动化 + ZhihuProfile 登录态持久化)。2026-08-06 由 skill-workshop 从两轮共 9 条真实知乎回答发布沉淀(原提案 `skill-zhihu-answer-20260806-a4fd2d217c` - Network accessline 8
| **原始来源** | Easel 自研。知乎问答**回答**发布,走 `skills/shared/scripts/zhihu_answer.py`(Playwright 浏览器自动化 + ZhihuProfile 登录态持久化)。2026-08-06 由 skill-workshop 从两轮共 9 条真实知乎回答发布沉淀(原提案 `skill-zhihu-answer-20260806-a4fd2d217c`,因网关插件授权不可用改为手动落库)。 | | **参考项目* - Network accessline 9
| **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 skill-zhihu-publisher / channels-upload / kuaishou-upload 共用同一 ZhihuProfile 与浏览器发布方法论 |
skills/builtin/skill-zhihu-answer/SKILL.md
- Network accessline 53
page.goto("https://www.zhihu.com/search?type=question&q=<关键词>", wait_until="networkidle")
skills/builtin/skill-zhihu-answer/references/commands.md
- Network accessline 16
python skills/shared/scripts/zhihu_answer.py \ --question "https://www.zhihu.com/question/XXXXX" \ - Network accessline 17
--question "https://www.zhihu.com/question/XXXXX" \ - Network accessline 31
python skills/shared/scripts/zhihu_answer.py \ --question "https://www.zhihu.com/question/XXXXX" \ - Network accessline 32
--question "https://www.zhihu.com/question/XXXXX" \ - Network accessline 40
python skills/shared/scripts/zhihu_answer.py \ --question "https://www.zhihu.com/question/XXXXX" \ - Network accessline 41
--question "https://www.zhihu.com/question/XXXXX" \
skills/builtin/skill-zhihu-publisher/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研(工具封装) | | **原始来源** | Easel 自研。知乎发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / kuaishou-upload 共用 web_publisher. - Network accessline 8
| **原始来源** | Easel 自研。知乎发布,走 `../../shared/scripts/web_publisher.py`(Playwright 浏览器自动化 + 登录态持久化) | | **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / kuaishou-upload 共用 web_publisher.py 框架 | | **许可** | 随 Eas - Network accessline 9
| **参考项目** | Playwright(https://playwright.dev/)— 浏览器自动化与登录态持久化;与 channels-upload / kuaishou-upload 共用 web_publisher.py 框架 |
skills/builtin/social-content/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 7
| **来源仓库** | charlie947/social-media-skills | | **GitHub 地址** | https://github.com/charlie947/social-media-skills | | **功能描述** | 跨平台通用/兜底社媒内容生成:钩子、正文、话题、互动引导,多平台一次成稿 | - Network accessline 8
| **GitHub 地址** | https://github.com/charlie947/social-media-skills | - Network accessline 22
| 项目 | 地址 | 用途参考 | |------|------|---------| | nashsu/Viral_Writer_Skill | https://github.com/nashsu/Viral_Writer_Skill | 多平台(公众号/小红书/抖音)差异化字数、调性、标题、互动机制;11 维内容洞见 | - Network accessline 23
|------|------|---------| | nashsu/Viral_Writer_Skill | https://github.com/nashsu/Viral_Writer_Skill | 多平台(公众号/小红书/抖音)差异化字数、调性、标题、互动机制;11 维内容洞见 | | maomao52088/xiaohongshu-automation-skills | https://github.com/maomao52088/xiaohongshu-autom - Network accessline 24
| nashsu/Viral_Writer_Skill | https://github.com/nashsu/Viral_Writer_Skill | 多平台(公众号/小红书/抖音)差异化字数、调性、标题、互动机制;11 维内容洞见 | - Network accessline 25
| maomao52088/xiaohongshu-automation-skills | https://github.com/maomao52088/xiaohongshu-automation-skills | 小红书选题/文案/封面/复盘工作流,实战 CTR 指标基准 | - Network accessline 26
| op7418/guizang-social-card-skill | https://github.com/op7418/guizang-social-card-skill | 小红书图文轮播 + 公众号封面视觉规格(尺寸/布局) | - Network accessline 27
| JuneYaooo/xhs-writer-skill | https://github.com/JuneYaooo/xhs-writer-skill | 小红书爆款笔记方法论(对标学习、标题公式、卡片组规范) | - Network accessline 28
| chubbyguan/chubbyskills | https://github.com/chubbyguan/chubbyskills | 中文全渠道(抖音/B站/小红书/公众号/X)平台覆盖范围参考 | - Network accessline 29
| vivy-yi/xiaohongshu-skills | https://github.com/vivy-yi/xiaohongshu-skills | 小红书运营技能分类体系(内容创作/平台规则/违禁词) |
skills/builtin/style-transfer/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(正文「自研说明」注明参考文本风格迁移(TST)领域研究成果) | | **参考项目** | comp-int-hum/llm-style-transfer — https://github.com/comp-int-hum/llm-style-transfer(LLM 风格迁移实验);fuzhenxin/Style-Transfer-in-Text — https://github.com/fuz - Network accessline 8
| **原始来源** | Easel 自研(正文「自研说明」注明参考文本风格迁移(TST)领域研究成果) | | **参考项目** | comp-int-hum/llm-style-transfer — https://github.com/comp-int-hum/llm-style-transfer(LLM 风格迁移实验);fuzhenxin/Style-Transfer-in-Text — https://github.com/fuzhenxin/Style-Trans - Network accessline 9
| **参考项目** | comp-int-hum/llm-style-transfer — https://github.com/comp-int-hum/llm-style-transfer(LLM 风格迁移实验);fuzhenxin/Style-Transfer-in-Text — https://github.com/fuzhenxin/Style-Transfer-in-Text(TST 论文集);souro/tst_llm — https://github.com
skills/builtin/template-library/EASEL-META.md
- Network accessline 26
| 参考来源 | 借鉴点(仅设计思路) | |----------|--------| | [enescingoz/awesome-n8n-templates](https://github.com/enescingoz/awesome-n8n-templates) | 按分类分目录 + INDEX 索引 + 使用统计 | - Network accessline 27
|----------|--------| | [enescingoz/awesome-n8n-templates](https://github.com/enescingoz/awesome-n8n-templates) | 按分类分目录 + INDEX 索引 + 使用统计 | | [danielmiessler/fabric](https://github.com/danielmiessler/fabric) | 每个模板是可复用 Markdown 文件,支持变量替换 | - Network accessline 28
| [enescingoz/awesome-n8n-templates](https://github.com/enescingoz/awesome-n8n-templates) | 按分类分目录 + INDEX 索引 + 使用统计 | - Network accessline 29
| [danielmiessler/fabric](https://github.com/danielmiessler/fabric) | 每个模板是可复用 Markdown 文件,支持变量替换 |
skills/builtin/template-library/scripts/templates.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/text-condenser/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研(正文「自研说明」注明参考文本摘要领域抽取式/生成式方法及 LLM 语义压缩技术) | | **参考项目** | praj2408/Text-Summarizer-Project — https://github.com/praj2408/Text-Summarizer-Project(PEGASUS 摘要);Huzaifa785/context-compressor — https://githu - Network accessline 8
| **原始来源** | Easel 自研(正文「自研说明」注明参考文本摘要领域抽取式/生成式方法及 LLM 语义压缩技术) | | **参考项目** | praj2408/Text-Summarizer-Project — https://github.com/praj2408/Text-Summarizer-Project(PEGASUS 摘要);Huzaifa785/context-compressor — https://github.com/Huzaifa785/c - Network accessline 9
| **参考项目** | praj2408/Text-Summarizer-Project — https://github.com/praj2408/Text-Summarizer-Project(PEGASUS 摘要);Huzaifa785/context-compressor — https://github.com/Huzaifa785/context-compressor(语义压缩 50-60% token 策略);neopunisher/Open-Text-Sum
skills/builtin/tts-voiceover/EASEL-META.md
- Network accessline 7
| **来源类型** | 自研 | | **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/tts.py`,通过 subprocess 调 edge-tts + ffmpeg | | **参考项目** | edge-tts — https://github.com/rany2/edge-tts(微软 Edge 在线 TTS 的 Python 封装,提供音色列表 / rate / volume / pitch / SRT 字幕); - Network accessline 8
| **原始来源** | Easel 自研;封装共享脚本 `skills/shared/scripts/tts.py`,通过 subprocess 调 edge-tts + ffmpeg | | **参考项目** | edge-tts — https://github.com/rany2/edge-tts(微软 Edge 在线 TTS 的 Python 封装,提供音色列表 / rate / volume / pitch / SRT 字幕);FFmpeg — https://f - Network accessline 9
| **参考项目** | edge-tts — https://github.com/rany2/edge-tts(微软 Edge 在线 TTS 的 Python 封装,提供音色列表 / rate / volume / pitch / SRT 字幕);FFmpeg — https://ffmpeg.org(wav/m4a 转码、时长探测) |
skills/builtin/tts-voiceover/SKILL.md
skills/builtin/video-production/EASEL-META.md
- Network accessline 6
| **所属层** | produce | | **来源类型** | 自研(内置 SDK + Easel 侧改造) | | **原始来源** | 世于我愿 · 视频产线 SDK(https://github.com/mengyuyuan/video-pipeline-sdk,MIT)——已**内置**进 `vendor/video-pipeline-sdk/`,并在其基础上加 Linux `bootstrap.sh` 与**三级转录**(SRT → 硅基流动 ASR API - Network accessline 7
| **来源类型** | 自研(内置 SDK + Easel 侧改造) | | **原始来源** | 世于我愿 · 视频产线 SDK(https://github.com/mengyuyuan/video-pipeline-sdk,MIT)——已**内置**进 `vendor/video-pipeline-sdk/`,并在其基础上加 Linux `bootstrap.sh` 与**三级转录**(SRT → 硅基流动 ASR API → 本地 whisper) | | **参考 - Network accessline 8
| **原始来源** | 世于我愿 · 视频产线 SDK(https://github.com/mengyuyuan/video-pipeline-sdk,MIT)——已**内置**进 `vendor/video-pipeline-sdk/`,并在其基础上加 Linux `bootstrap.sh` 与**三级转录**(SRT → 硅基流动 ASR API → 本地 whisper) |
skills/builtin/video-production/SKILL.md
- Access to secretsline 36
[Credential-related source omitted]
skills/builtin/video-production/scripts/video_pipeline.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 187
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 189
[Credential-related source omitted]
skills/builtin/video-production/vendor/VENDOR.md
- Network accessline 8
| 项 | 值 | |----|-----| | 上游仓 | <https://github.com/mengyuyuan/video-pipeline-sdk> | - Network accessline 9
|----|-----| | 上游仓 | <https://github.com/mengyuyuan/video-pipeline-sdk> | | 作者 | mengyuyuan | - Network accessline 10
| 上游仓 | <https://github.com/mengyuyuan/video-pipeline-sdk> | - Access to secretsline 41
[Credential-related source omitted] - Network accessline 60
感谢 [@mengyuyuan](https://github.com/mengyuyuan) 开源这套产线并允许内置分发。
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/cards/index.html
- Network accessline 47
const state={}; async function load(){ const r=await fetch('./questions.json',{cache:'no-store'}); - Network accessline 48
async function load(){ const r=await fetch('./questions.json',{cache:'no-store'}); const d=await r.json();QS=d.questions||[]; - Network accessline 49
const r=await fetch('./questions.json',{cache:'no-store'}); - Network accessline 90
if(!values.length){bt.textContent='请先作答';setTimeout(()=>bt.textContent='提交',1200);return} bt.disabled=true;bt.textContent='提交中…'; const r=await fetch('./answer',{method:'POST',headers:{'Content-Type':'application/json'}, - Network accessline 91
bt.disabled=true;bt.textContent='提交中…'; const r=await fetch('./answer',{method:'POST',headers:{'Content-Type':'application/json'}, body:JSON.stringify({id:q.id,values,notes:no.value.trim()})}); - Network accessline 92
const r=await fetch('./answer',{method:'POST',headers:{'Content-Type':'application/json'},
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fonts/OFL.txt
- Network accessline 1
Copyright 2018 The Ma Shan Zheng Project Authors (https://github.com/googlefonts/mashanzheng) - Network accessline 3
This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL - Network accessline 5
http://scripts.sil.org/OFL
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxAurora.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxBehindMask.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxCardA.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxCardB.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxCards.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxDataCard.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxFireflies.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxKinetic.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxLeak.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxMatch.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxPanel3D.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxShatter.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxStockData.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxStockFireflies.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxStockLeak.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxStockWords.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxSwitch.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxText.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/FxWords.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/fx/common.tsx
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/sfx/SOURCES-mixkit.json
- Network accessline 5
"title": "Fast whoosh transition", "category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/1490/1490-preview.mp3", - Network accessline 6
"category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/1490/1490-preview.mp3", "duration": "1.756712" - Network accessline 7
"url": "https://assets.mixkit.co/active_storage/sfx/1490/1490-preview.mp3", - Network accessline 13
"title": "Technology transition slide", "category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/3120/3120-preview.mp3", - Network accessline 14
"category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/3120/3120-preview.mp3", "duration": "1.650000" - Network accessline 15
"url": "https://assets.mixkit.co/active_storage/sfx/3120/3120-preview.mp3", - Network accessline 21
"title": "Magic sparkle whoosh", "category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/2350/2350-preview.mp3", - Network accessline 22
"category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/2350/2350-preview.mp3", "duration": "3.500000" - Network accessline 23
"url": "https://assets.mixkit.co/active_storage/sfx/2350/2350-preview.mp3", - Network accessline 29
"title": "Transition windy swoosh", "category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/1474/1474-preview.mp3", - Network accessline 30
"category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/1474/1474-preview.mp3", "duration": "3.203991" - Network accessline 31
"url": "https://assets.mixkit.co/active_storage/sfx/1474/1474-preview.mp3", - Network accessline 37
"title": "Cinematic whoosh fast transition", "category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/1492/1492-preview.mp3", - Network accessline 38
"category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/1492/1492-preview.mp3", "duration": "1.334127" - Network accessline 39
"url": "https://assets.mixkit.co/active_storage/sfx/1492/1492-preview.mp3", - Network accessline 45
"title": "Short transition sweep", "category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/175/175-preview.mp3", - Network accessline 46
"category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/175/175-preview.mp3", "duration": "0.605986" - Network accessline 47
"url": "https://assets.mixkit.co/active_storage/sfx/175/175-preview.mp3", - Network accessline 53
"title": "Cinematic trailer riser", "category": "riser", "url": "https://assets.mixkit.co/active_storage/sfx/790/790-preview.mp3", - Network accessline 54
"category": "riser", "url": "https://assets.mixkit.co/active_storage/sfx/790/790-preview.mp3", "duration": "2.574989" - Network accessline 55
"url": "https://assets.mixkit.co/active_storage/sfx/790/790-preview.mp3", - Network accessline 61
"title": "Big cinematic impact", "category": "impact", "url": "https://assets.mixkit.co/active_storage/sfx/788/788-preview.mp3", - Network accessline 62
"category": "impact", "url": "https://assets.mixkit.co/active_storage/sfx/788/788-preview.mp3", "duration": "7.929229" - Network accessline 63
"url": "https://assets.mixkit.co/active_storage/sfx/788/788-preview.mp3", - Network accessline 69
"title": "Air woosh", "category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/1489/1489-preview.mp3", - Network accessline 70
"category": "whoosh", "url": "https://assets.mixkit.co/active_storage/sfx/1489/1489-preview.mp3", "duration": "2.320658" - Network accessline 71
"url": "https://assets.mixkit.co/active_storage/sfx/1489/1489-preview.mp3", - Network accessline 77
"title": "Fast sci fi transition sweep", "category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/3114/3114-preview.mp3", - Network accessline 78
"category": "transition", "url": "https://assets.mixkit.co/active_storage/sfx/3114/3114-preview.mp3", "duration": "1.208322" - Network accessline 79
"url": "https://assets.mixkit.co/active_storage/sfx/3114/3114-preview.mp3",
skills/builtin/video-production/vendor/video-pipeline-sdk/assets/stock-ledger.json
- Network accessline 6
"category": "night-sky", "res": "1080", "url": "https://assets.mixkit.co/videos/4148/4148-1080.mp4", - Network accessline 7
"res": "1080", "url": "https://assets.mixkit.co/videos/4148/4148-1080.mp4", "probe": "1920,1080,16.166667" - Network accessline 8
"url": "https://assets.mixkit.co/videos/4148/4148-1080.mp4", - Network accessline 15
"category": "forest", "res": "1080", "url": "https://assets.mixkit.co/videos/3350/3350-1080.mp4", - Network accessline 16
"res": "1080", "url": "https://assets.mixkit.co/videos/3350/3350-1080.mp4", "probe": "1920,1080,11.375000" - Network accessline 17
"url": "https://assets.mixkit.co/videos/3350/3350-1080.mp4", - Network accessline 24
"category": "ocean", "res": "720", "url": "https://assets.mixkit.co/videos/15169/15169-720.mp4", - Network accessline 25
"res": "720", "url": "https://assets.mixkit.co/videos/15169/15169-720.mp4", "probe": "1280,720,48.248200" - Network accessline 26
"url": "https://assets.mixkit.co/videos/15169/15169-720.mp4", - Network accessline 33
"category": "technology", "res": "1080", "url": "https://assets.mixkit.co/videos/44071/44071-1080.mp4", - Network accessline 34
"res": "1080", "url": "https://assets.mixkit.co/videos/44071/44071-1080.mp4", "probe": "1920,1080,22.772750" - Network accessline 35
"url": "https://assets.mixkit.co/videos/44071/44071-1080.mp4", - Network accessline 42
"category": "technology", "res": "720", "url": "https://assets.mixkit.co/videos/31497/31497-720.mp4", - Network accessline 43
"res": "720", "url": "https://assets.mixkit.co/videos/31497/31497-720.mp4", "probe": "1280,720,15.000000" - Network accessline 44
"url": "https://assets.mixkit.co/videos/31497/31497-720.mp4", - Network accessline 51
"category": "technology", "res": "720", "url": "https://assets.mixkit.co/videos/31771/31771-720.mp4", - Network accessline 52
"res": "720", "url": "https://assets.mixkit.co/videos/31771/31771-720.mp4", "probe": "1920,1080,15.033008" - Network accessline 53
"url": "https://assets.mixkit.co/videos/31771/31771-720.mp4", - Network accessline 60
"category": "money", "res": "720", "url": "https://assets.mixkit.co/videos/45703/45703-720.mp4", - Network accessline 61
"res": "720", "url": "https://assets.mixkit.co/videos/45703/45703-720.mp4", "probe": "1920,1080,21.366667" - Network accessline 62
"url": "https://assets.mixkit.co/videos/45703/45703-720.mp4", - Network accessline 69
"category": "business", "res": "720", "url": "https://assets.mixkit.co/videos/12748/12748-720.mp4", - Network accessline 70
"res": "720", "url": "https://assets.mixkit.co/videos/12748/12748-720.mp4", "probe": "1920,1080,15.000000" - Network accessline 71
"url": "https://assets.mixkit.co/videos/12748/12748-720.mp4", - Network accessline 78
"category": "abstract", "res": "1080", "url": "https://assets.mixkit.co/videos/44818/44818-1080.mp4", - Network accessline 79
"res": "1080", "url": "https://assets.mixkit.co/videos/44818/44818-1080.mp4", "probe": "1920,1080,17.400000" - Network accessline 80
"url": "https://assets.mixkit.co/videos/44818/44818-1080.mp4", - Network accessline 87
"category": "business", "res": "1080", "url": "https://assets.mixkit.co/videos/42648/42648-1080.mp4", - Network accessline 88
"res": "1080", "url": "https://assets.mixkit.co/videos/42648/42648-1080.mp4", "probe": "1920,1080,6.333333" - Network accessline 89
"url": "https://assets.mixkit.co/videos/42648/42648-1080.mp4", - Network accessline 96
"category": "bubbles", "res": "1080", "url": "https://assets.mixkit.co/videos/51869/51869-1080.mp4", - Network accessline 97
"res": "1080", "url": "https://assets.mixkit.co/videos/51869/51869-1080.mp4", "probe": "1920,1080,10.300000" - Network accessline 98
"url": "https://assets.mixkit.co/videos/51869/51869-1080.mp4", - Network accessline 105
"category": "desert", "res": "1080", "url": "https://assets.mixkit.co/videos/4149/4149-1080.mp4", - Network accessline 106
"res": "1080", "url": "https://assets.mixkit.co/videos/4149/4149-1080.mp4", "probe": "1920,1080,11.400000" - Network accessline 107
"url": "https://assets.mixkit.co/videos/4149/4149-1080.mp4",
skills/builtin/video-production/vendor/video-pipeline-sdk/deps/DEPS.md
- Dangerous shell operationline 9
| Node.js | 24.x | rm 运行时 |
skills/builtin/video-production/vendor/video-pipeline-sdk/deps/bootstrap.ps1
- Executable scriptline 1
Executable file - Network accessline 29
} else { Set-Location $proj npm ci --registry=https://registry.npmmirror.com - Network accessline 30
Set-Location $proj npm ci --registry=https://registry.npmmirror.com Write-Output "npm ci exit=$LASTEXITCODE" - Network accessline 31
npm ci --registry=https://registry.npmmirror.com
skills/builtin/video-production/vendor/video-pipeline-sdk/deps/bootstrap.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/builtin/video-production/vendor/video-pipeline-sdk/deps/remotion/package-lock.json
- Network accessline 29
"node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", - Network accessline 30
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", - Network accessline 31
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", - Network accessline 43
"node_modules/@babel/compat-data": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", - Network accessline 44
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", - Network accessline 45
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", - Network accessline 52
"node_modules/@babel/core": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", - Network accessline 53
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", - Network accessline 54
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", - Network accessline 77
"funding": { "type": "opencollective", "url": "https://opencollective.com/babel" - Network accessline 78
"type": "opencollective", "url": "https://opencollective.com/babel" } - Network accessline 79
"url": "https://opencollective.com/babel" - Network accessline 82
"node_modules/@babel/core/node_modules/@babel/parser": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 83
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", - Network accessline 84
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 97
"node_modules/@babel/core/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 98
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 99
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 110
"node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - Network accessline 111
"version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - Network accessline 112
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - Network accessline 119
"node_modules/@babel/generator": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", - Network accessline 120
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", - Network accessline 121
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", - Network accessline 135
"node_modules/@babel/generator/node_modules/@babel/parser": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 136
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", - Network accessline 137
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 150
"node_modules/@babel/generator/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 151
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 152
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 163
"node_modules/@babel/helper-compilation-targets": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", - Network accessline 164
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj - Network accessline 165
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", - Network accessline 179
"node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - Network accessline 180
"version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - Network accessline 181
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - Network accessline 188
"node_modules/@babel/helper-globals": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", - Network accessline 189
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", - Network accessline 190
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", - Network accessline 197
"node_modules/@babel/helper-module-imports": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", - Network accessline 198
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7l - Network accessline 199
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", - Network accessline 210
"node_modules/@babel/helper-module-imports/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 211
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 212
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 223
"node_modules/@babel/helper-module-transforms": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", - Network accessline 224
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotv - Network accessline 225
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", - Network accessline 240
"node_modules/@babel/helper-string-parser": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", - Network accessline 241
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErI - Network accessline 242
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", - Network accessline 249
"node_modules/@babel/helper-validator-identifier": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", - Network accessline 250
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+s - Network accessline 251
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", - Network accessline 258
"node_modules/@babel/helper-validator-option": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", - Network accessline 259
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmS - Network accessline 260
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", - Network accessline 267
"node_modules/@babel/helpers": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", - Network accessline 268
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", - Network accessline 269
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", - Network accessline 280
"node_modules/@babel/helpers/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 281
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 282
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 293
"node_modules/@babel/parser": { "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", - Network accessline 294
"version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", - Network accessline 295
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", - Network accessline 305
"node_modules/@babel/runtime": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", - Network accessline 306
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", - Network accessline 307
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", - Network accessline 315
"node_modules/@babel/template": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", - Network accessline 316
"version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", - Network accessline 317
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", - Network accessline 329
"node_modules/@babel/template/node_modules/@babel/parser": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 330
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", - Network accessline 331
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 344
"node_modules/@babel/template/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 345
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 346
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 357
"node_modules/@babel/traverse": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", - Network accessline 358
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", - Network accessline 359
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", - Network accessline 375
"node_modules/@babel/traverse/node_modules/@babel/parser": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 376
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", - Network accessline 377
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", - Network accessline 390
"node_modules/@babel/traverse/node_modules/@babel/types": { "version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 391
"version": "7.29.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - Network accessline 392
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", - Network accessline 403
"node_modules/@babel/types": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - Network accessline 404
"version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - Network accessline 405
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - Network accessline 417
"node_modules/@dimforge/rapier3d-compat": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", - Network accessline 418
"version": "0.12.0", "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==" - Network accessline 419
"resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", - Network accessline 423
"node_modules/@emnapi/core": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", - Network accessline 424
"version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", - Network accessline 425
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", - Network accessline 434
"node_modules/@emnapi/runtime": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", - Network accessline 435
"version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", - Network accessline 436
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", - Network accessline 444
"node_modules/@emnapi/wasi-threads": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", - Network accessline 445
"version": "1.2.3", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", - Network accessline 446
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", - Network accessline 454
"node_modules/@esbuild/aix-ppc64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", - Network accessline 455
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", - Network accessline 456
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", - Network accessline 470
"node_modules/@esbuild/android-arm": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", - Network accessline 471
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", - Network accessline 472
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", - Network accessline 486
"node_modules/@esbuild/android-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", - Network accessline 487
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", - Network accessline 488
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", - Network accessline 502
"node_modules/@esbuild/android-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", - Network accessline 503
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", - Network accessline 504
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", - Network accessline 518
"node_modules/@esbuild/darwin-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", - Network accessline 519
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", - Network accessline 520
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", - Network accessline 534
"node_modules/@esbuild/darwin-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", - Network accessline 535
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", - Network accessline 536
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", - Network accessline 550
"node_modules/@esbuild/freebsd-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", - Network accessline 551
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", - Network accessline 552
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", - Network accessline 566
"node_modules/@esbuild/freebsd-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", - Network accessline 567
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", - Network accessline 568
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", - Network accessline 582
"node_modules/@esbuild/linux-arm": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", - Network accessline 583
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", - Network accessline 584
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", - Network accessline 598
"node_modules/@esbuild/linux-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", - Network accessline 599
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", - Network accessline 600
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", - Network accessline 614
"node_modules/@esbuild/linux-ia32": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", - Network accessline 615
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", - Network accessline 616
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", - Network accessline 630
"node_modules/@esbuild/linux-loong64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", - Network accessline 631
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", - Network accessline 632
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", - Network accessline 646
"node_modules/@esbuild/linux-mips64el": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", - Network accessline 647
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", - Network accessline 648
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", - Network accessline 662
"node_modules/@esbuild/linux-ppc64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", - Network accessline 663
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", - Network accessline 664
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", - Network accessline 678
"node_modules/@esbuild/linux-riscv64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", - Network accessline 679
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", - Network accessline 680
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", - Network accessline 694
"node_modules/@esbuild/linux-s390x": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", - Network accessline 695
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", - Network accessline 696
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", - Network accessline 710
"node_modules/@esbuild/linux-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", - Network accessline 711
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", - Network accessline 712
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", - Network accessline 726
"node_modules/@esbuild/netbsd-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", - Network accessline 727
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", - Network accessline 728
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", - Network accessline 742
"node_modules/@esbuild/netbsd-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", - Network accessline 743
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", - Network accessline 744
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", - Network accessline 758
"node_modules/@esbuild/openbsd-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", - Network accessline 759
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", - Network accessline 760
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", - Network accessline 774
"node_modules/@esbuild/openbsd-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", - Network accessline 775
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", - Network accessline 776
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", - Network accessline 790
"node_modules/@esbuild/openharmony-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", - Network accessline 791
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg - Network accessline 792
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", - Network accessline 806
"node_modules/@esbuild/sunos-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", - Network accessline 807
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", - Network accessline 808
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", - Network accessline 822
"node_modules/@esbuild/win32-arm64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", - Network accessline 823
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", - Network accessline 824
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", - Network accessline 838
"node_modules/@esbuild/win32-ia32": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", - Network accessline 839
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", - Network accessline 840
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", - Network accessline 854
"node_modules/@esbuild/win32-x64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", - Network accessline 855
"version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", - Network accessline 856
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", - Network accessline 870
"node_modules/@hono/node-server": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.12.tgz", - Network accessline 871
"version": "2.0.12", "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.12.tgz", "integrity": "sha512-eWpQYr67tqJLeaSUl0Q+TquuYfUdTibpOJlUMV2FfUP7+KqCC5TufnwnlXL6mobZBJbGAYRd7ZvEBDCbLInjhg==", - Network accessline 872
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.0.12.tgz", - Network accessline 882
"node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - Network accessline 883
"version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - Network accessline 884
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - Network accessline 892
"node_modules/@jridgewell/remapping": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - Network accessline 893
"version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - Network accessline 894
"resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - Network accessline 902
"node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - Network accessline 903
"version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - Network accessline 904
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - Network accessline 911
"node_modules/@jridgewell/source-map": { "version": "0.3.11", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - Network accessline 912
"version": "0.3.11", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - Network accessline 913
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - Network accessline 921
"node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - Network accessline 922
"version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" - Network accessline 923
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - Network accessline 927
"node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - Network accessline 928
"version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - Network accessline 929
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - Network accessline 937
"node_modules/@mediabunny/aac-encoder": { "version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/aac-encoder/-/aac-encoder-1.50.8.tgz", - Network accessline 938
"version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/aac-encoder/-/aac-encoder-1.50.8.tgz", "integrity": "sha512-A5Se/LZd6RmYq/h36lBMSEsHvsyW8d0toR7FrAwpsFYbK+DVQYf90KiBT1Aw/mzLXx8/ypIOORJnd1sVZqOvJQ==", - Network accessline 939
"resolved": "https://registry.npmjs.org/@mediabunny/aac-encoder/-/aac-encoder-1.50.8.tgz", - Network accessline 942
"funding": { "type": "individual", "url": "https://github.com/sponsors/Vanilagy" - Network accessline 943
"type": "individual", "url": "https://github.com/sponsors/Vanilagy" }, - Network accessline 944
"url": "https://github.com/sponsors/Vanilagy" - Network accessline 950
"node_modules/@mediabunny/flac-encoder": { "version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/flac-encoder/-/flac-encoder-1.50.8.tgz", - Network accessline 951
"version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/flac-encoder/-/flac-encoder-1.50.8.tgz", "integrity": "sha512-4cfN03SbEoQaG+eBeYFUAb1R1ALaAHzf43dXFzQTr/oO5ueqzTgBoG3coKrIvBaAMU7Vv36mrBKLX8bvTppdAQ==", - Network accessline 952
"resolved": "https://registry.npmjs.org/@mediabunny/flac-encoder/-/flac-encoder-1.50.8.tgz", - Network accessline 955
"funding": { "type": "individual", "url": "https://github.com/sponsors/Vanilagy" - Network accessline 956
"type": "individual", "url": "https://github.com/sponsors/Vanilagy" }, - Network accessline 957
"url": "https://github.com/sponsors/Vanilagy" - Network accessline 963
"node_modules/@mediabunny/mp3-encoder": { "version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/mp3-encoder/-/mp3-encoder-1.50.8.tgz", - Network accessline 964
"version": "1.50.8", "resolved": "https://registry.npmjs.org/@mediabunny/mp3-encoder/-/mp3-encoder-1.50.8.tgz", "integrity": "sha512-eBT/H30tTu8AmZXqZ5RTpJ9VmwVlwednajuOrrWp0GS6cbGXsGMQ60Qvr3ZMIE0QDiadlEzb8/ozR+doP+MC1g==", - Network accessline 965
"resolved": "https://registry.npmjs.org/@mediabunny/mp3-encoder/-/mp3-encoder-1.50.8.tgz", - Network accessline 968
"funding": { "type": "individual", "url": "https://github.com/sponsors/Vanilagy" - Network accessline 969
"type": "individual", "url": "https://github.com/sponsors/Vanilagy" }, - Network accessline 970
"url": "https://github.com/sponsors/Vanilagy" - Network accessline 976
"node_modules/@modelcontextprotocol/sdk": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz", - Network accessline 977
"version": "1.30.0", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz", "integrity": "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==", - Network accessline 978
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz", - Network accessline 1016
"node_modules/@module-federation/error-codes": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", - Network accessline 1017
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug== - Network accessline 1018
"resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", - Network accessline 1022
"node_modules/@module-federation/runtime": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", - Network accessline 1023
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", - Network accessline 1024
"resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", - Network accessline 1033
"node_modules/@module-federation/runtime-core": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", - Network accessline 1034
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA - Network accessline 1035
"resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", - Network accessline 1043
"node_modules/@module-federation/runtime-tools": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", - Network accessline 1044
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPC - Network accessline 1045
"resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", - Network accessline 1053
"node_modules/@module-federation/sdk": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", - Network accessline 1054
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", - Network accessline 1055
"resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", - Network accessline 1059
"node_modules/@module-federation/webpack-bundler-runtime": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", - Network accessline 1060
"version": "0.22.0", "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9Hf - Network accessline 1061
"resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", - Network accessline 1069
"node_modules/@napi-rs/wasm-runtime": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - Network accessline 1070
"version": "1.0.7", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", - Network accessline 1071
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - Network accessline 1081
"node_modules/@react-three/fiber": { "version": "9.7.0", "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.7.0.tgz", - Network accessline 1082
"version": "9.7.0", "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.7.0.tgz", "integrity": "sha512-EWm9FwcaOZQu/ExFW5rggoCMM1NJet5YbxVxKaOE+KSncrjU0Wx7017qSyGFvupviK89nMYGCWU3BIK4dI1clw==", - Network accessline 1083
"resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.7.0.tgz", - Network accessline 1130
"node_modules/@remotion/bundler": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/bundler/-/bundler-4.0.503.tgz", - Network accessline 1131
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/bundler/-/bundler-4.0.503.tgz", "integrity": "sha512-0LgHWo+00yK370TEZTLiGfLEJrIn9NSLAle52arpljCimWGKze3R8+X9naAIcoK/n1Nvo/txmmEuzQE0SQpLgQ==", - Network accessline 1132
"resolved": "https://registry.npmjs.org/@remotion/bundler/-/bundler-4.0.503.tgz", - Network accessline 1154
"node_modules/@remotion/captions": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/captions/-/captions-4.0.503.tgz", - Network accessline 1155
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/captions/-/captions-4.0.503.tgz", "integrity": "sha512-JPXCtLNJse32dafANDc/gUVHhR0xkl4jVnzdckq561c/Y97WjyHMbdfXohFTbfaaQ9meSv4SILEqwJu2nFvtSw==", - Network accessline 1156
"resolved": "https://registry.npmjs.org/@remotion/captions/-/captions-4.0.503.tgz", - Network accessline 1160
"node_modules/@remotion/cli": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/cli/-/cli-4.0.503.tgz", - Network accessline 1161
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/cli/-/cli-4.0.503.tgz", "integrity": "sha512-eboYNnEQr5Jinfd2B+g1CAtPR4Og2y94szXVp2QJdEdq35M13VXclPyt8c6C4NiCKDT9J9k16wrTxZkLca/S/Q==", - Network accessline 1162
"resolved": "https://registry.npmjs.org/@remotion/cli/-/cli-4.0.503.tgz", - Network accessline 1189
"node_modules/@remotion/compositor-darwin-arm64": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-arm64/-/compositor-darwin-arm64-4.0.503.tgz", - Network accessline 1190
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-arm64/-/compositor-darwin-arm64-4.0.503.tgz", "integrity": "sha512-YnzZ1OLHPg9BWsIpNl3YZ/me4rBijXbPbgx40cgyFyWdFKK3I7Zd2DyepW40aR/FgHLsm/h - Network accessline 1191
"resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-arm64/-/compositor-darwin-arm64-4.0.503.tgz", - Network accessline 1201
"node_modules/@remotion/compositor-darwin-x64": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-x64/-/compositor-darwin-x64-4.0.503.tgz", - Network accessline 1202
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-x64/-/compositor-darwin-x64-4.0.503.tgz", "integrity": "sha512-cSOSFdeFOfpi/ufHuSOa37lqinP3BEMcuZwRL14M4Ctegk1xeyc1/0iNKcydE/6foP97ZKaJxoo - Network accessline 1203
"resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-x64/-/compositor-darwin-x64-4.0.503.tgz", - Network accessline 1213
"node_modules/@remotion/compositor-linux-arm64-gnu": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-gnu/-/compositor-linux-arm64-gnu-4.0.503.tgz", - Network accessline 1214
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-gnu/-/compositor-linux-arm64-gnu-4.0.503.tgz", "integrity": "sha512-hn8BphI3Qp/FsHwXE10wQUdmiLoKR7Bg7tLzhRCYPUfz6+6nnr6hjjzq/WnIum1kY - Network accessline 1215
"resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-gnu/-/compositor-linux-arm64-gnu-4.0.503.tgz", - Network accessline 1225
"node_modules/@remotion/compositor-linux-arm64-musl": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-musl/-/compositor-linux-arm64-musl-4.0.503.tgz", - Network accessline 1226
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-musl/-/compositor-linux-arm64-musl-4.0.503.tgz", "integrity": "sha512-Fj4bACdEtJrEbhi4L3tc9PVyjSjquC3iMMHG0apfdpum7QhdsE7f9+rHWh3g3GI - Network accessline 1227
"resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-musl/-/compositor-linux-arm64-musl-4.0.503.tgz", - Network accessline 1237
"node_modules/@remotion/compositor-linux-x64-gnu": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-gnu/-/compositor-linux-x64-gnu-4.0.503.tgz", - Network accessline 1238
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-gnu/-/compositor-linux-x64-gnu-4.0.503.tgz", "integrity": "sha512-7iix7x1cL4XSE/cciaYW0wPavN5lQgBw8OdeJviS9JSFJQjoTWMLDhwwmaDnl609wlGj5 - Network accessline 1239
"resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-gnu/-/compositor-linux-x64-gnu-4.0.503.tgz", - Network accessline 1249
"node_modules/@remotion/compositor-linux-x64-musl": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-musl/-/compositor-linux-x64-musl-4.0.503.tgz", - Network accessline 1250
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-musl/-/compositor-linux-x64-musl-4.0.503.tgz", "integrity": "sha512-qvG+fKubHBm7vh9SwjQyBz/7Nf5Nqblo2nmzifKoajX9dY/0lizqay9X2gGp76ZoWhB - Network accessline 1251
"resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-musl/-/compositor-linux-x64-musl-4.0.503.tgz", - Network accessline 1261
"node_modules/@remotion/compositor-win32-x64-msvc": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-win32-x64-msvc/-/compositor-win32-x64-msvc-4.0.503.tgz", - Network accessline 1262
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/compositor-win32-x64-msvc/-/compositor-win32-x64-msvc-4.0.503.tgz", "integrity": "sha512-ocO9qs5hrqUNvjl6UnvsLDYiwRCCNWTLxiiLlvPKJZCBA/rmRnanGDB63RNg6cc+0yB - Network accessline 1263
"resolved": "https://registry.npmjs.org/@remotion/compositor-win32-x64-msvc/-/compositor-win32-x64-msvc-4.0.503.tgz", - Network accessline 1273
"node_modules/@remotion/effects": { "version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/effects/-/effects-4.0.503.tgz", - Network accessline 1274
"version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/effects/-/effects-4.0.503.tgz", "integrity": "sha512-lW8J0qxzeV+BHT+L2N3RYFUG824TwM1BKuF9CFXpm8OFzzSjUdrtu0M6sO2R1bQwoyJybHeMMjzAsYNyyB3mOA==", - Network accessline 1275
"resolved": "https://registry.npmmirror.com/@remotion/effects/-/effects-4.0.503.tgz", - Network accessline 1282
"node_modules/@remotion/google-fonts": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/google-fonts/-/google-fonts-4.0.503.tgz", - Network accessline 1283
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/google-fonts/-/google-fonts-4.0.503.tgz", "integrity": "sha512-tdExeYQ4j2AZqRwpYinfJHYRRoFacNEbtZH2UMzaE5GMw3bG9wZERwBJti3yn5PxlKJnq1E1cCj5FcdQ8BfkZg==", - Network accessline 1284
"resolved": "https://registry.npmjs.org/@remotion/google-fonts/-/google-fonts-4.0.503.tgz", - Network accessline 1291
"node_modules/@remotion/licensing": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/licensing/-/licensing-4.0.503.tgz", - Network accessline 1292
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/licensing/-/licensing-4.0.503.tgz", "integrity": "sha512-2au285LmzXpZwmUCbrj3k4gkCMk9GKBh4BlskP4nkE1PIvau77Vli3J6imTf5lMX+esHAVEyQw16e5RDwwWsiA==", - Network accessline 1293
"resolved": "https://registry.npmjs.org/@remotion/licensing/-/licensing-4.0.503.tgz", - Network accessline 1297
"node_modules/@remotion/light-leaks": { "version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/light-leaks/-/light-leaks-4.0.503.tgz", - Network accessline 1298
"version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/light-leaks/-/light-leaks-4.0.503.tgz", "integrity": "sha512-ItJL+99GcaT+VIxiG8Cl6Gt14CGcG9FmV+spb1YArzBCTqnCbakXRWJixJcuLJV4cFNM/sNp2dFIv7pFTRN8eA==", - Network accessline 1299
"resolved": "https://registry.npmmirror.com/@remotion/light-leaks/-/light-leaks-4.0.503.tgz", - Network accessline 1312
"node_modules/@remotion/media-parser": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/media-parser/-/media-parser-4.0.503.tgz", - Network accessline 1313
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/media-parser/-/media-parser-4.0.503.tgz", "integrity": "sha512-bcqf6lB0vjKmugCsyh+Hr8Dh9VuErONfDFgM9+H0XHZm/RqUjc8gITQDGxCpv7zzxB2YgFlzezW3CKUubVIQzQ==", - Network accessline 1314
"resolved": "https://registry.npmjs.org/@remotion/media-parser/-/media-parser-4.0.503.tgz", - Network accessline 1315
"integrity": "sha512-bcqf6lB0vjKmugCsyh+Hr8Dh9VuErONfDFgM9+H0XHZm/RqUjc8gITQDGxCpv7zzxB2YgFlzezW3CKUubVIQzQ==", "license": "Remotion License https://remotion.dev/license" }, - Network accessline 1316
"license": "Remotion License https://remotion.dev/license" - Network accessline 1318
"node_modules/@remotion/media-utils": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/media-utils/-/media-utils-4.0.503.tgz", - Network accessline 1319
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/media-utils/-/media-utils-4.0.503.tgz", "integrity": "sha512-dvI1GfojNvGy0/UszB2js6Labzp3fMKJV3fACDCHbJbmMsgpaukhmNxGzd9TYJRiGFoUySaoxRYwcwtlmx1yRg==", - Network accessline 1320
"resolved": "https://registry.npmjs.org/@remotion/media-utils/-/media-utils-4.0.503.tgz", - Network accessline 1332
"node_modules/@remotion/noise": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/noise/-/noise-4.0.503.tgz", - Network accessline 1333
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/noise/-/noise-4.0.503.tgz", "integrity": "sha512-TOkyUJ3hwIIk9/7bHn/5fhZ/haBKytdwETd4bPOquTM7NSzfHOHqIHxOJpLmvejextXY1PQA0TU1dINObrDKug==", - Network accessline 1334
"resolved": "https://registry.npmjs.org/@remotion/noise/-/noise-4.0.503.tgz", - Network accessline 1342
"node_modules/@remotion/paths": { "version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/paths/-/paths-4.0.503.tgz", - Network accessline 1343
"version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/paths/-/paths-4.0.503.tgz", "integrity": "sha512-rsKEN3YqwCxhUrrKBDTK0i6zrkeyGwV5ztBSC0zhyOW/AjRhTFJOo95WtFdrBWXGPJ8sYSns9aiia4Diqhu6yg==", - Network accessline 1344
"resolved": "https://registry.npmmirror.com/@remotion/paths/-/paths-4.0.503.tgz", - Network accessline 1348
"node_modules/@remotion/player": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/player/-/player-4.0.503.tgz", - Network accessline 1349
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/player/-/player-4.0.503.tgz", "integrity": "sha512-2VPJaCB38HKytO6cZUf/KlXI26DVzpjNi9nuHNci/PaPt1K+l/Qu5QqqG2kmwhFT9jmbubVRNvmu+Fs4qWCpjg==", - Network accessline 1350
"resolved": "https://registry.npmjs.org/@remotion/player/-/player-4.0.503.tgz", - Network accessline 1361
"node_modules/@remotion/renderer": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/renderer/-/renderer-4.0.503.tgz", - Network accessline 1362
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/renderer/-/renderer-4.0.503.tgz", "integrity": "sha512-7aE7lpRaFSvpj51u7X0TyC4BPAlZbvC19niTxy2+sLKQu5bepjijc+NeVzWySSymPMjTTAEqtePgOaFHjcfEKA==", - Network accessline 1363
"resolved": "https://registry.npmjs.org/@remotion/renderer/-/renderer-4.0.503.tgz", - Network accessline 1388
"node_modules/@remotion/shapes": { "version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/shapes/-/shapes-4.0.503.tgz", - Network accessline 1389
"version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/shapes/-/shapes-4.0.503.tgz", "integrity": "sha512-IdAfQfPbWwaceVThWkdBGUCgANvlJPo/AQw+E8B5NIb8LfM6zqbLJeOgxMJ6TK2iTzZDrdPP6gGROEKE4Kyn/Q==", - Network accessline 1390
"resolved": "https://registry.npmmirror.com/@remotion/shapes/-/shapes-4.0.503.tgz", - Network accessline 1402
"node_modules/@remotion/streaming": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/streaming/-/streaming-4.0.503.tgz", - Network accessline 1403
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/streaming/-/streaming-4.0.503.tgz", "integrity": "sha512-mZ7dElgKXGP5/kAI3ikK4S8JedtXWcNlnrmcwFepaiPeZ0QBZyFaGirt3sFE8dtcxdeAMQgUIxT/vh6nkDclAQ==", - Network accessline 1404
"resolved": "https://registry.npmjs.org/@remotion/streaming/-/streaming-4.0.503.tgz", - Network accessline 1408
"node_modules/@remotion/studio": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio/-/studio-4.0.503.tgz", - Network accessline 1409
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio/-/studio-4.0.503.tgz", "integrity": "sha512-nnMc4N28Ymcs25Y3xGcrmXMaDxB/zBXeH+8EC+OcNay7Hgg0fpD4Fyg/NaMCxqL30/R+5XFcQsZpLATqYHb+qw==", - Network accessline 1410
"resolved": "https://registry.npmjs.org/@remotion/studio/-/studio-4.0.503.tgz", - Network accessline 1436
"node_modules/@remotion/studio-codemods": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-codemods/-/studio-codemods-4.0.503.tgz", - Network accessline 1437
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-codemods/-/studio-codemods-4.0.503.tgz", "integrity": "sha512-CnKUBhERDfZFHSszFwzznFv/P9c9uDJ2wDNj1J9iZhL3LrcGlvfKuIQ48OWHyyopJd9IMDf+FfyYDDiXyXIdoQ= - Network accessline 1438
"resolved": "https://registry.npmjs.org/@remotion/studio-codemods/-/studio-codemods-4.0.503.tgz", - Network accessline 1450
"node_modules/@remotion/studio-protocol": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-protocol/-/studio-protocol-4.0.503.tgz", - Network accessline 1451
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-protocol/-/studio-protocol-4.0.503.tgz", "integrity": "sha512-Ns8ccqf/05hahdZzcmmHFkpV2tn0fG+f1Ev/Iv4XPAVpGfcwYr8lbL9n1i8r46QtHQ3CMnXiXcfRawW5P4fLQw= - Network accessline 1452
"resolved": "https://registry.npmjs.org/@remotion/studio-protocol/-/studio-protocol-4.0.503.tgz", - Network accessline 1456
"node_modules/@remotion/studio-server": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-server/-/studio-server-4.0.503.tgz", - Network accessline 1457
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-server/-/studio-server-4.0.503.tgz", "integrity": "sha512-XTBdAnQl7X2wasy55L5c+Wnxa5G1mzZ4txKlXshlyU5pSDSItjq8i+dreE8Fw1XFiHVYEmIRKCXxiwYikH+1UQ==", - Network accessline 1458
"resolved": "https://registry.npmjs.org/@remotion/studio-server/-/studio-server-4.0.503.tgz", - Network accessline 1481
"node_modules/@remotion/studio-shared": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-shared/-/studio-shared-4.0.503.tgz", - Network accessline 1482
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/studio-shared/-/studio-shared-4.0.503.tgz", "integrity": "sha512-+/B6j3x5lcnxi3IlmXRGQD4LOPg/jCJPvqhu0KH0VmyUubSRA9NsPQykBkD3gwhQGDNBwH/Lgfq7gEFKos+0+Q==", - Network accessline 1483
"resolved": "https://registry.npmjs.org/@remotion/studio-shared/-/studio-shared-4.0.503.tgz", - Network accessline 1491
"node_modules/@remotion/three": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/three/-/three-4.0.503.tgz", - Network accessline 1492
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/three/-/three-4.0.503.tgz", "integrity": "sha512-UNKasPE7t0mgrqdGzaUGLEYm/YXBp+ciXEnPcibZCL1H+aXEw1wOV7QMcVomVCGl/5ptz/PF4c6iQRByDWa33w==", - Network accessline 1493
"resolved": "https://registry.npmjs.org/@remotion/three/-/three-4.0.503.tgz", - Network accessline 1507
"node_modules/@remotion/timeline-utils": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/timeline-utils/-/timeline-utils-4.0.503.tgz", - Network accessline 1508
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/timeline-utils/-/timeline-utils-4.0.503.tgz", "integrity": "sha512-AXe0Wcwor1APgzlvx4JHUzS77vJaia+jD/mM+vstOsd4xnL57KPanMrfdimQFyBMQHm6F9tbe1u0LzHLm9G0JA==" - Network accessline 1509
"resolved": "https://registry.npmjs.org/@remotion/timeline-utils/-/timeline-utils-4.0.503.tgz", - Network accessline 1516
"node_modules/@remotion/transitions": { "version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/transitions/-/transitions-4.0.503.tgz", - Network accessline 1517
"version": "4.0.503", "resolved": "https://registry.npmmirror.com/@remotion/transitions/-/transitions-4.0.503.tgz", "integrity": "sha512-KH/7vvGcfUKn1hmyT1I9VQkMb8lTWi5emUaURfTVUPS6yC98dPWEQDtauWJh93wLM7XEAWd9JT4hi5w+0xJu0w==", - Network accessline 1518
"resolved": "https://registry.npmmirror.com/@remotion/transitions/-/transitions-4.0.503.tgz", - Network accessline 1531
"node_modules/@remotion/web-renderer": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/web-renderer/-/web-renderer-4.0.503.tgz", - Network accessline 1532
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/web-renderer/-/web-renderer-4.0.503.tgz", "integrity": "sha512-iSJ72wWVgilYrF7SrK0tPE4t/ABx7k1WyZVY690MnxRrzQ0bkdxpJ+Z0/pWdWKeUnXOZRQlIGNXe+mk0HDC3ow==", - Network accessline 1533
"resolved": "https://registry.npmjs.org/@remotion/web-renderer/-/web-renderer-4.0.503.tgz", - Network accessline 1549
"node_modules/@remotion/zod-types": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/zod-types/-/zod-types-4.0.503.tgz", - Network accessline 1550
"version": "4.0.503", "resolved": "https://registry.npmjs.org/@remotion/zod-types/-/zod-types-4.0.503.tgz", "integrity": "sha512-/JReE1oIWMIx5wxjiSmpZk9teKs0DLqwtjvInj8JRiQHh6OhDi6ylDaljdCt746Of/7f8XAPCy+FtvIas/26yg==", - Network accessline 1551
"resolved": "https://registry.npmjs.org/@remotion/zod-types/-/zod-types-4.0.503.tgz", - Network accessline 1558
"node_modules/@rspack/binding": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", - Network accessline 1559
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", "integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==", - Network accessline 1560
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", - Network accessline 1576
"node_modules/@rspack/binding-darwin-arm64": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", - Network accessline 1577
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", "integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG - Network accessline 1578
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", - Network accessline 1589
"node_modules/@rspack/binding-darwin-x64": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", - Network accessline 1590
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", "integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtX - Network accessline 1591
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", - Network accessline 1602
"node_modules/@rspack/binding-linux-arm64-gnu": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", - Network accessline 1603
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", "integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9 - Network accessline 1604
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", - Network accessline 1615
"node_modules/@rspack/binding-linux-arm64-musl": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", - Network accessline 1616
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", "integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/ - Network accessline 1617
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", - Network accessline 1628
"node_modules/@rspack/binding-linux-x64-gnu": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", - Network accessline 1629
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", "integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/ - Network accessline 1630
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", - Network accessline 1641
"node_modules/@rspack/binding-linux-x64-musl": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", - Network accessline 1642
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", "integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPD - Network accessline 1643
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", - Network accessline 1654
"node_modules/@rspack/binding-wasm32-wasi": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", - Network accessline 1655
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", "integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXu - Network accessline 1656
"resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", - Network accessline 1667
"node_modules/@rspack/binding-win32-arm64-msvc": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", - Network accessline 1668
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", "integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXm - Network accessline 1669
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", - Network accessline 1680
"node_modules/@rspack/binding-win32-ia32-msvc": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", - Network accessline 1681
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", "integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPB - Network accessline 1682
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", - Network accessline 1693
"node_modules/@rspack/binding-win32-x64-msvc": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", - Network accessline 1694
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", "integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32 - Network accessline 1695
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", - Network accessline 1706
"node_modules/@rspack/core": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", - Network accessline 1707
"version": "1.7.11", "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", "integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==", - Network accessline 1708
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", - Network accessline 1728
"node_modules/@rspack/lite-tapable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", - Network accessline 1729
"version": "1.1.0", "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", - Network accessline 1730
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", - Network accessline 1734
"node_modules/@rspack/plugin-react-refresh": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.1.tgz", - Network accessline 1735
"version": "1.6.1", "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.1.tgz", "integrity": "sha512-eqqW5645VG3CzGzFgNg5HqNdHVXY+567PGjtDhhrM8t67caxmsSzRmT5qfoEIfBcGgFkH9vEg7kzXwmCYQd - Network accessline 1736
"resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.1.tgz", - Network accessline 1753
"node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - Network accessline 1754
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBO - Network accessline 1755
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - Network accessline 1761
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1762
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1763
"url": "https://github.com/sponsors/gregberge" - Network accessline 1769
"node_modules/@svgr/babel-plugin-remove-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - Network accessline 1770
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkH - Network accessline 1771
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - Network accessline 1777
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1778
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1779
"url": "https://github.com/sponsors/gregberge" - Network accessline 1785
"node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - Network accessline 1786
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF - Network accessline 1787
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - Network accessline 1793
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1794
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1795
"url": "https://github.com/sponsors/gregberge" - Network accessline 1801
"node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - Network accessline 1802
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8c - Network accessline 1803
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - Network accessline 1809
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1810
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1811
"url": "https://github.com/sponsors/gregberge" - Network accessline 1817
"node_modules/@svgr/babel-plugin-svg-dynamic-title": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - Network accessline 1818
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6m - Network accessline 1819
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - Network accessline 1825
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1826
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1827
"url": "https://github.com/sponsors/gregberge" - Network accessline 1833
"node_modules/@svgr/babel-plugin-svg-em-dimensions": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - Network accessline 1834
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY - Network accessline 1835
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - Network accessline 1841
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1842
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1843
"url": "https://github.com/sponsors/gregberge" - Network accessline 1849
"node_modules/@svgr/babel-plugin-transform-react-native-svg": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - Network accessline 1850
"version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5Htg - Network accessline 1851
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - Network accessline 1857
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1858
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1859
"url": "https://github.com/sponsors/gregberge" - Network accessline 1865
"node_modules/@svgr/babel-plugin-transform-svg-component": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - Network accessline 1866
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1J - Network accessline 1867
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - Network accessline 1873
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1874
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1875
"url": "https://github.com/sponsors/gregberge" - Network accessline 1881
"node_modules/@svgr/babel-preset": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - Network accessline 1882
"version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - Network accessline 1883
"resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - Network accessline 1899
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1900
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1901
"url": "https://github.com/sponsors/gregberge" - Network accessline 1907
"node_modules/@svgr/core": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - Network accessline 1908
"version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - Network accessline 1909
"resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - Network accessline 1922
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1923
"type": "github", "url": "https://github.com/sponsors/gregberge" } - Network accessline 1924
"url": "https://github.com/sponsors/gregberge" - Network accessline 1927
"node_modules/@svgr/hast-util-to-babel-ast": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - Network accessline 1928
"version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN - Network accessline 1929
"resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - Network accessline 1939
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1940
"type": "github", "url": "https://github.com/sponsors/gregberge" } - Network accessline 1941
"url": "https://github.com/sponsors/gregberge" - Network accessline 1944
"node_modules/@svgr/plugin-jsx": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - Network accessline 1945
"version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - Network accessline 1946
"resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - Network accessline 1958
"funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - Network accessline 1959
"type": "github", "url": "https://github.com/sponsors/gregberge" }, - Network accessline 1960
"url": "https://github.com/sponsors/gregberge" - Network accessline 1966
"node_modules/@tweenjs/tween.js": { "version": "23.1.3", "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - Network accessline 1967
"version": "23.1.3", "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", - Network accessline 1968
"resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - Network accessline 1972
"node_modules/@tybys/wasm-util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", - Network accessline 1973
"version": "0.10.3", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", - Network accessline 1974
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", - Network accessline 1982
"node_modules/@types/dom-mediacapture-transform": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/@types/dom-mediacapture-transform/-/dom-mediacapture-transform-0.1.12.tgz", - Network accessline 1983
"version": "0.1.12", "resolved": "https://registry.npmjs.org/@types/dom-mediacapture-transform/-/dom-mediacapture-transform-0.1.12.tgz", "integrity": "sha512-d7/QsLRwF864A5mgIM/YrfiglHoYn7zgCcAoJgW404r+2DwnNr7EBbLnCWpmOMgH8y0te7 - Network accessline 1984
"resolved": "https://registry.npmjs.org/@types/dom-mediacapture-transform/-/dom-mediacapture-transform-0.1.12.tgz", - Network accessline 1991
"node_modules/@types/dom-webcodecs": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", - Network accessline 1992
"version": "0.1.13", "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", "integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==", - Network accessline 1993
"resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz", - Network accessline 1997
"node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - Network accessline 1998
"version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - Network accessline 1999
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - Network accessline 2007
"node_modules/@types/eslint-scope": { "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - Network accessline 2008
"version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - Network accessline 2009
"resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - Network accessline 2017
"node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - Network accessline 2018
"version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - Network accessline 2019
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - Network accessline 2023
"node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - Network accessline 2024
"version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - Network accessline 2025
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - Network accessline 2029
"node_modules/@types/node": { "version": "26.1.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz", - Network accessline 2030
"version": "26.1.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz", "integrity": "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==", - Network accessline 2031
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz", - Network accessline 2038
"node_modules/@types/prismjs": { "version": "1.26.6", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.6.tgz", - Network accessline 2039
"version": "1.26.6", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.6.tgz", "integrity": "sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==", - Network accessline 2040
"resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.6.tgz", - Network accessline 2044
"node_modules/@types/react": { "version": "19.2.18", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", - Network accessline 2045
"version": "19.2.18", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==", - Network accessline 2046
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", - Network accessline 2054
"node_modules/@types/react-reconciler": { "version": "0.28.9", "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz", - Network accessline 2055
"version": "0.28.9", "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz", "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==", - Network accessline 2056
"resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz", - Network accessline 2064
"node_modules/@types/stats.js": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", - Network accessline 2065
"version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", - Network accessline 2066
"resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", - Network accessline 2070
"node_modules/@types/three": { "version": "0.182.0", "resolved": "https://registry.npmjs.org/@types/three/-/three-0.182.0.tgz", - Network accessline 2071
"version": "0.182.0", "resolved": "https://registry.npmjs.org/@types/three/-/three-0.182.0.tgz", "integrity": "sha512-WByN9V3Sbwbe2OkWuSGyoqQO8Du6yhYaXtXLoA5FkKTUJorZ+yOHBZ35zUUPQXlAKABZmbYp5oAqpA4RBjtJ/Q==", - Network accessline 2072
"resolved": "https://registry.npmjs.org/@types/three/-/three-0.182.0.tgz", - Network accessline 2085
"node_modules/@types/webxr": { "version": "0.5.24", "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", - Network accessline 2086
"version": "0.5.24", "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==", - Network accessline 2087
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", - Network accessline 2091
"node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - Network accessline 2092
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - Network accessline 2093
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - Network accessline 2101
"node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - Network accessline 2102
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj - Network accessline 2103
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - Network accessline 2107
"node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - Network accessline 2108
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9 - Network accessline 2109
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - Network accessline 2113
"node_modules/@webassemblyjs/helper-buffer": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - Network accessline 2114
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== - Network accessline 2115
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - Network accessline 2119
"node_modules/@webassemblyjs/helper-numbers": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - Network accessline 2120
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA - Network accessline 2121
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - Network accessline 2130
"node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - Network accessline 2131
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+ - Network accessline 2132
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - Network accessline 2136
"node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - Network accessline 2137
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAEr - Network accessline 2138
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - Network accessline 2148
"node_modules/@webassemblyjs/ieee754": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - Network accessline 2149
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - Network accessline 2150
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - Network accessline 2157
"node_modules/@webassemblyjs/leb128": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - Network accessline 2158
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - Network accessline 2159
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - Network accessline 2166
"node_modules/@webassemblyjs/utf8": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - Network accessline 2167
"version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - Network accessline 2168
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - Network accessline 2172
"node_modules/@webassemblyjs/wasm-edit": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - Network accessline 2173
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - Network accessline 2174
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - Network accessline 2188
"node_modules/@webassemblyjs/wasm-gen": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - Network accessline 2189
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - Network accessline 2190
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - Network accessline 2201
"node_modules/@webassemblyjs/wasm-opt": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - Network accessline 2202
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - Network accessline 2203
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - Network accessline 2213
"node_modules/@webassemblyjs/wasm-parser": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - Network accessline 2214
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - Network accessline 2215
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - Network accessline 2227
"node_modules/@webassemblyjs/wast-printer": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - Network accessline 2228
"version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - Network accessline 2229
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - Network accessline 2237
"node_modules/@webgpu/types": { "version": "0.1.71", "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.71.tgz", - Network accessline 2238
"version": "0.1.71", "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.71.tgz", "integrity": "sha512-mMy8/ODcKhab808co15eW+yN+HgXoQxRQHTiBV9Mrvl1r0ufnid7YOcI+gi4eUWSWl9ezD6TW2KXccrL8HCh2A==", - Network accessline 2239
"resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.71.tgz", - Network accessline 2243
"node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - Network accessline 2244
"version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - Network accessline 2245
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - Network accessline 2249
"node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - Network accessline 2250
"version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - Network accessline 2251
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - Network accessline 2255
"node_modules/accepts": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - Network accessline 2256
"version": "2.0.0", "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - Network accessline 2257
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - Network accessline 2268
"node_modules/acorn": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", - Network accessline 2269
"version": "8.18.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", - Network accessline 2270
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", - Network accessline 2280
"node_modules/acorn-import-phases": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - Network accessline 2281
"version": "1.0.4", "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - Network accessline 2282
"resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - Network accessline 2292
"node_modules/ajv": { "version": "8.20.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - Network accessline 2293
"version": "8.20.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - Network accessline 2294
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - Network accessline 2303
"funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" - Network accessline 2304
"type": "github", "url": "https://github.com/sponsors/epoberezkin" } - Network accessline 2305
"url": "https://github.com/sponsors/epoberezkin" - Network accessline 2308
"node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - Network accessline 2309
"version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - Network accessline 2310
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - Network accessline 2325
"node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - Network accessline 2326
"version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - Network accessline 2327
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - Network accessline 2337
"node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - Network accessline 2338
"version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - Network accessline 2339
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - Network accessline 2343
"node_modules/ast-types": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - Network accessline 2344
"version": "0.16.1", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - Network accessline 2345
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - Network accessline 2355
"node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - Network accessline 2356
"version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - Network accessline 2357
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - Network accessline 2360
{ "type": "github", "url": "https://github.com/sponsors/feross" - Network accessline 2361
"type": "github", "url": "https://github.com/sponsors/feross" }, - Network accessline 2362
"url": "https://github.com/sponsors/feross" - Network accessline 2364
{ "type": "patreon", "url": "https://www.patreon.com/feross" - Network accessline 2365
"type": "patreon", "url": "https://www.patreon.com/feross" }, - Network accessline 2366
"url": "https://www.patreon.com/feross" - Network accessline 2368
{ "type": "consulting", "url": "https://feross.org/support" - Network accessline 2369
"type": "consulting", "url": "https://feross.org/support" } - Network accessline 2370
"url": "https://feross.org/support" - Network accessline 2376
"node_modules/baseline-browser-mapping": { "version": "2.11.10", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.10.tgz", - Network accessline 2377
"version": "2.11.10", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.10.tgz", "integrity": "sha512-35JEvJ5/KKlbCHjMCsONI2w6HE88STjVdHk+C7d8LtcFxUjZR1KeLP9izofn2qs0KUxX5r4z73bwH/r - Network accessline 2378
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.10.tgz", - Network accessline 2388
"node_modules/body-parser": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", - Network accessline 2389
"version": "2.3.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", - Network accessline 2390
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", - Network accessline 2407
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 2408
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 2409
"url": "https://opencollective.com/express" - Network accessline 2412
"node_modules/body-parser/node_modules/content-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - Network accessline 2413
"version": "2.0.0", "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", - Network accessline 2414
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - Network accessline 2420
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 2421
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 2422
"url": "https://opencollective.com/express" - Network accessline 2425
"node_modules/browserslist": { "version": "4.28.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", - Network accessline 2426
"version": "4.28.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", - Network accessline 2427
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", - Network accessline 2430
{ "type": "opencollective", "url": "https://opencollective.com/browserslist" - Network accessline 2431
"type": "opencollective", "url": "https://opencollective.com/browserslist" }, - Network accessline 2432
"url": "https://opencollective.com/browserslist" - Network accessline 2434
{ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" - Network accessline 2435
"type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" }, - Network accessline 2436
"url": "https://tidelift.com/funding/github/npm/browserslist" - Network accessline 2438
{ "type": "github", "url": "https://github.com/sponsors/ai" - Network accessline 2439
"type": "github", "url": "https://github.com/sponsors/ai" } - Network accessline 2440
"url": "https://github.com/sponsors/ai" - Network accessline 2458
"node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - Network accessline 2459
"version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - Network accessline 2460
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - Network accessline 2463
{ "type": "github", "url": "https://github.com/sponsors/feross" - Network accessline 2464
"type": "github", "url": "https://github.com/sponsors/feross" }, - Network accessline 2465
"url": "https://github.com/sponsors/feross" - Network accessline 2467
{ "type": "patreon", "url": "https://www.patreon.com/feross" - Network accessline 2468
"type": "patreon", "url": "https://www.patreon.com/feross" }, - Network accessline 2469
"url": "https://www.patreon.com/feross" - Network accessline 2471
{ "type": "consulting", "url": "https://feross.org/support" - Network accessline 2472
"type": "consulting", "url": "https://feross.org/support" } - Network accessline 2473
"url": "https://feross.org/support" - Network accessline 2483
"node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - Network accessline 2484
"version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - Network accessline 2485
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - Network accessline 2489
"node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - Network accessline 2490
"version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - Network accessline 2491
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - Network accessline 2498
"node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - Network accessline 2499
"version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuM - Network accessline 2500
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - Network accessline 2511
"node_modules/call-bound": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - Network accessline 2512
"version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - Network accessline 2513
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - Network accessline 2522
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 2523
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 2524
"url": "https://github.com/sponsors/ljharb" - Network accessline 2527
"node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - Network accessline 2528
"version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - Network accessline 2529
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - Network accessline 2536
"node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - Network accessline 2537
"version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - Network accessline 2538
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - Network accessline 2543
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 2544
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 2545
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 2548
"node_modules/caniuse-lite": { "version": "1.0.30001806", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", - Network accessline 2549
"version": "1.0.30001806", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", - Network accessline 2550
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", - Network accessline 2553
{ "type": "opencollective", "url": "https://opencollective.com/browserslist" - Network accessline 2554
"type": "opencollective", "url": "https://opencollective.com/browserslist" }, - Network accessline 2555
"url": "https://opencollective.com/browserslist" - Network accessline 2557
{ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - Network accessline 2558
"type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, - Network accessline 2559
"url": "https://tidelift.com/funding/github/npm/caniuse-lite" - Network accessline 2561
{ "type": "github", "url": "https://github.com/sponsors/ai" - Network accessline 2562
"type": "github", "url": "https://github.com/sponsors/ai" } - Network accessline 2563
"url": "https://github.com/sponsors/ai" - Network accessline 2568
"node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - Network accessline 2569
"version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - Network accessline 2570
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - Network accessline 2577
"node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - Network accessline 2578
"version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - Network accessline 2579
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - Network accessline 2586
"node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - Network accessline 2587
"version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - Network accessline 2588
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - Network accessline 2592
"node_modules/content-disposition": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - Network accessline 2593
"version": "1.1.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", - Network accessline 2594
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - Network accessline 2600
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 2601
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 2602
"url": "https://opencollective.com/express" - Network accessline 2605
"node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - Network accessline 2606
"version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - Network accessline 2607
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - Network accessline 2614
"node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - Network accessline 2615
"version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - Network accessline 2616
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - Network accessline 2620
"node_modules/cookie": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - Network accessline 2621
"version": "0.7.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - Network accessline 2622
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - Network accessline 2629
"node_modules/cookie-signature": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - Network accessline 2630
"version": "1.2.2", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - Network accessline 2631
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - Network accessline 2638
"node_modules/cors": { "version": "2.8.6", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - Network accessline 2639
"version": "2.8.6", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - Network accessline 2640
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - Network accessline 2650
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 2651
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 2652
"url": "https://opencollective.com/express" - Network accessline 2655
"node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - Network accessline 2656
"version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - Network accessline 2657
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - Network accessline 2668
}, "funding": { "url": "https://github.com/sponsors/d-fischer" - Network accessline 2669
"funding": { "url": "https://github.com/sponsors/d-fischer" }, - Network accessline 2670
"url": "https://github.com/sponsors/d-fischer" - Network accessline 2681
"node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - Network accessline 2682
"version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - Network accessline 2683
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - Network accessline 2695
"node_modules/css-loader": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", - Network accessline 2696
"version": "7.1.4", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", - Network accessline 2697
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", - Network accessline 2713
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 2714
"type": "opencollective", "url": "https://opencollective.com/webpack" }, - Network accessline 2715
"url": "https://opencollective.com/webpack" - Network accessline 2730
"node_modules/css-loader/node_modules/semver": { "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - Network accessline 2731
"version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - Network accessline 2732
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - Network accessline 2742
"node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - Network accessline 2743
"version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - Network accessline 2744
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - Network accessline 2754
"node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - Network accessline 2755
"version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - Network accessline 2756
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - Network accessline 2761
"node_modules/culori": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/culori/-/culori-4.0.2.tgz", - Network accessline 2762
"version": "4.0.2", "resolved": "https://registry.npmmirror.com/culori/-/culori-4.0.2.tgz", "integrity": "sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw==", - Network accessline 2763
"resolved": "https://registry.npmmirror.com/culori/-/culori-4.0.2.tgz", - Network accessline 2770
"node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 2771
"version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - Network accessline 2772
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 2787
"node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - Network accessline 2788
"version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - Network accessline 2789
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - Network accessline 2796
"node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - Network accessline 2797
"version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - Network accessline 2798
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - Network accessline 2805
"node_modules/dot-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - Network accessline 2806
"version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - Network accessline 2807
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - Network accessline 2815
"node_modules/dotenv": { "version": "17.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", - Network accessline 2816
"version": "17.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", - Network accessline 2817
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", - Network accessline 2822
}, "funding": { "url": "https://dotenvx.com" - Network accessline 2823
"funding": { "url": "https://dotenvx.com" } - Network accessline 2824
"url": "https://dotenvx.com" - Network accessline 2827
"node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - Network accessline 2828
"version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - Network accessline 2829
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - Network accessline 2841
"node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - Network accessline 2842
"version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - Network accessline 2843
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - Network accessline 2847
"node_modules/electron-to-chromium": { "version": "1.5.399", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.399.tgz", - Network accessline 2848
"version": "1.5.399", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.399.tgz", "integrity": "sha512-lEcqhErbHjXRvd41rnWLpzbyU/IXfIYo7QwaFWmxGeLiLyY2TBCdHnWY88vB+p3ubnihRypDm66panXl7TylLA= - Network accessline 2849
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.399.tgz", - Network accessline 2853
"node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - Network accessline 2854
"version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - Network accessline 2855
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - Network accessline 2862
"node_modules/enhanced-resolve": { "version": "5.24.5", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", - Network accessline 2863
"version": "5.24.5", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", "integrity": "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==", - Network accessline 2864
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", - Network accessline 2875
"node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - Network accessline 2876
"version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - Network accessline 2877
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - Network accessline 2882
}, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" - Network accessline 2883
"funding": { "url": "https://github.com/fb55/entities?sponsor=1" } - Network accessline 2884
"url": "https://github.com/fb55/entities?sponsor=1" - Network accessline 2887
"node_modules/error-ex": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - Network accessline 2888
"version": "1.3.4", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - Network accessline 2889
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - Network accessline 2896
"node_modules/error-stack-parser": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - Network accessline 2897
"version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - Network accessline 2898
"resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - Network accessline 2905
"node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - Network accessline 2906
"version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - Network accessline 2907
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - Network accessline 2914
"node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - Network accessline 2915
"version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - Network accessline 2916
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - Network accessline 2923
"node_modules/es-module-lexer": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", - Network accessline 2924
"version": "2.3.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", - Network accessline 2925
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", - Network accessline 2929
"node_modules/es-object-atoms": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - Network accessline 2930
"version": "1.1.2", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - Network accessline 2931
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - Network accessline 2941
"node_modules/esbuild": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", - Network accessline 2942
"version": "0.28.1", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", - Network accessline 2943
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", - Network accessline 2982
"node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - Network accessline 2983
"version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - Network accessline 2984
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - Network accessline 2991
"node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - Network accessline 2992
"version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - Network accessline 2993
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - Network accessline 2997
"node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - Network accessline 2998
"version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - Network accessline 2999
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - Network accessline 3010
"node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - Network accessline 3011
"version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - Network accessline 3012
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - Network accessline 3023
"node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - Network accessline 3024
"version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - Network accessline 3025
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - Network accessline 3035
"node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - Network accessline 3036
"version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - Network accessline 3037
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - Network accessline 3044
"node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - Network accessline 3045
"version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - Network accessline 3046
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - Network accessline 3053
"node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - Network accessline 3054
"version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - Network accessline 3055
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - Network accessline 3062
"node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - Network accessline 3063
"version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - Network accessline 3064
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - Network accessline 3071
"node_modules/eventsource": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - Network accessline 3072
"version": "3.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", - Network accessline 3073
"resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - Network accessline 3083
"node_modules/eventsource-parser": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", - Network accessline 3084
"version": "3.1.0", "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", - Network accessline 3085
"resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", - Network accessline 3092
"node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - Network accessline 3093
"version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - Network accessline 3094
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - Network accessline 3110
}, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" - Network accessline 3111
"funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } - Network accessline 3112
"url": "https://github.com/sindresorhus/execa?sponsor=1" - Network accessline 3115
"node_modules/express": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - Network accessline 3116
"version": "5.2.1", "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - Network accessline 3117
"resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - Network accessline 3153
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3154
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3155
"url": "https://opencollective.com/express" - Network accessline 3158
"node_modules/express-rate-limit": { "version": "8.6.1", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.1.tgz", - Network accessline 3159
"version": "8.6.1", "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.1.tgz", "integrity": "sha512-0D493aP61w0TJ2A0wy27riRsO7FMQ7FK+KUHOKCSfPvYo0R55aiC6emCVgFUeShH0fq0ICPVzNcgoS+BsbXQCA==", - Network accessline 3160
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.1.tgz", - Network accessline 3169
}, "funding": { "url": "https://github.com/sponsors/express-rate-limit" - Network accessline 3170
"funding": { "url": "https://github.com/sponsors/express-rate-limit" }, - Network accessline 3171
"url": "https://github.com/sponsors/express-rate-limit" - Network accessline 3177
"node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - Network accessline 3178
"version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - Network accessline 3179
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - Network accessline 3183
"node_modules/fast-uri": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", - Network accessline 3184
"version": "3.1.5", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", - Network accessline 3185
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", - Network accessline 3188
{ "type": "github", "url": "https://github.com/sponsors/fastify" - Network accessline 3189
"type": "github", "url": "https://github.com/sponsors/fastify" }, - Network accessline 3190
"url": "https://github.com/sponsors/fastify" - Network accessline 3192
{ "type": "opencollective", "url": "https://opencollective.com/fastify" - Network accessline 3193
"type": "opencollective", "url": "https://opencollective.com/fastify" } - Network accessline 3194
"url": "https://opencollective.com/fastify" - Network accessline 3199
"node_modules/fflate": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", - Network accessline 3200
"version": "0.8.3", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", - Network accessline 3201
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", - Network accessline 3205
"node_modules/finalhandler": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - Network accessline 3206
"version": "2.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - Network accessline 3207
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - Network accessline 3221
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3222
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3223
"url": "https://opencollective.com/express" - Network accessline 3226
"node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - Network accessline 3227
"version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - Network accessline 3228
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - Network accessline 3235
"node_modules/fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - Network accessline 3236
"version": "2.0.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - Network accessline 3237
"resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - Network accessline 3244
"node_modules/fs-monkey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - Network accessline 3245
"version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - Network accessline 3246
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - Network accessline 3250
"node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - Network accessline 3251
"version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - Network accessline 3252
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - Network accessline 3254
"license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 3255
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 3256
"url": "https://github.com/sponsors/ljharb" - Network accessline 3259
"node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - Network accessline 3260
"version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - Network accessline 3261
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - Network accessline 3268
"node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - Network accessline 3269
"version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - Network accessline 3270
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - Network accessline 3287
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 3288
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 3289
"url": "https://github.com/sponsors/ljharb" - Network accessline 3292
"node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - Network accessline 3293
"version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - Network accessline 3294
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - Network accessline 3305
"node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - Network accessline 3306
"version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - Network accessline 3307
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - Network accessline 3312
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3313
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3314
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3317
"node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - Network accessline 3318
"version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - Network accessline 3319
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - Network accessline 3323
"node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - Network accessline 3324
"version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - Network accessline 3325
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - Network accessline 3330
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 3331
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 3332
"url": "https://github.com/sponsors/ljharb" - Network accessline 3335
"node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - Network accessline 3336
"version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - Network accessline 3337
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - Network accessline 3341
"node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - Network accessline 3342
"version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - Network accessline 3343
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - Network accessline 3350
"node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - Network accessline 3351
"version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - Network accessline 3352
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - Network accessline 3357
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 3358
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 3359
"url": "https://github.com/sponsors/ljharb" - Network accessline 3362
"node_modules/hasown": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - Network accessline 3363
"version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - Network accessline 3364
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - Network accessline 3374
"node_modules/hono": { "version": "4.12.33", "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.33.tgz", - Network accessline 3375
"version": "4.12.33", "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.33.tgz", "integrity": "sha512-+SwvkaiJtxsiPjhy9LivY/1m7UsNqCJetM1BrZl9A5DkQhlbHQDU730mMiDPWjnoCYOM8Chf3WrCJw27kNTPFQ==", - Network accessline 3376
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.33.tgz", - Network accessline 3383
"node_modules/html-entities": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", - Network accessline 3384
"version": "2.6.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", - Network accessline 3385
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", - Network accessline 3388
{ "type": "github", "url": "https://github.com/sponsors/mdevils" - Network accessline 3389
"type": "github", "url": "https://github.com/sponsors/mdevils" }, - Network accessline 3390
"url": "https://github.com/sponsors/mdevils" - Network accessline 3392
{ "type": "patreon", "url": "https://patreon.com/mdevils" - Network accessline 3393
"type": "patreon", "url": "https://patreon.com/mdevils" } - Network accessline 3394
"url": "https://patreon.com/mdevils" - Network accessline 3399
"node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - Network accessline 3400
"version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - Network accessline 3401
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - Network accessline 3414
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3415
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3416
"url": "https://opencollective.com/express" - Network accessline 3419
"node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - Network accessline 3420
"version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - Network accessline 3421
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - Network accessline 3428
"node_modules/iconv-lite": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", - Network accessline 3429
"version": "0.7.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", - Network accessline 3430
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", - Network accessline 3439
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3440
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3441
"url": "https://opencollective.com/express" - Network accessline 3444
"node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - Network accessline 3445
"version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - Network accessline 3446
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - Network accessline 3456
"node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - Network accessline 3457
"version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - Network accessline 3458
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - Network accessline 3461
{ "type": "github", "url": "https://github.com/sponsors/feross" - Network accessline 3462
"type": "github", "url": "https://github.com/sponsors/feross" }, - Network accessline 3463
"url": "https://github.com/sponsors/feross" - Network accessline 3465
{ "type": "patreon", "url": "https://www.patreon.com/feross" - Network accessline 3466
"type": "patreon", "url": "https://www.patreon.com/feross" }, - Network accessline 3467
"url": "https://www.patreon.com/feross" - Network accessline 3469
{ "type": "consulting", "url": "https://feross.org/support" - Network accessline 3470
"type": "consulting", "url": "https://feross.org/support" } - Network accessline 3471
"url": "https://feross.org/support" - Network accessline 3477
"node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - Network accessline 3478
"version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - Network accessline 3479
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - Network accessline 3488
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3489
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3490
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3493
"node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - Network accessline 3494
"version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - Network accessline 3495
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - Network accessline 3499
"node_modules/ip-address": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", - Network accessline 3500
"version": "10.4.0", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==", - Network accessline 3501
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", - Network accessline 3508
"node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - Network accessline 3509
"version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - Network accessline 3510
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - Network accessline 3517
"node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - Network accessline 3518
"version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - Network accessline 3519
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - Network accessline 3523
"node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - Network accessline 3524
"version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - Network accessline 3525
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - Network accessline 3533
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3534
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3535
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3538
"node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - Network accessline 3539
"version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - Network accessline 3540
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - Network accessline 3544
"node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - Network accessline 3545
"version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - Network accessline 3546
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - Network accessline 3551
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3552
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3553
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3556
"node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - Network accessline 3557
"version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - Network accessline 3558
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - Network accessline 3568
"node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - Network accessline 3569
"version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - Network accessline 3570
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - Network accessline 3574
"node_modules/its-fine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz", - Network accessline 3575
"version": "2.0.0", "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz", "integrity": "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==", - Network accessline 3576
"resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz", - Network accessline 3587
"node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - Network accessline 3588
"version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - Network accessline 3589
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - Network accessline 3601
"node_modules/jose": { "version": "6.2.7", "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.7.tgz", - Network accessline 3602
"version": "6.2.7", "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.7.tgz", "integrity": "sha512-hq1OB1bALKfydZNoViyg6hPVGV4i93ny9Op+n4zP5RSf7SCZEXa/TsG2O3IEr7+WlHRTPnpqDmHfMH6qXAD60w==", - Network accessline 3603
"resolved": "https://registry.npmjs.org/jose/-/jose-6.2.7.tgz", - Network accessline 3605
"license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" - Network accessline 3606
"funding": { "url": "https://github.com/sponsors/panva" } - Network accessline 3607
"url": "https://github.com/sponsors/panva" - Network accessline 3610
"node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - Network accessline 3611
"version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - Network accessline 3612
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - Network accessline 3616
"node_modules/js-yaml": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - Network accessline 3617
"version": "4.3.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", - Network accessline 3618
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - Network accessline 3621
{ "type": "github", "url": "https://github.com/sponsors/puzrin" - Network accessline 3622
"type": "github", "url": "https://github.com/sponsors/puzrin" }, - Network accessline 3623
"url": "https://github.com/sponsors/puzrin" - Network accessline 3625
{ "type": "github", "url": "https://github.com/sponsors/nodeca" - Network accessline 3626
"type": "github", "url": "https://github.com/sponsors/nodeca" } - Network accessline 3627
"url": "https://github.com/sponsors/nodeca" - Network accessline 3638
"node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - Network accessline 3639
"version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - Network accessline 3640
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - Network accessline 3650
"node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - Network accessline 3651
"version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9 - Network accessline 3652
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - Network accessline 3656
"node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - Network accessline 3657
"version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - Network accessline 3658
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - Network accessline 3662
"node_modules/json-schema-typed": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", - Network accessline 3663
"version": "8.0.2", "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", - Network accessline 3664
"resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", - Network accessline 3668
"node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - Network accessline 3669
"version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - Network accessline 3670
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - Network accessline 3680
"node_modules/kiwi-schema": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/kiwi-schema/-/kiwi-schema-0.5.0.tgz", - Network accessline 3681
"version": "0.5.0", "resolved": "https://registry.npmjs.org/kiwi-schema/-/kiwi-schema-0.5.0.tgz", "integrity": "sha512-X+FpfU0yTEtc6aTHS7VwbOpvQwRt70+pXXWRI5fd6CvWhe7pSVC854TVo4Zo0x5/wwcWj+/9KUlXpdcP0dY9AA==", - Network accessline 3682
"resolved": "https://registry.npmjs.org/kiwi-schema/-/kiwi-schema-0.5.0.tgz", - Network accessline 3689
"node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - Network accessline 3690
"version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - Network accessline 3691
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - Network accessline 3698
"node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - Network accessline 3699
"version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - Network accessline 3700
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - Network accessline 3704
"node_modules/loader-runner": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", - Network accessline 3705
"version": "4.3.2", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", - Network accessline 3706
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", - Network accessline 3712
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 3713
"type": "opencollective", "url": "https://opencollective.com/webpack" } - Network accessline 3714
"url": "https://opencollective.com/webpack" - Network accessline 3717
"node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - Network accessline 3718
"version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - Network accessline 3719
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - Network accessline 3726
"node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - Network accessline 3727
"version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - Network accessline 3728
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - Network accessline 3735
"node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - Network accessline 3736
"version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - Network accessline 3737
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - Network accessline 3744
"node_modules/media-typer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", - Network accessline 3745
"version": "1.1.1", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==", - Network accessline 3746
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", - Network accessline 3752
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3753
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3754
"url": "https://opencollective.com/express" - Network accessline 3757
"node_modules/mediabunny": { "version": "1.50.8", "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.50.8.tgz", - Network accessline 3758
"version": "1.50.8", "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.50.8.tgz", "integrity": "sha512-LgykLyQzhdpo0V2yw3UXmOpj+b4JAGdpHBwsPE6kjSt8Za0d1VllD+FV7EGHBcdV4+oHUAo+yrqbVAWxNSDCPQ==", - Network accessline 3759
"resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.50.8.tgz", - Network accessline 3770
"funding": { "type": "individual", "url": "https://github.com/sponsors/Vanilagy" - Network accessline 3771
"type": "individual", "url": "https://github.com/sponsors/Vanilagy" } - Network accessline 3772
"url": "https://github.com/sponsors/Vanilagy" - Network accessline 3775
"node_modules/memfs": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", - Network accessline 3776
"version": "3.4.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", - Network accessline 3777
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", - Network accessline 3787
"node_modules/merge-descriptors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - Network accessline 3788
"version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - Network accessline 3789
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - Network accessline 3794
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3795
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3796
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3799
"node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - Network accessline 3800
"version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - Network accessline 3801
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - Network accessline 3805
"node_modules/meshoptimizer": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz", - Network accessline 3806
"version": "0.22.0", "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz", "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==", - Network accessline 3807
"resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz", - Network accessline 3811
"node_modules/mime-db": { "version": "1.54.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - Network accessline 3812
"version": "1.54.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - Network accessline 3813
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - Network accessline 3820
"node_modules/mime-types": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - Network accessline 3821
"version": "3.0.2", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - Network accessline 3822
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - Network accessline 3831
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 3832
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 3833
"url": "https://opencollective.com/express" - Network accessline 3836
"node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - Network accessline 3837
"version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - Network accessline 3838
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - Network accessline 3845
"node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - Network accessline 3846
"version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - Network accessline 3847
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - Network accessline 3851
"node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 3852
"version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - Network accessline 3853
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 3857
"node_modules/nanoid": { "version": "3.3.16", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - Network accessline 3858
"version": "3.3.16", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", - Network accessline 3859
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - Network accessline 3862
{ "type": "github", "url": "https://github.com/sponsors/ai" - Network accessline 3863
"type": "github", "url": "https://github.com/sponsors/ai" } - Network accessline 3864
"url": "https://github.com/sponsors/ai" - Network accessline 3875
"node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - Network accessline 3876
"version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - Network accessline 3877
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - Network accessline 3884
"node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - Network accessline 3885
"version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - Network accessline 3886
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - Network accessline 3890
"node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - Network accessline 3891
"version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - Network accessline 3892
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - Network accessline 3900
"node_modules/node-releases": { "version": "2.0.51", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", - Network accessline 3901
"version": "2.0.51", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", - Network accessline 3902
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", - Network accessline 3909
"node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - Network accessline 3910
"version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - Network accessline 3911
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - Network accessline 3921
"node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - Network accessline 3922
"version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - Network accessline 3923
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - Network accessline 3930
"node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - Network accessline 3931
"version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - Network accessline 3932
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - Network accessline 3937
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 3938
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 3939
"url": "https://github.com/sponsors/ljharb" - Network accessline 3942
"node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - Network accessline 3943
"version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - Network accessline 3944
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - Network accessline 3954
"node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - Network accessline 3955
"version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - Network accessline 3956
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - Network accessline 3963
"node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - Network accessline 3964
"version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - Network accessline 3965
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - Network accessline 3973
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3974
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3975
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3978
"node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - Network accessline 3979
"version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - Network accessline 3980
"resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - Network accessline 3990
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 3991
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 3992
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 3995
"node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - Network accessline 3996
"version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - Network accessline 3997
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - Network accessline 4007
"node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - Network accessline 4008
"version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - Network accessline 4009
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - Network accessline 4020
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 4021
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 4022
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 4025
"node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - Network accessline 4026
"version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - Network accessline 4027
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - Network accessline 4034
"node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - Network accessline 4035
"version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - Network accessline 4036
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - Network accessline 4043
"node_modules/path-to-regexp": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - Network accessline 4044
"version": "8.4.2", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", - Network accessline 4045
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - Network accessline 4048
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4049
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4050
"url": "https://opencollective.com/express" - Network accessline 4053
"node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - Network accessline 4054
"version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - Network accessline 4055
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - Network accessline 4062
"node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - Network accessline 4063
"version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - Network accessline 4064
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - Network accessline 4068
"node_modules/pkce-challenge": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", - Network accessline 4069
"version": "5.0.1", "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", - Network accessline 4070
"resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", - Network accessline 4077
"node_modules/postcss": { "version": "8.5.25", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", - Network accessline 4078
"version": "8.5.25", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", "integrity": "sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==", - Network accessline 4079
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", - Network accessline 4082
{ "type": "opencollective", "url": "https://opencollective.com/postcss/" - Network accessline 4083
"type": "opencollective", "url": "https://opencollective.com/postcss/" }, - Network accessline 4084
"url": "https://opencollective.com/postcss/" - Network accessline 4086
{ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" - Network accessline 4087
"type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" }, - Network accessline 4088
"url": "https://tidelift.com/funding/github/npm/postcss" - Network accessline 4090
{ "type": "github", "url": "https://github.com/sponsors/ai" - Network accessline 4091
"type": "github", "url": "https://github.com/sponsors/ai" } - Network accessline 4092
"url": "https://github.com/sponsors/ai" - Network accessline 4105
"node_modules/postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - Network accessline 4106
"version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uu - Network accessline 4107
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - Network accessline 4117
"node_modules/postcss-modules-local-by-default": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - Network accessline 4118
"version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6 - Network accessline 4119
"resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - Network accessline 4134
"node_modules/postcss-modules-scope": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - Network accessline 4135
"version": "3.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==" - Network accessline 4136
"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - Network accessline 4149
"node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - Network accessline 4150
"version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ= - Network accessline 4151
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - Network accessline 4164
"node_modules/postcss-selector-parser": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", - Network accessline 4165
"version": "7.1.4", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdO - Network accessline 4166
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", - Network accessline 4177
"node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - Network accessline 4178
"version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - Network accessline 4179
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - Network accessline 4183
"node_modules/prettier": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - Network accessline 4184
"version": "3.8.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", - Network accessline 4185
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - Network accessline 4193
}, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" - Network accessline 4194
"funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } - Network accessline 4195
"url": "https://github.com/prettier/prettier?sponsor=1" - Network accessline 4198
"node_modules/prism-react-renderer": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", - Network accessline 4199
"version": "2.4.1", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", - Network accessline 4200
"resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", - Network accessline 4211
"node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - Network accessline 4212
"version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - Network accessline 4213
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - Network accessline 4224
"node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - Network accessline 4225
"version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - Network accessline 4226
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - Network accessline 4237
"node_modules/qs": { "version": "6.15.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - Network accessline 4238
"version": "6.15.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", - Network accessline 4239
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - Network accessline 4248
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 4249
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 4250
"url": "https://github.com/sponsors/ljharb" - Network accessline 4253
"node_modules/range-parser": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", - Network accessline 4254
"version": "1.3.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", - Network accessline 4255
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", - Network accessline 4261
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4262
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4263
"url": "https://opencollective.com/express" - Network accessline 4266
"node_modules/raw-body": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - Network accessline 4267
"version": "3.0.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - Network accessline 4268
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - Network accessline 4281
"node_modules/react": { "version": "19.2.8", "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - Network accessline 4282
"version": "19.2.8", "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", - Network accessline 4283
"resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - Network accessline 4290
"node_modules/react-dom": { "version": "19.2.8", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", - Network accessline 4291
"version": "19.2.8", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", - Network accessline 4292
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", - Network accessline 4302
"node_modules/react-refresh": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - Network accessline 4303
"version": "0.18.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - Network accessline 4304
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - Network accessline 4311
"node_modules/react-use-measure": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz", - Network accessline 4312
"version": "2.1.7", "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz", "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==", - Network accessline 4313
"resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz", - Network accessline 4327
"node_modules/recast": { "version": "0.23.11", "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", - Network accessline 4328
"version": "0.23.11", "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", - Network accessline 4329
"resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", - Network accessline 4343
"node_modules/recast/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 4344
"version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - Network accessline 4345
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 4352
"node_modules/remotion": { "version": "4.0.503", "resolved": "https://registry.npmjs.org/remotion/-/remotion-4.0.503.tgz", - Network accessline 4353
"version": "4.0.503", "resolved": "https://registry.npmjs.org/remotion/-/remotion-4.0.503.tgz", "integrity": "sha512-j/oYKlTe9gvYLQVsBeVhG6y4aIi9brL4AV4v/101A9e/QW4ESjpbnqdwdKUc0VWcU/bNlqsvbsfUBgnP/XnHdw==", - Network accessline 4354
"resolved": "https://registry.npmjs.org/remotion/-/remotion-4.0.503.tgz", - Network accessline 4362
"node_modules/remotion-animated": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/remotion-animated/-/remotion-animated-2.2.0.tgz", - Network accessline 4363
"version": "2.2.0", "resolved": "https://registry.npmjs.org/remotion-animated/-/remotion-animated-2.2.0.tgz", "integrity": "sha512-AR47ym77+fJ8TkKgzZCOW4fUr247wz62LDvu2tHZWH1FM7Rtu28LXu0BU2tfhKHzixgT+s5JRVTTCGlsz5m1HQ==", - Network accessline 4364
"resolved": "https://registry.npmjs.org/remotion-animated/-/remotion-animated-2.2.0.tgz", - Network accessline 4373
"node_modules/remotion-bits": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/remotion-bits/-/remotion-bits-0.2.0.tgz", - Network accessline 4374
"version": "0.2.0", "resolved": "https://registry.npmjs.org/remotion-bits/-/remotion-bits-0.2.0.tgz", "integrity": "sha512-PZeKuI08Omr8KDSjJulmh+yKBF+2Ps2Q8dhlsxlrCRzkjlcEqNfIffQYopxG8qBJ0nTYAvp52M9W9gJrGZaf1A==", - Network accessline 4375
"resolved": "https://registry.npmjs.org/remotion-bits/-/remotion-bits-0.2.0.tgz", - Network accessline 4396
"node_modules/remotion-bits/node_modules/three": { "version": "0.182.0", "resolved": "https://registry.npmjs.org/three/-/three-0.182.0.tgz", - Network accessline 4397
"version": "0.182.0", "resolved": "https://registry.npmjs.org/three/-/three-0.182.0.tgz", "integrity": "sha512-GbHabT+Irv+ihI1/f5kIIsZ+Ef9Sl5A1Y7imvS5RQjWgtTPfPnZ43JmlYI7NtCRDK9zir20lQpfg8/9Yd02OvQ==", - Network accessline 4398
"resolved": "https://registry.npmjs.org/three/-/three-0.182.0.tgz", - Network accessline 4402
"node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - Network accessline 4403
"version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - Network accessline 4404
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - Network accessline 4411
"node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - Network accessline 4412
"version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - Network accessline 4413
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - Network accessline 4420
"node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - Network accessline 4421
"version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - Network accessline 4422
"resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - Network accessline 4436
"node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - Network accessline 4437
"version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - Network accessline 4438
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - Network accessline 4442
"node_modules/scheduler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - Network accessline 4443
"version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - Network accessline 4444
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - Network accessline 4448
"node_modules/schema-utils": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - Network accessline 4449
"version": "4.3.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - Network accessline 4450
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - Network accessline 4462
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 4463
"type": "opencollective", "url": "https://opencollective.com/webpack" } - Network accessline 4464
"url": "https://opencollective.com/webpack" - Network accessline 4467
"node_modules/schema-utils/node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - Network accessline 4468
"version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - Network accessline 4469
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - Network accessline 4484
"node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - Network accessline 4485
"version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - Network accessline 4486
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - Network accessline 4499
"node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - Network accessline 4500
"version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - Network accessline 4501
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - Network accessline 4511
"node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - Network accessline 4512
"version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - Network accessline 4513
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - Network accessline 4517
"node_modules/send": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - Network accessline 4518
"version": "1.2.1", "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - Network accessline 4519
"resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - Network accessline 4538
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4539
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4540
"url": "https://opencollective.com/express" - Network accessline 4543
"node_modules/serve-static": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - Network accessline 4544
"version": "2.2.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - Network accessline 4545
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - Network accessline 4557
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4558
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4559
"url": "https://opencollective.com/express" - Network accessline 4562
"node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - Network accessline 4563
"version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - Network accessline 4564
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - Network accessline 4568
"node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - Network accessline 4569
"version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - Network accessline 4570
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - Network accessline 4580
"node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - Network accessline 4581
"version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - Network accessline 4582
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - Network accessline 4589
"node_modules/side-channel": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - Network accessline 4590
"version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - Network accessline 4591
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - Network accessline 4603
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 4604
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 4605
"url": "https://github.com/sponsors/ljharb" - Network accessline 4608
"node_modules/side-channel-list": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - Network accessline 4609
"version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - Network accessline 4610
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - Network accessline 4619
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 4620
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 4621
"url": "https://github.com/sponsors/ljharb" - Network accessline 4624
"node_modules/side-channel-map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - Network accessline 4625
"version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - Network accessline 4626
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - Network accessline 4637
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 4638
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 4639
"url": "https://github.com/sponsors/ljharb" - Network accessline 4642
"node_modules/side-channel-weakmap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - Network accessline 4643
"version": "1.0.2", "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - Network accessline 4644
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - Network accessline 4656
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 4657
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 4658
"url": "https://github.com/sponsors/ljharb" - Network accessline 4661
"node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - Network accessline 4662
"version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - Network accessline 4663
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - Network accessline 4667
"node_modules/simplex-noise": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.1.tgz", - Network accessline 4668
"version": "4.0.1", "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.1.tgz", "integrity": "sha512-zl/+bdSqW7HJOQ0oDbxrNYaF4F5ik0i7M6YOYmEoIJNtg16NpvWaTTM1Y7oV/7T0jFljawLgYPS81Uu2rsfo1A==", - Network accessline 4669
"resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.1.tgz", - Network accessline 4673
"node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - Network accessline 4674
"version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - Network accessline 4675
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - Network accessline 4679
"node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - Network accessline 4680
"version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - Network accessline 4681
"resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - Network accessline 4689
"node_modules/source-map": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0.tgz", - Network accessline 4690
"version": "0.8.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0.tgz", "integrity": "sha512-d8EqvL+k/SOXCreS/SUzg2ciyHqBBLcN/yuRjFsbvVhHTE2pgei7oAhmPM7kWFbkX6OSMQfUq4KbkF3au9lhYQ==", - Network accessline 4691
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0.tgz", - Network accessline 4698
"node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - Network accessline 4699
"version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - Network accessline 4700
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - Network accessline 4707
"node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - Network accessline 4708
"version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - Network accessline 4709
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - Network accessline 4717
"node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 4718
"version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - Network accessline 4719
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - Network accessline 4726
"node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - Network accessline 4727
"version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - Network accessline 4728
"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - Network accessline 4732
"node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - Network accessline 4733
"version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - Network accessline 4734
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - Network accessline 4741
"node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - Network accessline 4742
"version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - Network accessline 4743
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - Network accessline 4750
"node_modules/style-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - Network accessline 4751
"version": "4.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", - Network accessline 4752
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - Network accessline 4758
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 4759
"type": "opencollective", "url": "https://opencollective.com/webpack" }, - Network accessline 4760
"url": "https://opencollective.com/webpack" - Network accessline 4766
"node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - Network accessline 4767
"version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - Network accessline 4768
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - Network accessline 4776
}, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" - Network accessline 4777
"funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } - Network accessline 4778
"url": "https://github.com/chalk/supports-color?sponsor=1" - Network accessline 4781
"node_modules/suspend-react": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", - Network accessline 4782
"version": "0.1.3", "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==", - Network accessline 4783
"resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", - Network accessline 4791
"node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - Network accessline 4792
"version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - Network accessline 4793
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - Network accessline 4797
"node_modules/tapable": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - Network accessline 4798
"version": "2.3.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - Network accessline 4799
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - Network accessline 4805
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 4806
"type": "opencollective", "url": "https://opencollective.com/webpack" } - Network accessline 4807
"url": "https://opencollective.com/webpack" - Network accessline 4810
"node_modules/terser": { "version": "5.49.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.49.0.tgz", - Network accessline 4811
"version": "5.49.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.49.0.tgz", "integrity": "sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==", - Network accessline 4812
"resolved": "https://registry.npmjs.org/terser/-/terser-5.49.0.tgz", - Network accessline 4828
"node_modules/terser-webpack-plugin": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", - Network accessline 4829
"version": "5.6.1", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==" - Network accessline 4830
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", - Network accessline 4842
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 4843
"type": "opencollective", "url": "https://opencollective.com/webpack" }, - Network accessline 4844
"url": "https://opencollective.com/webpack" - Network accessline 4888
"node_modules/three": { "version": "0.184.0", "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", - Network accessline 4889
"version": "0.184.0", "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==", - Network accessline 4890
"resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", - Network accessline 4894
"node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - Network accessline 4895
"version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - Network accessline 4896
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - Network accessline 4900
"node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - Network accessline 4901
"version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - Network accessline 4902
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - Network accessline 4909
"node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - Network accessline 4910
"version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - Network accessline 4911
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - Network accessline 4918
"node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - Network accessline 4919
"version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - Network accessline 4920
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - Network accessline 4924
"node_modules/type-is": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", - Network accessline 4925
"version": "2.1.0", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", - Network accessline 4926
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", - Network accessline 4937
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4938
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4939
"url": "https://opencollective.com/express" - Network accessline 4942
"node_modules/type-is/node_modules/content-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - Network accessline 4943
"version": "2.0.0", "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", - Network accessline 4944
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - Network accessline 4950
"funding": { "type": "opencollective", "url": "https://opencollective.com/express" - Network accessline 4951
"type": "opencollective", "url": "https://opencollective.com/express" } - Network accessline 4952
"url": "https://opencollective.com/express" - Network accessline 4955
"node_modules/typescript": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - Network accessline 4956
"version": "6.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", - Network accessline 4957
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - Network accessline 4969
"node_modules/undici-types": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", - Network accessline 4970
"version": "8.3.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", - Network accessline 4971
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", - Network accessline 4975
"node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - Network accessline 4976
"version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - Network accessline 4977
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - Network accessline 4984
"node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - Network accessline 4985
"version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w= - Network accessline 4986
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - Network accessline 4989
{ "type": "opencollective", "url": "https://opencollective.com/browserslist" - Network accessline 4990
"type": "opencollective", "url": "https://opencollective.com/browserslist" }, - Network accessline 4991
"url": "https://opencollective.com/browserslist" - Network accessline 4993
{ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" - Network accessline 4994
"type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" }, - Network accessline 4995
"url": "https://tidelift.com/funding/github/npm/browserslist" - Network accessline 4997
{ "type": "github", "url": "https://github.com/sponsors/ai" - Network accessline 4998
"type": "github", "url": "https://github.com/sponsors/ai" } - Network accessline 4999
"url": "https://github.com/sponsors/ai" - Network accessline 5014
"node_modules/use-sync-external-store": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - Network accessline 5015
"version": "1.6.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9 - Network accessline 5016
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - Network accessline 5024
"node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - Network accessline 5025
"version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - Network accessline 5026
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - Network accessline 5030
"node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - Network accessline 5031
"version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - Network accessline 5032
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - Network accessline 5039
"node_modules/watchpack": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", - Network accessline 5040
"version": "2.5.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", - Network accessline 5041
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", - Network accessline 5051
"node_modules/webpack": { "version": "5.105.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", - Network accessline 5052
"version": "5.105.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", "integrity": "sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw==", - Network accessline 5053
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", - Network accessline 5089
"funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" - Network accessline 5090
"type": "opencollective", "url": "https://opencollective.com/webpack" }, - Network accessline 5091
"url": "https://opencollective.com/webpack" - Network accessline 5099
"node_modules/webpack-sources": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.1.tgz", - Network accessline 5100
"version": "3.5.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.1.tgz", "integrity": "sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==", - Network accessline 5101
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.1.tgz", - Network accessline 5108
"node_modules/webpack/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - Network accessline 5109
"version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - Network accessline 5110
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - Network accessline 5117
"node_modules/webpack/node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - Network accessline 5118
"version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - Network accessline 5119
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - Network accessline 5129
"node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - Network accessline 5130
"version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - Network accessline 5131
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - Network accessline 5144
"node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - Network accessline 5145
"version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - Network accessline 5146
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - Network accessline 5150
"node_modules/ws": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - Network accessline 5151
"version": "8.21.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", - Network accessline 5152
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - Network accessline 5171
"node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - Network accessline 5172
"version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - Network accessline 5173
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - Network accessline 5177
"node_modules/zod": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", - Network accessline 5178
"version": "4.4.3", "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", - Network accessline 5179
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", - Network accessline 5181
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 5182
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 5183
"url": "https://github.com/sponsors/colinhacks" - Network accessline 5186
"node_modules/zod-to-json-schema": { "version": "3.25.2", "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", - Network accessline 5187
"version": "3.25.2", "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", - Network accessline 5188
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", - Network accessline 5195
"node_modules/zustand": { "version": "5.0.14", "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz", - Network accessline 5196
"version": "5.0.14", "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz", "integrity": "sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==", - Network accessline 5197
"resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz",
skills/builtin/video-production/vendor/video-pipeline-sdk/deps/remotion/package.json
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/aggregate.py
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_audio.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_dup.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_frames.py
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_layout.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_match.py
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_meta.py
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_timeline.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/check_transitions.py
skills/builtin/video-production/vendor/video-pipeline-sdk/gates/selftest.ps1
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/pipeline/ask.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 117
port += 1 continue with socket.socket() as s: - Network accessline 118
continue with socket.socket() as s: try: - Network accessline 119
with socket.socket() as s: - Network accessline 127
return 1 srv = ThreadingHTTPServer(("127.0.0.1", port), partial(Handler, run_dir=rd, cards=cards)) print(f"卡面已起:http://127.0.0.1:{port}/ (作答落 {rd / 'answers'})") - Network accessline 128
srv = ThreadingHTTPServer(("127.0.0.1", port), partial(Handler, run_dir=rd, cards=cards)) print(f"卡面已起:http://127.0.0.1:{port}/ (作答落 {rd / 'answers'})") print("提交后回终端/聊天执行 run.py resume 继续。Ctrl+C 停。") - Network accessline 129
print(f"卡面已起:http://127.0.0.1:{port}/ (作答落 {rd / 'answers'})")
skills/builtin/video-production/vendor/video-pipeline-sdk/pipeline/doctor.py
skills/builtin/video-production/vendor/video-pipeline-sdk/pipeline/run.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 146
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted] - Access to secretsline 246
[Credential-related source omitted] - Access to secretsline 263
[Credential-related source omitted]
skills/builtin/video-production/vendor/video-pipeline-sdk/references/quality-mechanisms.md
skills/builtin/video-production/vendor/video-pipeline-sdk/references/remotion-pipeline-SNAPSHOT.md
- Network accessline 65
### Step 2 转录 - **需要**:proxy.mp4 - **做**:faster-whisper large-v3 CUDA(float16, `local_files_only=True`,首次 `HF_ENDPOINT=https://hf-mirror.com`)→ word_timestamps。写 .py 后台跑,**启动后 30s 查输出文件**(stdout 缓冲不可靠),不干等 - Network accessline 66
- **需要**:proxy.mp4 - **做**:faster-whisper large-v3 CUDA(float16, `local_files_only=True`,首次 `HF_ENDPOINT=https://hf-mirror.com`)→ word_timestamps。写 .py 后台跑,**启动后 30s 查输出文件**(stdout 缓冲不可靠),不干等 - **得到**:transcript.json(segments: start/end/tex - Network accessline 67
- **做**:faster-whisper large-v3 CUDA(float16, `local_files_only=True`,首次 `HF_ENDPOINT=https://hf-mirror.com`)→ word_timestamps。写 .py 后台跑,**启动后 30s 查输出文件**(stdout 缓冲不可靠),不干等 - Network accessline 72
- **需要**:对 transcript 的内容理解——哪些句需要具象素材支撑 - **做**: 1. 素材类型判断:AI 视频模型演示→YouTube 官方频道(yt-dlp 直下:Sora tokyo in the snow / mitten astronaut、Veo 3 off-road rally official demo、UE5 Lumen/Nanite reveal、独立游戏官方预告);AI 失败图/逼真照→Wikimedia Commons(本机被墙时 - Network accessline 73
- **做**: 1. 素材类型判断:AI 视频模型演示→YouTube 官方频道(yt-dlp 直下:Sora tokyo in the snow / mitten astronaut、Veo 3 off-road rally official demo、UE5 Lumen/Nanite reveal、独立游戏官方预告);AI 失败图/逼真照→Wikimedia Commons(本机被墙时走 **wsrv.nl CDN 代理**:`https://wsrv.nl/?ur - Network accessline 74
1. 素材类型判断:AI 视频模型演示→YouTube 官方频道(yt-dlp 直下:Sora tokyo in the snow / mitten astronaut、Veo 3 off-road rally official demo、UE5 Lumen/Nanite reveal、独立游戏官方预告);AI 失败图/逼真照→Wikimedia Commons(本机被墙时走 **wsrv.nl CDN 代理**:`https://wsrv.nl/?url=commons_u - Network accessline 122
### Step 8 Studio 预览(用户点头门) - **需要**:Step 7 全过 - **做**:`npx remotion studio --gl=angle --port=3002`(**禁 3000** Hermes 自毁;裸命令后台跑,禁 pipe=SIGPIPE 杀进程)→ poll 日志等 `Server ready`+`Built in` → `open_preview(http://localhost:3002)` - Network accessline 123
- **需要**:Step 7 全过 - **做**:`npx remotion studio --gl=angle --port=3002`(**禁 3000** Hermes 自毁;裸命令后台跑,禁 pipe=SIGPIPE 杀进程)→ poll 日志等 `Server ready`+`Built in` → `open_preview(http://localhost:3002)` - **预览必查动态**:截相邻 2 秒两帧 diff——背景层/卡片材质/粒子全同=静 - Network accessline 124
- **做**:`npx remotion studio --gl=angle --port=3002`(**禁 3000** Hermes 自毁;裸命令后台跑,禁 pipe=SIGPIPE 杀进程)→ poll 日志等 `Server ready`+`Built in` → `open_preview(http://localhost:3002)`
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/build_scenes_data.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/check_sync.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/clean_remotion_temp.ps1
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_mixkit.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Network accessline 8
for slug in slugs: url = f"https://mixkit.co/free-stock-video/{slug}/" - Network accessline 9
url = f"https://mixkit.co/free-stock-video/{slug}/" try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) - Network accessline 10
try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) html = out.stdout - Network accessline 11
out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) - Network accessline 14
print(f"== {slug}: FAIL {e}") continue urls = sorted(set(re.findall(r"https://assets\.mixkit\.co/[^\"'\s]+?\.mp4", html))) - Network accessline 15
continue urls = sorted(set(re.findall(r"https://assets\.mixkit\.co/[^\"'\s]+?\.mp4", html))) print(f"== {slug}: {len(html)} bytes, {len(urls)} mp4 urls") - Network accessline 16
urls = sorted(set(re.findall(r"https://assets\.mixkit\.co/[^\"'\s]+?\.mp4", html)))
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_mixkit2.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Network accessline 8
for slug in slugs: url = f"https://mixkit.co/free-stock-video/{slug}/" - Network accessline 9
url = f"https://mixkit.co/free-stock-video/{slug}/" try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) - Network accessline 10
try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) html = out.stdout - Network accessline 11
out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_mixkit3.py
- Executable scriptline 1
Executable file - Network accessline 6
for slug in slugs: url = f"https://mixkit.co/free-stock-video/{slug}/" - Network accessline 7
url = f"https://mixkit.co/free-stock-video/{slug}/" try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) - Network accessline 8
try: out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90) html = out.stdout - Network accessline 9
out = subprocess.run(["curl", "-sL", "-A", UA, url], capture_output=True, text=True, timeout=90)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_sfx.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Network accessline 20
log = [] for sid, name, title, cat in picks: url = f"https://assets.mixkit.co/active_storage/sfx/{sid}/{sid}-preview.mp3" - Network accessline 21
for sid, name, title, cat in picks: url = f"https://assets.mixkit.co/active_storage/sfx/{sid}/{sid}-preview.mp3" out = d + name - Network accessline 22
url = f"https://assets.mixkit.co/active_storage/sfx/{sid}/{sid}-preview.mp3" - Network accessline 23
out = d + name try: subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=120) - Network accessline 24
try: subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=120) except Exception as e: - Network accessline 25
subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=120)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_stock.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Network accessline 17
done = False for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 18
for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" out = f"{D}/{name}.mp4" - Network accessline 19
url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 20
out = f"{D}/{name}.mp4" try: subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=240) - Network accessline 21
try: subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=240) except Exception as e: - Network accessline 22
subprocess.run(["curl", "-sL", "-A", UA, "-o", out, url], capture_output=True, timeout=240)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_stock2.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Network accessline 16
got = False for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 17
for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" raw = d + name + "_raw.mp4" - Network accessline 18
url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 19
raw = d + name + "_raw.mp4" try: subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300) - Network accessline 20
try: subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300) except Exception as e: - Network accessline 21
subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_stock3.py
- Executable scriptline 1
Executable file - Access to secretsline 5
[Credential-related source omitted] - Access to secretsline 6
[Credential-related source omitted] - Network accessline 15
for name, vid, slug, cat in items: for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 16
for res in ["1080", "720", "360"]: url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" raw = d + name + "_raw.mp4" - Network accessline 17
url = f"https://assets.mixkit.co/videos/{vid}/{vid}-{res}.mp4" - Network accessline 18
raw = d + name + "_raw.mp4" try: subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300) - Network accessline 19
try: subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300) except Exception as e: - Network accessline 20
subprocess.run(["curl", "-sL", "-A", UA, "-o", raw, url], capture_output=True, timeout=300) - Access to secretsline 57
[Credential-related source omitted]
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fetch_whisper_model.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 3
"""下载 faster-whisper large-v3 到本地(hf-mirror 直拉,不依赖 huggingface_hub 库) 用法:python tools/fetch_whisper_model.py [--dest <目标目录>] 说明:hub 库走不通(墙),curl 直拉镜像可行;文件清单里**没有** vocabulary.txt(是 vocabulary.json)。 - Network accessline 4
用法:python tools/fetch_whisper_model.py [--dest <目标目录>] 说明:hub 库走不通(墙),curl 直拉镜像可行;文件清单里**没有** vocabulary.txt(是 vocabulary.json)。 完成后:WhisperModel('<dest>', device='cuda', compute_type='float16') 直读。 - Network accessline 5
说明:hub 库走不通(墙),curl 直拉镜像可行;文件清单里**没有** vocabulary.txt(是 vocabulary.json)。 - Network accessline 10
UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" BASE = "https://hf-mirror.com/Systran/faster-whisper-large-v3/resolve/main" - Network accessline 11
BASE = "https://hf-mirror.com/Systran/faster-whisper-large-v3/resolve/main" - Network accessline 24
continue print(f"downloading {f} ...", flush=True) r = subprocess.run(["curl", "-L", "-A", UA, "--retry", "3", "-o", out, f"{BASE}/{f}"]) - Network accessline 25
print(f"downloading {f} ...", flush=True) r = subprocess.run(["curl", "-L", "-A", UA, "--retry", "3", "-o", out, f"{BASE}/{f}"]) size = os.path.getsize(out) if os.path.exists(out) else 0 - Network accessline 26
r = subprocess.run(["curl", "-L", "-A", UA, "--retry", "3", "-o", out, f"{BASE}/{f}"]) - Network accessline 27
size = os.path.getsize(out) if os.path.exists(out) else 0 print(f" -> {size} bytes (curl exit {r.returncode})") if size < 1000: - Network accessline 28
print(f" -> {size} bytes (curl exit {r.returncode})")
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/fx5_frames.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/grade_demo.py
- Executable scriptline 1
Executable file - Access to secretsline 4
[Credential-related source omitted] - Access to secretsline 5
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted]
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/make_masks.py
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/make_review_pack.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/parse_mixkit.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/parse_mixkit_sfx.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/render_slideshow.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/rvm_matte.py
- Executable scriptline 1
Executable file
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/see.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Network accessline 111
payload = {"model": c["model"], "messages": [{"role": "user", "content": content}], "max_tokens": a.max_tokens} req = urllib.request.Request(c["base"] + "/chat/completions", data=json.dumps(payload).encode(), - Network accessline 112
[Credential-related source omitted] - Network accessline 113
req = urllib.request.Request(c["base"] + "/chat/completions", data=json.dumps(payload).encode(), - Network accessline 115
"Content-Type": "application/json"}) try: with urllib.request.urlopen(req, timeout=a.timeout or c["timeout"]) as r: - Network accessline 116
try: with urllib.request.urlopen(req, timeout=a.timeout or c["timeout"]) as r: d = json.load(r) - Network accessline 117
with urllib.request.urlopen(req, timeout=a.timeout or c["timeout"]) as r: - Possible obfuscationline 145
raw = base64.b64decode(_TINY_PNG_B64)
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/srt_to_transcript.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/transcode_material.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/transcode_stock.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/transcribe.py
skills/builtin/video-production/vendor/video-pipeline-sdk/tools/transcribe_api.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 8
鉴权/配置全从环境变量读(key 绝不写进代码/命令/仓库): SILICONFLOW_API_KEY 必需,Bearer token SILICONFLOW_BASE_URL 可选,默认 https://api.siliconflow.cn/v1 - Network accessline 9
[Credential-related source omitted] - Access to secretsline 9
[Credential-related source omitted] - Network accessline 10
SILICONFLOW_BASE_URL 可选,默认 https://api.siliconflow.cn/v1 - Access to secretsline 14
[Credential-related source omitted] - Network accessline 31
DEFAULT_BASE = "https://api.siliconflow.cn/v1" - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 114
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted]
skills/builtin/voice-clone/SKILL.md
- Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Network accessline 56
# dashscope:用公网可访问的样本 URL python skills/shared/scripts/voice_clone.py enroll --provider dashscope \ --sample-url https://.../me.wav --name myv - Network accessline 57
python skills/shared/scripts/voice_clone.py enroll --provider dashscope --sample-url https://.../me.wav --name myv - Network accessline 58
--sample-url https://.../me.wav --name myv
skills/builtin/xhs-note-creator/references/image-sourcing.md
- Network accessline 17
- 用英文关键词效果更好(`"Hermes agent terminal install"` 而非 `"安装终端"`) - 加限定词提高精准度:`photo`、`screenshot`、`diagram`、`illustration`、`site:unsplash.com` - GitHub OG 图固定格式:`https://opengraph.githubassets.com/1/{owner}/{repo}` - Network accessline 18
- 加限定词提高精准度:`photo`、`screenshot`、`diagram`、`illustration`、`site:unsplash.com` - GitHub OG 图固定格式:`https://opengraph.githubassets.com/1/{owner}/{repo}` - Unsplash 用 `images.unsplash.com` 直链或官方 API(旧的 `source.unsplash.com` 随机直链已于 2024 年废弃,勿再用) - Network accessline 19
- GitHub OG 图固定格式:`https://opengraph.githubassets.com/1/{owner}/{repo}` - Network accessline 25
mkdir -p output/.../images curl -L -o "output/.../images/img_001.jpg" "https://图片URL" 2>/dev/null - Network accessline 26
curl -L -o "output/.../images/img_001.jpg" "https://图片URL" 2>/dev/null
skills/builtin/xhs-note-creator/references/reference-search.md
- Network accessline 25
2. **WebFetch** — 抓取具体页面正文 3. **搜索引擎 HTML 端点回退**(WebSearch 不可用时): - DuckDuckGo:`https://html.duckduckgo.com/html/?q=<URL 编码>` - Network accessline 26
3. **搜索引擎 HTML 端点回退**(WebSearch 不可用时): - DuckDuckGo:`https://html.duckduckgo.com/html/?q=<URL 编码>` - Bing:`https://www.bing.com/search?q=<URL 编码>` - Network accessline 27
- DuckDuckGo:`https://html.duckduckgo.com/html/?q=<URL 编码>` - Bing:`https://www.bing.com/search?q=<URL 编码>` 4. **Bash + curl** — 特定 RSS / JSON API - Network accessline 28
- Bing:`https://www.bing.com/search?q=<URL 编码>` - Network accessline 60
"query": "Anthropic economic index", "title": "...", "url": "https://...", - Network accessline 61
"title": "...", "url": "https://...", "source": "anthropic.com", - Network accessline 62
"url": "https://...",
skills/builtin/xhs-note-creator/scripts/analyze_material.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/xhs-note-creator/scripts/collage_3x4.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/xhs-note-creator/scripts/crop_watermark.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/xhs-note-creator/scripts/normalize_slug.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/xhs-note-creator/scripts/text_on_image.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/builtin/xhs-note-creator/scripts/validate_meta.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/hotlist-apis.md
- Network accessline 9
Base URL: `https://60s.viki.moe` - Network accessline 9
Base URL: `https://60s.viki.moe` - Network accessline 9
Base URL: `https://60s.viki.moe` - Network accessline 33
"message": "success", "data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 33
"message": "success", "data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 33
"message": "success", "data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 34
"data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, ... - Network accessline 34
"data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, ... - Network accessline 34
"data": [ { "title": "热搜标题", "hot": 1148823, "url": "https://..." }, ... - Network accessline 35
{ "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 35
{ "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 35
{ "title": "热搜标题", "hot": 1148823, "url": "https://..." }, - Network accessline 56
web_fetch https://60s.viki.moe/v2/weibo - Network accessline 56
web_fetch https://60s.viki.moe/v2/weibo - Network accessline 56
web_fetch https://60s.viki.moe/v2/weibo - Network accessline 57
web_fetch https://60s.viki.moe/v2/douyin - Network accessline 57
web_fetch https://60s.viki.moe/v2/douyin - Network accessline 57
web_fetch https://60s.viki.moe/v2/douyin - Network accessline 58
web_fetch https://60s.viki.moe/v2/rednote - Network accessline 58
web_fetch https://60s.viki.moe/v2/rednote - Network accessline 58
web_fetch https://60s.viki.moe/v2/rednote - Network accessline 75
Base URL: `https://v2.xxapi.cn` - Network accessline 75
Base URL: `https://v2.xxapi.cn` - Network accessline 75
Base URL: `https://v2.xxapi.cn` - Network accessline 86
用法:`web_fetch https://v2.xxapi.cn/api/bilibilihot` - Network accessline 86
用法:`web_fetch https://v2.xxapi.cn/api/bilibilihot` - Network accessline 86
用法:`web_fetch https://v2.xxapi.cn/api/bilibilihot` - Network accessline 90
- `https://api.03c3.cn/api/zb` — 综合热榜(不稳定) - Network accessline 90
- `https://api.03c3.cn/api/zb` — 综合热榜(不稳定) - Network accessline 90
- `https://api.03c3.cn/api/zb` — 综合热榜(不稳定)
skills/shared/scripts/account_stats.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 33
"xiaohongshu": { "name": "小红书", "profile": "XiaohongshuProfile", "url": "https://creator.xiaohongshu.com/new/home", "default_proxy": False, - Network accessline 34
"name": "小红书", "profile": "XiaohongshuProfile", "url": "https://creator.xiaohongshu.com/new/home", "default_proxy": False, "overview_dir": "before", - Network accessline 35
"url": "https://creator.xiaohongshu.com/new/home", "default_proxy": False, - Network accessline 41
"douyin": { "name": "抖音", "profile": "DouyinProfile", "url": "https://creator.douyin.com/creator-micro/home", "default_proxy": True, - Network accessline 42
"name": "抖音", "profile": "DouyinProfile", "url": "https://creator.douyin.com/creator-micro/home", "default_proxy": True, "overview_dir": "after", - Network accessline 43
"url": "https://creator.douyin.com/creator-micro/home", "default_proxy": True, - Network accessline 56
"kuaishou": { "name": "快手", "profile": "KuaishouProfile", "url": "https://cp.kuaishou.com/profile", "default_proxy": True, - Network accessline 57
"name": "快手", "profile": "KuaishouProfile", "url": "https://cp.kuaishou.com/profile", "default_proxy": True, "overview_dir": "after", - Network accessline 58
"url": "https://cp.kuaishou.com/profile", "default_proxy": True, - Network accessline 64
"zhihu": { "name": "知乎", "profile": "ZhihuProfile", "url": "https://www.zhihu.com/creator/analytics", "default_proxy": True, - Network accessline 65
"name": "知乎", "profile": "ZhihuProfile", "url": "https://www.zhihu.com/creator/analytics", "default_proxy": True, "pre_click": ["累计"], # 数据总览默认「最近7天」,先点「累计」拿总量 - Network accessline 66
"url": "https://www.zhihu.com/creator/analytics", "default_proxy": True, - Network accessline 72
"followers_url": "https://www.zhihu.com/creator/followers", - Network accessline 76
"weixin-channels": { "name": "视频号", "profile": "ChannelsProfile", "url": "https://channels.weixin.qq.com/platform", "default_proxy": True, - Network accessline 78
"url": "https://channels.weixin.qq.com/platform", "default_proxy": True, - Access to secretsline 354
[Credential-related source omitted] - Network accessline 458
user_id = account["userId"] destination = f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 459
destination = f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 520
try: response = context.request.get( "https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info", - Network accessline 521
response = context.request.get( "https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info", headers={"Referer": CREATOR_HOME_URL}, timeout=4000) - Network accessline 522
"https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info", - Access to secretsline 691
[Credential-related source omitted] - Network accessline 885
out.push({ title, url: 'https://creator.douyin.com/creator-micro/content/manage', - Network accessline 886
title, url: 'https://creator.douyin.com/creator-micro/content/manage', cover, - Network accessline 887
url: 'https://creator.douyin.com/creator-micro/content/manage', - Network accessline 932
page.on("response", _on_resp) listener = _on_resp page.goto("https://creator.xiaohongshu.com/new/note-manager", - Network accessline 933
listener = _on_resp page.goto("https://creator.xiaohongshu.com/new/note-manager", wait_until="commit", timeout=8000) - Network accessline 934
page.goto("https://creator.xiaohongshu.com/new/note-manager", - Network accessline 965
[Credential-related source omitted] - Network accessline 966
if nid and tok else f"https://www.xiaohongshu.com/explore/{nid}" if nid else "https://creator.xiaohongshu.com/new/note-manager") - Network accessline 967
f"https://www.xiaohongshu.com/explore/{nid}" if nid - Network accessline 968
else "https://creator.xiaohongshu.com/new/note-manager") - Network accessline 984
if platform == "zhihu": try: page.goto("https://www.zhihu.com/creator/manage/creation/all", - Network accessline 985
try: page.goto("https://www.zhihu.com/creator/manage/creation/all", wait_until="commit", timeout=10000) - Network accessline 986
page.goto("https://www.zhihu.com/creator/manage/creation/all", - Network accessline 999
if platform == "douyin": try: page.goto("https://creator.douyin.com/creator-micro/content/manage", - Network accessline 1000
try: page.goto("https://creator.douyin.com/creator-micro/content/manage", wait_until="commit", timeout=10000) - Network accessline 1001
page.goto("https://creator.douyin.com/creator-micro/content/manage", - Network accessline 1015
if platform == "kuaishou": try: page.goto("https://cp.kuaishou.com/article/manage/video", - Network accessline 1016
try: page.goto("https://cp.kuaishou.com/article/manage/video", wait_until="commit", timeout=10000) - Network accessline 1017
page.goto("https://cp.kuaishou.com/article/manage/video", - Network accessline 1026
return [{"title": n.get("title") or "(无标题)", "url": "https://cp.kuaishou.com/article/manage/video", - Network accessline 1027
"url": "https://cp.kuaishou.com/article/manage/video", - Network accessline 1190
assert c.get(f), f"{k} 缺 {f}" assert set(c["overview"]) >= {"followers", "likes"} assert _proxy("xiaohongshu", None, None) is None and _proxy("douyin", "http://x:1", False) == "http://x:1" - Network accessline 1192
assert _proxy("xiaohongshu", None, None) is None and _proxy("douyin", "http://x:1", False) == "http://x:1" - Network accessline 1200
assert is_public_xhs_note({"title": "(无标题)"}) is False assert is_public_xhs_note({"title": "还没写完", "text": "草稿 编辑"}) is False assert is_public_xhs_note({"title": "有标题草稿", "href": "https://creator.xiaohongshu.com/publish/publish?id=1 - Network accessline 1201
assert is_public_xhs_note({"title": "还没写完", "text": "草稿 编辑"}) is False assert is_public_xhs_note({"title": "有标题草稿", "href": "https://creator.xiaohongshu.com/publish/publish?id=1"}) is False print("✅ selftest 通过(解析 + 概览分方向取数(修获赞bug) - Network accessline 1202
assert is_public_xhs_note({"title": "有标题草稿", "href": "https://creator.xiaohongshu.com/publish/publish?id=1"}) is False
skills/shared/scripts/ai_music.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 17
[Credential-related source omitted] - Network accessline 21
【suno-compatible】 MUSIC_API_KEY API key MUSIC_BASE_URL API 根地址(如 https://api.example.com/v1) - Network accessline 22
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Network accessline 23
MUSIC_BASE_URL API 根地址(如 https://api.example.com/v1) - Network accessline 44
import argparse import http.client - Network accessline 45
import http.client - Network accessline 65
DEFAULT_DASHSCOPE_BASE = "https://dashscope.aliyuncs.com/api/v1" - Access to secretsline 90
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 118
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 139
[Credential-related source omitted] - Network accessline 155
base_headers = {"Content-Type": "application/json", "User-Agent": UA} base_headers.update(headers) request = urllib.request.Request(url, data=body, headers=base_headers, method="POST") - Network accessline 156
base_headers.update(headers) request = urllib.request.Request(url, data=body, headers=base_headers, method="POST") try: - Network accessline 157
request = urllib.request.Request(url, data=body, headers=base_headers, method="POST") - Network accessline 158
try: with urllib.request.urlopen(request, timeout=timeout) as response: raw = response.read().decode("utf-8") - Network accessline 159
with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 164
except urllib.error.URLError as exc: fail(f"无法连接接口:{exc.reason}") except (http.client.RemoteDisconnected, TimeoutError): - Network accessline 165
fail(f"无法连接接口:{exc.reason}") except (http.client.RemoteDisconnected, TimeoutError): fail("接口连接失败或超时,请稍后重试。") - Network accessline 166
except (http.client.RemoteDisconnected, TimeoutError): - Network accessline 178
base_headers = {"User-Agent": UA} base_headers.update(headers) request = urllib.request.Request(url, headers=base_headers, method="GET") - Network accessline 179
base_headers.update(headers) request = urllib.request.Request(url, headers=base_headers, method="GET") try: - Network accessline 180
request = urllib.request.Request(url, headers=base_headers, method="GET") - Network accessline 181
try: with urllib.request.urlopen(request, timeout=timeout) as response: raw = response.read().decode("utf-8") - Network accessline 182
with urllib.request.urlopen(request, timeout=timeout) as response: - Network accessline 185
detail = exc.read().decode("utf-8", errors="replace") fail(f"查询接口返回 HTTP {exc.code}:{detail}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): - Network accessline 186
fail(f"查询接口返回 HTTP {exc.code}:{detail}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): fail("查询接口连接失败或超时。") - Network accessline 187
except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError): - Network accessline 203
output = output.with_suffix(suffix) print(f" 下载音频:{url}", file=sys.stderr) req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 204
print(f" 下载音频:{url}", file=sys.stderr) req = urllib.request.Request(url, headers={"User-Agent": UA}) try: - Network accessline 205
req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 206
try: with urllib.request.urlopen(req, timeout=timeout) as resp: output.write_bytes(resp.read()) - Network accessline 207
with urllib.request.urlopen(req, timeout=timeout) as resp: - Access to secretsline 255
[Credential-related source omitted] - Access to secretsline 256
[Credential-related source omitted] - Access to secretsline 272
[Credential-related source omitted] - Access to secretsline 290
[Credential-related source omitted] - Access to secretsline 324
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 340
[Credential-related source omitted]
skills/shared/scripts/asr.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted]
skills/shared/scripts/audio_mix.py
skills/shared/scripts/audio_ops.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 50
_RNNOISE_MODEL_URL = ( "https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 50
_RNNOISE_MODEL_URL = ( "https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 50
_RNNOISE_MODEL_URL = ( "https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 50
_RNNOISE_MODEL_URL = ( "https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 51
"https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 51
"https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 51
"https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 51
"https://github.com/GregorR/rnnoise-models/raw/master/" - Network accessline 310
"WARN: 未找到 RNNoise 模型(sh.rnnn),Tier3 降级为 Tier2。" "下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 310
"WARN: 未找到 RNNoise 模型(sh.rnnn),Tier3 降级为 Tier2。" "下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 310
"WARN: 未找到 RNNoise 模型(sh.rnnn),Tier3 降级为 Tier2。" "下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 310
"WARN: 未找到 RNNoise 模型(sh.rnnn),Tier3 降级为 Tier2。" "下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 311
"下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " f"{_RNNOISE_MODEL_URL} -o " - Network accessline 311
"下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " f"{_RNNOISE_MODEL_URL} -o " - Network accessline 311
"下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " f"{_RNNOISE_MODEL_URL} -o " - Network accessline 311
"下载模型可启用:\n mkdir -p " f"{Path(__file__).resolve().parent / 'models'}\n curl -L " f"{_RNNOISE_MODEL_URL} -o " - Network accessline 312
f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 312
f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 312
f"{Path(__file__).resolve().parent / 'models'}\n curl -L " - Network accessline 312
f"{Path(__file__).resolve().parent / 'models'}\n curl -L "
skills/shared/scripts/audio_viz.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/batch_process.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/calendar_ops.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 154
[Credential-related source omitted] - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 194
[Credential-related source omitted] - Access to secretsline 481
[Credential-related source omitted] - Access to secretsline 483
[Credential-related source omitted]
skills/shared/scripts/chromakey.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/doc_convert.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/douyin_publish.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 37
HOME_URL = "https://creator.douyin.com/" - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Network accessline 1151
try: page.set_default_timeout(30000) page.goto("https://creator.douyin.com/creator-micro/content/manage", - Network accessline 1152
page.set_default_timeout(30000) page.goto("https://creator.douyin.com/creator-micro/content/manage", wait_until="domcontentloaded") - Network accessline 1153
page.goto("https://creator.douyin.com/creator-micro/content/manage", - Network accessline 1415
assert _profile_dir(None).name == PROFILE_NAME assert _proxy(None, True) is None assert _proxy("http://x:1", False) == "http://x:1" - Network accessline 1416
assert _proxy(None, True) is None assert _proxy("http://x:1", False) == "http://x:1" lv = _plan_lines("video", "标题", "简介", ["/a.mp4"], ["热点"]) - Network accessline 1417
assert _proxy("http://x:1", False) == "http://x:1"
skills/shared/scripts/highlight_cut.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/image_ops.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/img_enhance.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/intro_outro.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/manifest.py
skills/shared/scripts/meme_ops.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/shared/scripts/mindmap.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 39
</script> </div> <script src="https://cdn.jsdelivr.net/npm/markmap-autoloader@0.18"></script> - Network accessline 40
</div> <script src="https://cdn.jsdelivr.net/npm/markmap-autoloader@0.18"></script> </body></html> - Network accessline 41
<script src="https://cdn.jsdelivr.net/npm/markmap-autoloader@0.18"></script>
skills/shared/scripts/model_registry.py
- Executable scriptline 1
Executable file - Access to secretsline 32
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 62
[Credential-related source omitted] - Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 85
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 112
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 121
[Credential-related source omitted] - Access to secretsline 139
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 155
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 173
[Credential-related source omitted] - Access to secretsline 217
[Credential-related source omitted] - Access to secretsline 232
[Credential-related source omitted]
skills/shared/scripts/multivoice.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Access to secretsline 81
[Credential-related source omitted] - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 499
[Credential-related source omitted] - Access to secretsline 833
[Credential-related source omitted] - Access to secretsline 834
[Credential-related source omitted] - Access to secretsline 849
[Credential-related source omitted] - Access to secretsline 851
[Credential-related source omitted] - Access to secretsline 1024
[Credential-related source omitted] - Access to secretsline 1029
[Credential-related source omitted]
skills/shared/scripts/persona_gate.py
skills/shared/scripts/reframe.py
skills/shared/scripts/remove_bg.py
skills/shared/scripts/render_card.py
skills/shared/scripts/social_stats.py
skills/shared/scripts/subtitle_ops.py
skills/shared/scripts/tts.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 9
- edge-tts(`pip install edge-tts`,命令 `edge-tts`,微软在线 TTS,需外网) - 网络代理:edge-tts 走微软服务器,内网环境需设置 export https_proxy=http://host:port http_proxy=http://host:port - Network accessline 10
- 网络代理:edge-tts 走微软服务器,内网环境需设置 export https_proxy=http://host:port http_proxy=http://host:port 脚本会自动读环境变量代理并透传给 edge-tts(也可用 --proxy 覆盖)。 - Network accessline 11
export https_proxy=http://host:port http_proxy=http://host:port - Access to secretsline 80
[Credential-related source omitted] - Network accessline 173
hint = ( "\n提示:edge-tts 需访问微软在线服务,请确认已设置外网代理:\n" " export https_proxy=http://host:port http_proxy=http://host:port" - Network accessline 174
"\n提示:edge-tts 需访问微软在线服务,请确认已设置外网代理:\n" " export https_proxy=http://host:port http_proxy=http://host:port" ) - Network accessline 175
" export https_proxy=http://host:port http_proxy=http://host:port" - Access to secretsline 207
[Credential-related source omitted] - Access to secretsline 216
[Credential-related source omitted] - Access to secretsline 220
[Credential-related source omitted] - Access to secretsline 328
[Credential-related source omitted] - Access to secretsline 459
[Credential-related source omitted]
skills/shared/scripts/video_ops.py
skills/shared/scripts/voice_clone.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Network accessline 27
── SiliconFlow 硅基流动(云端 CosyVoice2,无需 GPU,中文情感、便宜/新用户有赠额)── VOICE_PROVIDER=openai-compatible VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Network accessline 27
── SiliconFlow 硅基流动(云端 CosyVoice2,无需 GPU,中文情感、便宜/新用户有赠额)── VOICE_PROVIDER=openai-compatible VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Network accessline 28
[Credential-related source omitted] - Network accessline 28
[Credential-related source omitted] - Network accessline 29
VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Network accessline 29
VOICE_BASE_URL=https://api.siliconflow.cn/v1 - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Network accessline 52
import argparse import http.client - Network accessline 52
import argparse import http.client - Network accessline 53
import http.client - Network accessline 53
import http.client - Access to secretsline 86
[Credential-related source omitted] - Access to secretsline 86
[Credential-related source omitted] - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Network accessline 195
h["Content-Type"] = "application/json" h.update(headers) req = urllib.request.Request(url, data=data, headers=h, method=method) - Network accessline 195
h["Content-Type"] = "application/json" h.update(headers) req = urllib.request.Request(url, data=data, headers=h, method=method) - Network accessline 196
h.update(headers) req = urllib.request.Request(url, data=data, headers=h, method=method) try: - Network accessline 196
h.update(headers) req = urllib.request.Request(url, data=data, headers=h, method=method) try: - Network accessline 197
req = urllib.request.Request(url, data=data, headers=h, method=method) - Network accessline 197
req = urllib.request.Request(url, data=data, headers=h, method=method) - Network accessline 198
try: with urllib.request.urlopen(req, timeout=timeout) as resp: raw = resp.read().decode("utf-8") - Network accessline 198
try: with urllib.request.urlopen(req, timeout=timeout) as resp: raw = resp.read().decode("utf-8") - Network accessline 199
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 199
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 201
except urllib.error.HTTPError as exc: fail(f"接口 HTTP {exc.code}:{exc.read().decode('utf-8', 'replace')[:500]}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: - Network accessline 201
except urllib.error.HTTPError as exc: fail(f"接口 HTTP {exc.code}:{exc.read().decode('utf-8', 'replace')[:500]}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: - Network accessline 202
fail(f"接口 HTTP {exc.code}:{exc.read().decode('utf-8', 'replace')[:500]}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: fail(f"接口连接失败:{exc}") - Network accessline 202
fail(f"接口 HTTP {exc.code}:{exc.read().decode('utf-8', 'replace')[:500]}") except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: fail(f"接口连接失败:{exc}") - Network accessline 203
except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: - Network accessline 203
except (urllib.error.URLError, http.client.RemoteDisconnected, TimeoutError) as exc: - Network accessline 227
h = {"User-Agent": UA, "Content-Type": f"multipart/form-data; boundary={boundary}"} h.update(headers) req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") - Network accessline 227
h = {"User-Agent": UA, "Content-Type": f"multipart/form-data; boundary={boundary}"} h.update(headers) req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") - Network accessline 228
h.update(headers) req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") try: - Network accessline 228
h.update(headers) req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") try: - Network accessline 229
req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") - Network accessline 229
req = urllib.request.Request(url, data=bytes(body), headers=h, method="POST") - Network accessline 230
try: with urllib.request.urlopen(req, timeout=timeout) as resp: return json.loads(resp.read().decode("utf-8")) - Network accessline 230
try: with urllib.request.urlopen(req, timeout=timeout) as resp: return json.loads(resp.read().decode("utf-8")) - Network accessline 231
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 231
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 240
def download(url: str, out: Path, timeout: int = 180) -> Path: out.parent.mkdir(parents=True, exist_ok=True) req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 240
def download(url: str, out: Path, timeout: int = 180) -> Path: out.parent.mkdir(parents=True, exist_ok=True) req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 241
out.parent.mkdir(parents=True, exist_ok=True) req = urllib.request.Request(url, headers={"User-Agent": UA}) try: - Network accessline 241
out.parent.mkdir(parents=True, exist_ok=True) req = urllib.request.Request(url, headers={"User-Agent": UA}) try: - Network accessline 242
req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 242
req = urllib.request.Request(url, headers={"User-Agent": UA}) - Network accessline 243
try: with urllib.request.urlopen(req, timeout=timeout) as resp: out.write_bytes(resp.read()) - Network accessline 243
try: with urllib.request.urlopen(req, timeout=timeout) as resp: out.write_bytes(resp.read()) - Network accessline 244
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 244
with urllib.request.urlopen(req, timeout=timeout) as resp: - Network accessline 259
[Credential-related source omitted] - Network accessline 259
[Credential-related source omitted] - Access to secretsline 259
[Credential-related source omitted] - Access to secretsline 259
[Credential-related source omitted] - Network accessline 261
[Credential-related source omitted] - Network accessline 261
[Credential-related source omitted] - Access to secretsline 261
[Credential-related source omitted] - Access to secretsline 261
[Credential-related source omitted] - Network accessline 278
[Credential-related source omitted] - Network accessline 278
[Credential-related source omitted] - Access to secretsline 278
[Credential-related source omitted] - Access to secretsline 278
[Credential-related source omitted] - Network accessline 279
[Credential-related source omitted] - Network accessline 279
[Credential-related source omitted] - Access to secretsline 279
[Credential-related source omitted] - Access to secretsline 279
[Credential-related source omitted] - Network accessline 280
or "https://dashscope.aliyuncs.com").rstrip("/") - Network accessline 280
or "https://dashscope.aliyuncs.com").rstrip("/") - Access to secretsline 288
[Credential-related source omitted] - Access to secretsline 288
[Credential-related source omitted] - Network accessline 316
[Credential-related source omitted] - Network accessline 316
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Network accessline 317
group = require_env("MINIMAX_GROUP_ID") base = (os.environ.get("MINIMAX_BASE_URL", "").strip() or "https://api.minimax.chat").rstrip("/") model = a.model or os.environ.get("MINIMAX_MODEL", "").strip() or "speech-01" - Network accessline 317
group = require_env("MINIMAX_GROUP_ID") base = (os.environ.get("MINIMAX_BASE_URL", "").strip() or "https://api.minimax.chat").rstrip("/") model = a.model or os.environ.get("MINIMAX_MODEL", "").strip() or "speech-01" - Network accessline 318
[Credential-related source omitted] - Network accessline 318
[Credential-related source omitted] - Access to secretsline 318
[Credential-related source omitted] - Access to secretsline 318
[Credential-related source omitted] - Access to secretsline 319
[Credential-related source omitted] - Access to secretsline 319
[Credential-related source omitted] - Network accessline 342
[Credential-related source omitted] - Network accessline 342
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Access to secretsline 342
[Credential-related source omitted] - Network accessline 343
[Credential-related source omitted] - Network accessline 343
[Credential-related source omitted] - Access to secretsline 343
[Credential-related source omitted] - Access to secretsline 343
[Credential-related source omitted] - Network accessline 344
or "https://dashscope.aliyuncs.com").rstrip("/") - Network accessline 344
or "https://dashscope.aliyuncs.com").rstrip("/") - Access to secretsline 345
[Credential-related source omitted] - Access to secretsline 345
[Credential-related source omitted] - Network accessline 363
def clone_fish(a, out: Path) -> Path: key = require_env("FISH_API_KEY") base = (os.environ.get("FISH_BASE_URL", "").strip() or "https://api.fish.audio").rstrip("/") - Network accessline 363
def clone_fish(a, out: Path) -> Path: key = require_env("FISH_API_KEY") base = (os.environ.get("FISH_BASE_URL", "").strip() or "https://api.fish.audio").rstrip("/") - Network accessline 364
[Credential-related source omitted] - Network accessline 364
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Network accessline 365
[Credential-related source omitted] - Network accessline 365
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Access to secretsline 365
[Credential-related source omitted] - Network accessline 374
else: fail("fish-audio 需 --voice-id(model_id)或 --sample(参考音频)之一。") req = urllib.request.Request( - Network accessline 374
else: fail("fish-audio 需 --voice-id(model_id)或 --sample(参考音频)之一。") req = urllib.request.Request( - Network accessline 375
fail("fish-audio 需 --voice-id(model_id)或 --sample(参考音频)之一。") req = urllib.request.Request( f"{base}/v1/tts", data=json.dumps(payload).encode(), - Network accessline 375
fail("fish-audio 需 --voice-id(model_id)或 --sample(参考音频)之一。") req = urllib.request.Request( f"{base}/v1/tts", data=json.dumps(payload).encode(), - Network accessline 376
req = urllib.request.Request( - Network accessline 376
req = urllib.request.Request( - Network accessline 379
"User-Agent": UA}, method="POST") try: with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 379
"User-Agent": UA}, method="POST") try: with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 380
try: with urllib.request.urlopen(req, timeout=180) as resp: return _save_bytes(resp.read(), out) # fish 直接返回音频字节 - Network accessline 380
try: with urllib.request.urlopen(req, timeout=180) as resp: return _save_bytes(resp.read(), out) # fish 直接返回音频字节 - Network accessline 381
with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 381
with urllib.request.urlopen(req, timeout=180) as resp: - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 389
[Credential-related source omitted] - Access to secretsline 391
[Credential-related source omitted] - Access to secretsline 391
[Credential-related source omitted] - Access to secretsline 402
[Credential-related source omitted] - Access to secretsline 402
[Credential-related source omitted] - Access to secretsline 404
[Credential-related source omitted] - Access to secretsline 404
[Credential-related source omitted] - Network accessline 407
payload["instructions"] = instr payload["input"] = text req = urllib.request.Request( - Network accessline 407
payload["instructions"] = instr payload["input"] = text req = urllib.request.Request( - Network accessline 408
payload["input"] = text req = urllib.request.Request( f"{base}/audio/speech", - Network accessline 408
payload["input"] = text req = urllib.request.Request( f"{base}/audio/speech", - Network accessline 409
req = urllib.request.Request( - Network accessline 409
req = urllib.request.Request( - Network accessline 413
"User-Agent": UA}, method="POST") try: with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 413
"User-Agent": UA}, method="POST") try: with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 414
try: with urllib.request.urlopen(req, timeout=180) as resp: return _save_bytes(resp.read(), out) - Network accessline 414
try: with urllib.request.urlopen(req, timeout=180) as resp: return _save_bytes(resp.read(), out) - Network accessline 415
with urllib.request.urlopen(req, timeout=180) as resp: - Network accessline 415
with urllib.request.urlopen(req, timeout=180) as resp: - Access to secretsline 437
[Credential-related source omitted] - Access to secretsline 437
[Credential-related source omitted] - Network accessline 439
[Credential-related source omitted] - Network accessline 439
[Credential-related source omitted] - Access to secretsline 439
[Credential-related source omitted] - Access to secretsline 439
[Credential-related source omitted] - Network accessline 440
[Credential-related source omitted] - Network accessline 440
[Credential-related source omitted] - Access to secretsline 440
[Credential-related source omitted] - Access to secretsline 440
[Credential-related source omitted] - Network accessline 441
or "https://generativelanguage.googleapis.com/v1beta").rstrip("/") - Network accessline 441
or "https://generativelanguage.googleapis.com/v1beta").rstrip("/") - Access to secretsline 442
[Credential-related source omitted] - Access to secretsline 442
[Credential-related source omitted] - Access to secretsline 443
[Credential-related source omitted] - Access to secretsline 443
[Credential-related source omitted] - Access to secretsline 444
[Credential-related source omitted] - Access to secretsline 444
[Credential-related source omitted] - Possible obfuscationline 455
raw = base64.b64decode(b64) - Possible obfuscationline 455
raw = base64.b64decode(b64) - Access to secretsline 541
[Credential-related source omitted] - Access to secretsline 541
[Credential-related source omitted] - Access to secretsline 558
[Credential-related source omitted] - Access to secretsline 558
[Credential-related source omitted] - Access to secretsline 560
[Credential-related source omitted] - Access to secretsline 560
[Credential-related source omitted] - Access to secretsline 595
[Credential-related source omitted] - Access to secretsline 595
[Credential-related source omitted]
skills/shared/scripts/web_publisher.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 53
"kuaishou": { "name": "快手", "login_url": "https://cp.kuaishou.com", - Network accessline 53
"kuaishou": { "name": "快手", "login_url": "https://cp.kuaishou.com", - Network accessline 53
"kuaishou": { "name": "快手", "login_url": "https://cp.kuaishou.com", - Network accessline 53
"kuaishou": { "name": "快手", "login_url": "https://cp.kuaishou.com", - Network accessline 54
"name": "快手", "login_url": "https://cp.kuaishou.com", "publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 54
"name": "快手", "login_url": "https://cp.kuaishou.com", "publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 54
"name": "快手", "login_url": "https://cp.kuaishou.com", "publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 54
"name": "快手", "login_url": "https://cp.kuaishou.com", "publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 55
"login_url": "https://cp.kuaishou.com", - Network accessline 55
"login_url": "https://cp.kuaishou.com", - Network accessline 55
"login_url": "https://cp.kuaishou.com", - Network accessline 55
"login_url": "https://cp.kuaishou.com", - Network accessline 56
"publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 56
"publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 56
"publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 56
"publish_url": "https://cp.kuaishou.com/article/publish/video", - Network accessline 69
"login_probe": { "url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 69
"login_probe": { "url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 69
"login_probe": { "url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 69
"login_probe": { "url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 70
"url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 70
"url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 70
"url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 70
"url": "https://cp.kuaishou.com/rest/cp/works/v2/common/pc/current/user", - Network accessline 91
{"action": "goto", "value": "https://cp.kuaishou.com/article/manage/video"}, - Network accessline 91
{"action": "goto", "value": "https://cp.kuaishou.com/article/manage/video"}, - Network accessline 91
{"action": "goto", "value": "https://cp.kuaishou.com/article/manage/video"}, - Network accessline 91
{"action": "goto", "value": "https://cp.kuaishou.com/article/manage/video"}, - Network accessline 93
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 93
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 93
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 93
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 157
"steps_image": [ {"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 157
"steps_image": [ {"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 157
"steps_image": [ {"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 157
"steps_image": [ {"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 158
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 158
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 158
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 158
{"action": "goto", "value": "https://cp.kuaishou.com/article/publish/video"}, - Network accessline 198
"weixin-channels": { "name": "微信视频号", "login_url": "https://channels.weixin.qq.com", - Network accessline 198
"weixin-channels": { "name": "微信视频号", "login_url": "https://channels.weixin.qq.com", - Network accessline 198
"weixin-channels": { "name": "微信视频号", "login_url": "https://channels.weixin.qq.com", - Network accessline 198
"weixin-channels": { "name": "微信视频号", "login_url": "https://channels.weixin.qq.com", - Network accessline 199
"name": "微信视频号", "login_url": "https://channels.weixin.qq.com", "publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 199
"name": "微信视频号", "login_url": "https://channels.weixin.qq.com", "publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 199
"name": "微信视频号", "login_url": "https://channels.weixin.qq.com", "publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 199
"name": "微信视频号", "login_url": "https://channels.weixin.qq.com", "publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 200
"login_url": "https://channels.weixin.qq.com", - Network accessline 200
"login_url": "https://channels.weixin.qq.com", - Network accessline 200
"login_url": "https://channels.weixin.qq.com", - Network accessline 200
"login_url": "https://channels.weixin.qq.com", - Network accessline 201
"publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 201
"publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 201
"publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 201
"publish_url": "https://channels.weixin.qq.com/platform/post/create", - Network accessline 215
"logged_out_selector": "iframe[src*='open.weixin.qq.com/connect/qrconnect'], .login-mask", "whoami_url": "https://channels.weixin.qq.com", - Network accessline 215
"logged_out_selector": "iframe[src*='open.weixin.qq.com/connect/qrconnect'], .login-mask", "whoami_url": "https://channels.weixin.qq.com", - Network accessline 215
"logged_out_selector": "iframe[src*='open.weixin.qq.com/connect/qrconnect'], .login-mask", "whoami_url": "https://channels.weixin.qq.com", - Network accessline 215
"logged_out_selector": "iframe[src*='open.weixin.qq.com/connect/qrconnect'], .login-mask", "whoami_url": "https://channels.weixin.qq.com", - Network accessline 216
"whoami_url": "https://channels.weixin.qq.com", - Network accessline 216
"whoami_url": "https://channels.weixin.qq.com", - Network accessline 216
"whoami_url": "https://channels.weixin.qq.com", - Network accessline 216
"whoami_url": "https://channels.weixin.qq.com", - Network accessline 218
"me_avatar_selector": ".finder-info img.avatar[src]", "steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 218
"me_avatar_selector": ".finder-info img.avatar[src]", "steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 218
"me_avatar_selector": ".finder-info img.avatar[src]", "steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 218
"me_avatar_selector": ".finder-info img.avatar[src]", "steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 219
"steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, {"action": "upload", "selector": "input[type=file]", "value": "{media}"}, - Network accessline 219
"steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, {"action": "upload", "selector": "input[type=file]", "value": "{media}"}, - Network accessline 219
"steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, {"action": "upload", "selector": "input[type=file]", "value": "{media}"}, - Network accessline 219
"steps": [ {"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, {"action": "upload", "selector": "input[type=file]", "value": "{media}"}, - Network accessline 220
{"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 220
{"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 220
{"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 220
{"action": "goto", "value": "https://channels.weixin.qq.com/platform/post/create"}, - Network accessline 237
"zhihu": { "name": "知乎", "login_url": "https://www.zhihu.com/signin", - Network accessline 237
"zhihu": { "name": "知乎", "login_url": "https://www.zhihu.com/signin", - Network accessline 237
"zhihu": { "name": "知乎", "login_url": "https://www.zhihu.com/signin", - Network accessline 237
"zhihu": { "name": "知乎", "login_url": "https://www.zhihu.com/signin", - Network accessline 238
"name": "知乎", "login_url": "https://www.zhihu.com/signin", "login_probe_url": "https://www.zhihu.com/", - Network accessline 238
"name": "知乎", "login_url": "https://www.zhihu.com/signin", "login_probe_url": "https://www.zhihu.com/", - Network accessline 238
"name": "知乎", "login_url": "https://www.zhihu.com/signin", "login_probe_url": "https://www.zhihu.com/", - Network accessline 238
"name": "知乎", "login_url": "https://www.zhihu.com/signin", "login_probe_url": "https://www.zhihu.com/", - Network accessline 239
"login_url": "https://www.zhihu.com/signin", - Network accessline 239
"login_url": "https://www.zhihu.com/signin", - Network accessline 239
"login_url": "https://www.zhihu.com/signin", - Network accessline 239
"login_url": "https://www.zhihu.com/signin", - Network accessline 240
"login_probe_url": "https://www.zhihu.com/", - Network accessline 240
"login_probe_url": "https://www.zhihu.com/", - Network accessline 240
"login_probe_url": "https://www.zhihu.com/", - Network accessline 240
"login_probe_url": "https://www.zhihu.com/", - Network accessline 241
"publish_url": "https://zhuanlan.zhihu.com/write", - Network accessline 241
"publish_url": "https://zhuanlan.zhihu.com/write", - Network accessline 241
"publish_url": "https://zhuanlan.zhihu.com/write", - Network accessline 241
"publish_url": "https://zhuanlan.zhihu.com/write", - Network accessline 253
"me_avatar_selector": ".AppHeader-profile img[src], .AppHeader-userInfo img[src]", "steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 253
"me_avatar_selector": ".AppHeader-profile img[src], .AppHeader-userInfo img[src]", "steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 253
"me_avatar_selector": ".AppHeader-profile img[src], .AppHeader-userInfo img[src]", "steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 253
"me_avatar_selector": ".AppHeader-profile img[src], .AppHeader-userInfo img[src]", "steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 254
"steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, {"action": "waitfor", "selector": "textarea,.WriteIndex-titleInput,input", "value": "30000"}, - Network accessline 254
"steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, {"action": "waitfor", "selector": "textarea,.WriteIndex-titleInput,input", "value": "30000"}, - Network accessline 254
"steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, {"action": "waitfor", "selector": "textarea,.WriteIndex-titleInput,input", "value": "30000"}, - Network accessline 254
"steps": [ {"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, {"action": "waitfor", "selector": "textarea,.WriteIndex-titleInput,input", "value": "30000"}, - Network accessline 255
{"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 255
{"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 255
{"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 255
{"action": "goto", "value": "https://zhuanlan.zhihu.com/write"}, - Network accessline 425
page.goto("https://channels.weixin.qq.com/platform/post/list", wait_until="domcontentloaded") - Network accessline 425
page.goto("https://channels.weixin.qq.com/platform/post/list", wait_until="domcontentloaded") - Network accessline 425
page.goto("https://channels.weixin.qq.com/platform/post/list", wait_until="domcontentloaded") - Network accessline 425
page.goto("https://channels.weixin.qq.com/platform/post/list", wait_until="domcontentloaded") - Network accessline 947
return None try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 947
return None try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 947
return None try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 947
return None try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 948
try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) if response.status != 200: - Network accessline 948
try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) if response.status != 200: - Network accessline 948
try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) if response.status != 200: - Network accessline 948
try: response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) if response.status != 200: - Network accessline 949
response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 949
response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 949
response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 949
response = browser.request.get("https://www.zhihu.com/api/v4/me", timeout=3000) - Network accessline 1073
const timer = setTimeout(() => controller.abort(), 3000); try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1073
const timer = setTimeout(() => controller.abort(), 3000); try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1073
const timer = setTimeout(() => controller.abort(), 3000); try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1073
const timer = setTimeout(() => controller.abort(), 3000); try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1074
try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, headers:{'accept':'application/json'}}); - Network accessline 1074
try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, headers:{'accept':'application/json'}}); - Network accessline 1074
try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, headers:{'accept':'application/json'}}); - Network accessline 1074
try { const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, headers:{'accept':'application/json'}}); - Network accessline 1075
const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1075
const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1075
const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1075
const resp = await fetch(u, {method:m||'GET', credentials:'include', signal:controller.signal, - Network accessline 1673
assert callable(getattr(human_pace, "pause_before_commit", None)) _rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1673
assert callable(getattr(human_pace, "pause_before_commit", None)) _rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1673
assert callable(getattr(human_pace, "pause_before_commit", None)) _rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1673
assert callable(getattr(human_pace, "pause_before_commit", None)) _rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1674
_rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { "data": {"list": [ - Network accessline 1674
_rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { "data": {"list": [ - Network accessline 1674
_rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { "data": {"list": [ - Network accessline 1674
_rb_now = int(time.time() * 1000) _rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { "data": {"list": [ - Network accessline 1675
_rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1675
_rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1675
_rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": { - Network accessline 1675
_rb_fake = [{"url": "https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list", "data": {
skills/shared/scripts/weixin_mp_stats.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Network accessline 34
LOGIN_DIR = PROJECT_ROOT / "outputs" / "_login" PROFILE_NAME = "WeixinMpProfile" MP_HOME = "https://mp.weixin.qq.com/" - Network accessline 35
PROFILE_NAME = "WeixinMpProfile" MP_HOME = "https://mp.weixin.qq.com/" LAUNCH_ARGS = [ - Network accessline 36
MP_HOME = "https://mp.weixin.qq.com/" - Network accessline 366
page.goto(f"https://mp.weixin.qq.com/cgi-bin/appmsgpublish?sub=list&begin=0&count={a.count}" - Network accessline 373
try: page.goto(f"https://mp.weixin.qq.com/misc/appmsganalysis?action=report&type=daily_v2" - Network accessline 374
page.goto(f"https://mp.weixin.qq.com/misc/appmsganalysis?action=report&type=daily_v2" - Network accessline 538
[Credential-related source omitted] - Network accessline 539
[Credential-related source omitted] - Network accessline 540
[Credential-related source omitted] - Network accessline 541
[Credential-related source omitted] - Network accessline 609
edit = (f"https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1" - Network accessline 663
def _upload_material(fpath, mime): svr = str(int(_t.time() * 1000)) u = (f"https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&scene=8" - Network accessline 664
svr = str(int(_t.time() * 1000)) u = (f"https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&scene=8" f"&writetype=doublewrite&groupid=1&ticket_id={info['user_name']}&ticket={info[ - Network accessline 665
u = (f"https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&scene=8" - Network accessline 717
op_url = (f"https://mp.weixin.qq.com/cgi-bin/operate_appmsg?t=ajax-response&sub=create&type=10" - Network accessline 762
"publish_list": [{ "publish_info": json.dumps({ "appmsgex": [{"title": "a", "link": "https://mp.weixin.qq.com/s/x", "read_num": 80, "like_num": 3}], - Network accessline 763
"publish_info": json.dumps({ "appmsgex": [{"title": "a", "link": "https://mp.weixin.qq.com/s/x", "read_num": 80, "like_num": 3}], }, ensure_ascii=False), - Network accessline 764
"appmsgex": [{"title": "a", "link": "https://mp.weixin.qq.com/s/x", "read_num": 80, "like_num": 3}],
skills/shared/scripts/wordcount.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable
skills/shared/scripts/xhs_comment.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 25
[Credential-related source omitted] - Network accessline 27
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 141
[Credential-related source omitted] - Access to secretsline 145
[Credential-related source omitted] - Network accessline 551
page.on("response", _on_resp) try: page.goto("https://creator.xiaohongshu.com/new/note-manager", - Network accessline 552
try: page.goto("https://creator.xiaohongshu.com/new/note-manager", wait_until="domcontentloaded", timeout=30000) - Network accessline 553
page.goto("https://creator.xiaohongshu.com/new/note-manager", - Network accessline 911
page.goto("https://www.xiaohongshu.com", wait_until="domcontentloaded", timeout=20000) - Network accessline 949
assert _proxy(None, True) is None assert _proxy("http://x:1", False) == "http://x:1" - Network accessline 950
assert _proxy("http://x:1", False) == "http://x:1" - Network accessline 979
[Credential-related source omitted] - Network accessline 980
[Credential-related source omitted] - Network accessline 981
[Credential-related source omitted] - Network accessline 982
[Credential-related source omitted] - Network accessline 984
assert _parse_note_url("https://www.xiaohongshu.com/explore/xyz")[1] == "" # 无 token - Network accessline 986
[Credential-related source omitted] - Network accessline 987
[Credential-related source omitted] - Network accessline 988
[Credential-related source omitted]
skills/shared/scripts/xhs_publish.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 48
PUBLISH_URL = "https://creator.xiaohongshu.com/publish/publish?source=official" - Network accessline 49
EXPLORE_URL = "https://www.xiaohongshu.com/explore" - Network accessline 50
CREATOR_LOGIN_URL = "https://creator.xiaohongshu.com/login" - Network accessline 51
CREATOR_HOME_URL = "https://creator.xiaohongshu.com/new/home" - Network accessline 52
CREATOR_ACCOUNT_URL = "https://creator.xiaohongshu.com/api/galaxy/user/info" - Access to secretsline 150
[Credential-related source omitted] - Access to secretsline 229
[Credential-related source omitted] - Access to secretsline 230
[Credential-related source omitted] - Access to secretsline 231
[Credential-related source omitted] - Network accessline 558
if not isinstance(user_id, str) or not re.fullmatch(r"[A-Za-z0-9_-]+", user_id): return account destination = f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 559
return account destination = f"https://www.xiaohongshu.com/user/profile/{user_id}" try: - Network accessline 560
destination = f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 629
}) return identity profile_url = (f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 630
return identity profile_url = (f"https://www.xiaohongshu.com/user/profile/{user_id}" if isinstance(user_id, str) and re.fullmatch(r"[A-Za-z0-9_-]+", user_id) else "") - Network accessline 631
profile_url = (f"https://www.xiaohongshu.com/user/profile/{user_id}" - Network accessline 651
or not re.fullmatch(r"/user/profile/[A-Za-z0-9_-]+/?", candidate.path)): continue profile_url = "https://www.xiaohongshu.com" + candidate.path - Network accessline 652
continue profile_url = "https://www.xiaohongshu.com" + candidate.path identity["avatar"] = _account_identity({"userAvatar": account.get("avatar")})["avatar"] - Network accessline 653
profile_url = "https://www.xiaohongshu.com" + candidate.path - Access to secretsline 716
[Credential-related source omitted] - Access to secretsline 717
[Credential-related source omitted] - Access to secretsline 893
[Credential-related source omitted] - Network accessline 1461
assert _proxy(None, True) is None, "--no-proxy 应禁用" assert _proxy("http://x:1", False) == "http://x:1", "显式代理优先" - Network accessline 1462
assert _proxy("http://x:1", False) == "http://x:1", "显式代理优先"
skills/shared/scripts/zhihu_answer.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Network accessline 5
# 预览(dry-run,不真正发布): python skills/shared/scripts/zhihu_answer.py \ --question https://www.zhihu.com/question/XXXXX \ - Network accessline 6
python skills/shared/scripts/zhihu_answer.py --question https://www.zhihu.com/question/XXXXX - Network accessline 7
--question https://www.zhihu.com/question/XXXXX \ - Network accessline 10
# 真正发布: python skills/shared/scripts/zhihu_answer.py \ --question https://www.zhihu.com/question/XXXXX \ - Network accessline 11
python skills/shared/scripts/zhihu_answer.py --question https://www.zhihu.com/question/XXXXX - Network accessline 12
--question https://www.zhihu.com/question/XXXXX \ - Network accessline 16
# 有头模式(调试/首次校准): python skills/shared/scripts/zhihu_answer.py \ --question https://www.zhihu.com/question/XXXXX \ - Network accessline 17
python skills/shared/scripts/zhihu_answer.py --question https://www.zhihu.com/question/XXXXX - Network accessline 18
--question https://www.zhihu.com/question/XXXXX \ - Access to secretsline 36
[Credential-related source omitted] - Network accessline 344
("https://www.zhihu.com/question/12345", - Network accessline 345
"https://www.zhihu.com/question/12345", - Network accessline 346
"unverified", False), # 仍在问题页:发布被拒/风控/验证 ("https://www.zhihu.com/question/12345", "https://www.zhihu.com/question/12345/answer/67890", - Network accessline 347
("https://www.zhihu.com/question/12345", - Network accessline 348
"https://www.zhihu.com/question/12345/answer/67890", - Network accessline 349
"verified", True), # 新回答地址 ("https://www.zhihu.com/question/12345", "https://www.zhihu.com/signin?next=%2Fquestion%2F12345", - Network accessline 350
("https://www.zhihu.com/question/12345", - Network accessline 351
"https://www.zhihu.com/signin?next=%2Fquestion%2F12345", - Network accessline 352
"login_required", False), # 跳登录页(回跳参数含 question 也不能误判) ("https://www.zhihu.com/question/12345/answer/11111", "https://www.zhihu.com/question/12345/answer/11111", - Network accessline 353
("https://www.zhihu.com/question/12345/answer/11111", - Network accessline 354
"https://www.zhihu.com/question/12345/answer/11111", - Network accessline 355
"unverified", False), # 输入的是别人回答链接 ("https://www.zhihu.com/question/12345", "https://www.zhihu.com/question/99999/answer/67890", - Network accessline 356
("https://www.zhihu.com/question/12345", - Network accessline 357
"https://www.zhihu.com/question/99999/answer/67890",
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 11 facts
- Contacts schemas.openxmlformats.org, which SKILL.md, the README and the plugin manifest do not mentiongzh-design/scripts/extract_docx.py:22High confidence
- Contacts mineru.net, which SKILL.md, the README and the plugin manifest do not mentionpaper-explainer/scripts/paper_ingest.py:40High confidence
- Contacts arxiv.org, which SKILL.md, the README and the plugin manifest do not mentionpaper-explainer/scripts/paper_ingest.py:110High confidence
- Contacts api-one.wallstcn.com, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:119High confidence
- Contacts www.huxiu.com, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:175High confidence
- Contacts www.tmtpost.com, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:176High confidence
- Contacts www.geekpark.net, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:177High confidence
- Contacts sspai.com, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:179High confidence
- Contacts www.infoq.cn, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:181High confidence
- Contacts aihot.virxact.com, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:183High confidence
- Contacts feedx.net, which SKILL.md, the README and the plugin manifest do not mentionskill-news-intelligence/scripts/fetch_news.py:185High confidence
Signal confidence: 489 facts
- Access to secrets in prose of documentationai-image-gen/EASEL-META.md:12Low confidence
- Access to secrets in prose of documentationai-image-gen/EASEL-META.md:27Low confidence
- Access to secrets in prose of the SKILL.mdai-image-gen/SKILL.md:31Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-image-gen/SKILL.md:31Low confidence
- Network access in prose of the SKILL.mdai-image-gen/SKILL.md:35Low confidence
- Network access in prose of the SKILL.mdskills/builtin/ai-image-gen/SKILL.md:35Low confidence
- Network access in prose of the SKILL.mdai-image-gen/SKILL.md:36Low confidence
- Network access in prose of the SKILL.mdskills/builtin/ai-image-gen/SKILL.md:36Low confidence
- Network access in prose of the SKILL.mdai-image-gen/SKILL.md:38Low confidence
- Network access in prose of the SKILL.mdskills/builtin/ai-image-gen/SKILL.md:38Low confidence
- Network access in prose of documentationai-music/EASEL-META.md:7Low confidence
- Network access in prose of documentationai-music/EASEL-META.md:8Low confidence
- Network access in prose of documentationai-music/EASEL-META.md:9Low confidence
- Network access in code of the SKILL.mdai-music/SKILL.md:47High confidence
- Network access in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:47High confidence
- Access to secrets in code of the SKILL.mdai-music/SKILL.md:47High confidence
- Access to secrets in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:47High confidence
- Network access in code of the SKILL.mdai-music/SKILL.md:49High confidence
- Network access in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:49High confidence
- Network access in code of the SKILL.mdai-music/SKILL.md:55High confidence
- Network access in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:55High confidence
- Access to secrets in code of the SKILL.mdai-music/SKILL.md:55High confidence
- Access to secrets in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:55High confidence
- Network access in code of the SKILL.mdai-music/SKILL.md:56High confidence
- Network access in code of the SKILL.mdskills/builtin/ai-music/SKILL.md:56High confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:21Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:21Low confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:23Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:23Low confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:24Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:24Low confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:26Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:26Low confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:27Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:27Low confidence
- Access to secrets in prose of the SKILL.mdai-video-gen/SKILL.md:28Low confidence
- Access to secrets in prose of the SKILL.mdskills/builtin/ai-video-gen/SKILL.md:28Low confidence
- Network access in prose of documentationasset-manager/EASEL-META.md:25Low confidence
- Network access in prose of documentationasset-manager/EASEL-META.md:26Low confidence
- Network access in prose of documentationasset-manager/EASEL-META.md:27Low confidence
- Network access in prose of documentationasset-manager/EASEL-META.md:28Low confidence
- Executable script in code of a file that runsasset-manager/scripts/assets.py:1High confidence
- Dangerous shell operation in code of a file that runsasset-manager/scripts/assets.py:347High confidence
- Network access in prose of documentationaudio-denoise/EASEL-META.md:7Low confidence
- Network access in prose of documentationaudio-denoise/EASEL-META.md:8Low confidence
- Network access in prose of documentationaudio-denoise/EASEL-META.md:9Low confidence
- Network access in code of the SKILL.mdaudio-denoise/SKILL.md:73High confidence
- Network access in code of the SKILL.mdaudio-denoise/SKILL.md:74High confidence
- Network access in prose of the SKILL.mdaudio-denoise/SKILL.md:113Low confidence
- Network access in prose of the SKILL.mdaudio-denoise/SKILL.md:114Low confidence
and 439 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/builtin/ai-image-gen/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest agents/workspace/AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/builtin/ai-image-gen/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/builtin/ai-image-gen/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/builtin/ai-image-gen/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/builtin/ai-image-gen/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/zju-real-easel/)