Not in the top 1,000 by GitHub stars
wlzh/skills
开源了Codex Skills等集合,大部分是自己实际需要搞得,需要的自取。欢迎star
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
audiocut-keyword/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
code-roaster/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
image-generator/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
quark-mswnlz-publisher/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
text-to-speech/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
video-downloader/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
video-voice-changer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
voice-changer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
vps-security-hardening/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
wespy-fetcher/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 629e70c8ff39
No earlier version was observed for comparison.
wlzh-invoice-scanner/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
wlzh-youtube-tracker/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
x-fetcher-skill/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
youtube-publisher/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
youtube-to-blog-post/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 629e70c8ff39
No earlier version was observed for comparison.
Heat
3.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- audiocut-keyword
audiocut-keyword - code-roaster
code-roaster - image-generator
image-generator - quark-mswnlz-publisher
quark-mswnlz-publisher - text-to-speech
text-to-speech - youtube-downloader
video-downloader - video-voice-changer
video-voice-changer - voice-changer
voice-changer - vps-security-hardening
vps-security-hardening - wespy-fetcher
wespy-fetcher - wlzh-invoice-scanner
wlzh-invoice-scanner - wlzh-youtube-tracker
wlzh-youtube-tracker - x-fetcher
x-fetcher-skill - youtube-publisher
youtube-publisher - youtube-to-blog-post
youtube-to-blog-post
How it works
audiocut-keyword
When your agent uses it
音频关键字过滤工具 - 根据关键字配置自动识别并删除音频中的指定内容
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
2,360 tokensWhen the skill is activated
Reference documents
4,047 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 功能特性
- 使用场景
- 快速开始
- 工作流程
- 关键字配置文件
- 技术实现
- 输出文件
- 命令行参数
- 依赖安装
- 性能参考
- 集成到 youtube-to-xiaoyuzhou
- 注意事项
- 常见问题
- 示例
- 未来扩展
- License
Scripts executed separately
scripts/audiocut_keyword.pyscripts/cut_audio.pyscripts/detect_keywords.pyscripts/transcribe_audio.pytest_audiocut.sh
Files
CHANGELOG.mddoc3,641 bytesREADME.mddoc3,016 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesSKILL.mdcore7,750 bytesTEST_REPORT.mddoc6,086 bytesVERSIONasset6 bytesconfig/keywords.jsonasset237 bytesconfig/test_keywords.jsonasset146 bytesscripts/__pycache__/audiocut_keyword.cpython-311.pycasset7,004 bytesscripts/__pycache__/cut_audio.cpython-311.pycasset5,582 bytesscripts/__pycache__/detect_keywords.cpython-311.pycasset4,295 bytesscripts/__pycache__/transcribe_audio.cpython-311.pycasset6,165 bytesscripts/audiocut_keyword.pyruns5,983 bytesscripts/cut_audio.pyruns3,528 bytesscripts/detect_keywords.pyruns3,026 bytesscripts/transcribe_audio.pyruns4,366 bytestest_audiocut.shruns1,802 bytes
Read SKILL.md
# 音频关键字过滤工具
> 基于 FunASR 语音识别和 FFmpeg 剪辑的音频关键字过滤 Skill
## 功能特性
- **精确转录**: 使用 FunASR Paraformer 进行 30s 分段转录,获取字符级时间戳
- **关键字识别**: 根据配置文件自动识别音频中的关键字
- **智能剪辑**: 使用 FFmpeg 精确删除关键字片段并合成最终音频
- **可配置**: 支持自定义关键字列表和缓冲时间
## 使用场景
1. **YouTube 转播客**: 删除视频中的"关注"、"订阅"、"点赞"等引导语View the complete source on GitHubcode-roaster
When your agent uses it
🔥 用 Gordon Ramsay 风格毒舌吐槽代码质量,生成搞笑且实用的代码审查报告
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
3,751 tokensWhen the skill is activated
Reference documents
1,246 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 性格设定
- 用法示例
- 工作流程
- 🎓 改进建议
- 💡 Gordon 的最后忠告
Files
README.mddoc3,927 bytesSKILL.mdcore11,777 bytesSKILL.mdcore11,777 bytes
Read SKILL.md
# 代码烤肉机 🔥
你是一位脾气暴躁但技术精湛的代码审查大师,就像编程界的 Gordon Ramsay。你的任务是用幽默、毒舌但专业的方式"烤"代码,指出真实存在的问题,同时让程序员笑出声。
## 性格设定
- 💥 **毒舌但准确**:吐槽要犀利、搞笑,但必须基于真实的代码问题
- 🎯 **专业至上**:在幽默的外表下,提供真正有价值的代码审查
- 😤 **零容忍**:对烂代码绝不手软,对好代码也要找茬(开玩笑地)
- 🔥 **金句制造机**:每个问题都要配上一句难忘的"烤肉"评论
## 用法示例
```bashView the complete source on GitHubimage-generator
When your agent uses it
通用图片生成 Skill,支持多种 AI 模型(ModelScope、Gemini、RunningHub 等),可被其他 Skills 调用
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
2,437 tokensWhen the skill is activated
Reference documents
1,830 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 功能特性
- 使用方式
- 配置
- 支持的模型
- API 参数
- 错误处理
- 测试模式
- 示例
- 注意事项
- 故障排除
- 依赖
- 许可证
Scripts executed separately
examples.pygenerate_image.pytests/test_reference_image.py
Files
README.mddoc6,952 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesSKILL.mdcore8,874 bytesconfig.json.exampleasset879 bytesexamples.pyruns4,715 bytesgenerate_image.pyruns26,449 bytestests/test_reference_image.pyruns4,743 bytes
Read SKILL.md
# 图片生成 Skill
通用的图片生成服务,支持多种 AI 模型,可被其他 Skills 直接调用。
## 功能特性
- 🎨 支持多种 AI 模型(ModelScope、Gemini、RunningHub 等)
- 📦 可作为库被其他 Skills 导入调用
- ⚙<U+FE0F> 灵活的配置系统
- 🔄 异步任务支持(ModelScope、RunningHub)
- 💾 自动保存生成的图片
- 🛡<U+FE0F> 错误处理和重试机制
- 🧪 测试模式支持(无需 API Key)
View the complete source on GitHubquark-mswnlz-publisher
When your agent uses it
Automate the full QuarkPanTool → mswnlz GitHub content publishing pipeline. Supports Quark / Baidu / Aliyun drives with multi-account rotation. Use when the user provides share URLs and wants: (1) auto-detect drive type and route to correct handler, (2) save resources with automatic account rotation, (3) clean junk files from shared folders, (4) copy promotional files into each folder, (5) generate permanent encrypted share links, (6) auto-classify items into local content dirs (book/movies/AIknowledge/tools/etc.), (7) append/update YYYYMM.md and README index, (8) local git commit, (9) send unified Telegram notifications to multiple groups, (10) rebuild site and deploy to Cloudflare Pages.
What it loads into context
Frontmatter
172 tokensAlways available to the agent
SKILL.md
8,859 tokensWhen the skill is activated
Reference documents
7,584 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Cloudflare deployment credentials (2026-10-20)
- 更新日志
- 📺 视频教程
- 📝 文字教程
- 触发条件
- 工作区约定
- 安全要求
- 环境变量配置
- 完整工作流
- Telegram 通知机制
- 脚本说明
- 新机器安装指南
- 脚本说明
- ⚠<U+FE0F> 多账号踩坑记录
Scripts executed separately
scripts/cleanup_junk_files.pyscripts/copy_promo_to_folders.pyscripts/deep_scan_junk.pyscripts/deploy_cloudflare_pages.shscripts/export_excel.pyscripts/extract_items.pyscripts/mswnlz_publish.pyscripts/pipeline_orchestrator.pyscripts/quark_account_rotator.pyscripts/quark_batch_run.pyscripts/quark_copy.pyscripts/remove_old_links.pyscripts/test_publish_deployment_failure.pyscripts/test_verify_pages_release.pyscripts/trigger_site_rebuild.shscripts/url_router.pyscripts/verify_pages_release.py
Files
CLOUDFLARE_MIGRATION.mddoc3,704 bytesREADME.mddoc23,507 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytesSKILL.mdcore29,671 bytespromo_files/0_双击获取解压密码_Mac系统双击这里.weblocasset275 bytespromo_files/0_双击获取解压密码_windows系统双击这里.urlasset78 bytespromo_files/1_解压密码869hr_uk_移动端双击这里.htmlasset22,691 bytespromo_files/必看免责声明_及加入资源分享群_及_副业_0_成本赚钱教程_资源网站doc_869hr_uk.txtdoc4,935 bytesreferences/mswnlz-repos-cache.jsonasset186 bytesscripts/batch_share_results.jsonasset6,284 bytesscripts/batch_share_results_quark_codex.jsonasset583 bytesscripts/cleanup_junk_files.pyruns13,546 bytesscripts/combined_group_message.txtdoc1,616 bytesscripts/config/junk_files.jsonasset746 bytesscripts/config/repo_descriptions.jsonasset1,503 bytesscripts/copy_promo_to_folders.pyruns12,027 bytesscripts/deep_scan_junk.pyruns1,863 bytesscripts/deploy_cloudflare_pages.shruns5,861 bytesscripts/export_excel.pyruns10,467 bytesscripts/extract_items.pyruns8,735 bytesscripts/items.jsonasset1,496 bytesscripts/items.json.bak.20260724-124217asset1,121 bytesscripts/items_quark_codex.jsonasset145 bytesscripts/mswnlz_publish.pyruns24,547 bytesscripts/pipeline_orchestrator.pyruns21,092 bytesscripts/quark_account_rotator.pyruns8,464 bytesscripts/quark_batch_run.pyruns9,035 bytesscripts/quark_copy.pyruns5,443 bytesscripts/quark_group_message.txtdoc1,089 bytesscripts/remove_old_links.pyruns1,266 bytesscripts/test_publish_deployment_failure.pyruns988 bytesscripts/test_verify_pages_release.pyruns4,491 bytesscripts/trigger_site_rebuild.shruns268 bytesscripts/url_router.pyruns3,588 bytesscripts/verify_pages_release.pyruns3,394 bytes
Read SKILL.md
# quark-mswnlz-publisher
## Cloudflare deployment credentials (2026-10-20)
The resource site now targets `kingcolixhs@gmail.com`, account
`ff9ae38b2050743cef380268109348c6`, project `doc869hr`.
Its assigned hostname is `doc869hr-6r4.pages.dev`; do not infer it from the
project name. The public hostname remains `doc.869hr.uk`.
Load the dedicated `~/.config/doc869hr/cloudflare.env`; never change the
shared Wrangler login. The deployment script uses an isolated working directory,
runs source tests, and verifies the release marker on the production hostname
before notifications. See `CLOUDFLARE_MIGRATION.md` for cutover and rollback.
Historical instructions below that suggest `wrangler login` or the old
`doc869hr.pages.dev` target are superseded by this section.View the complete source on GitHubtext-to-speech
When your agent uses it
文本转语音工具 - 默认 MiniMax TTS,支持切换 Edge TTS 和 Kokoro TTS (v1.1-zh)
What it loads into context
Frontmatter
498 tokensAlways available to the agent
SKILL.md
3,424 tokensWhen the skill is activated
Reference documents
5,732 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 引擎对比
- 使用说明
- MiniMax TTS
- Kokoro TTS v1.1-zh 声音
- 启动 Kokoro 服务
- 核心功能
- 配置文件
- 工作流程
- 代理绕过(重要)
- 依赖
- 性能参考
Scripts executed separately
scripts/minimax_voice_clone.pyscripts/text_to_speech.pytests/test_minimax_context.pytests/test_minimax_voice_clone.py
Files
CHANGELOG.mddoc7,639 bytesREADME.mddoc10,793 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesSKILL.mdcore11,378 bytesVERSIONasset6 bytesconfig/tts_config.jsonasset10,999 bytesscripts/minimax_voice_clone.pyruns12,317 bytesscripts/text_to_speech.pyruns25,926 bytestests/test_minimax_context.pyruns11,849 bytestests/test_minimax_voice_clone.pyruns3,066 bytes
Read SKILL.md
# Text-to-Speech Skill
将文本转换为语音。默认使用 MiniMax TTS(在线高质量中文配音),并保留 Kokoro TTS v1.1-zh(本地 Docker,102 个中文音色)和 Edge TTS(在线)作为可配置后备。
## 引擎对比
| 特性 | MiniMax TTS | Kokoro TTS v1.1-zh | Edge TTS |
|------|-------------|-------------------|----------|
| 质量 | 默认推荐,中文短视频旁白更自然 | 本地可用、接近真人 | 标准 Neural 语音 |
| 网络 | 需要 MiniMax API | 不需要(本地 Docker) | 需要网络连接 |
| 默认音色 | `Chinese (Mandarin)_Reliable_Executive`(可靠高管) | `zm_009` | `zh-CN-YunyangNeural` |
| 语速调节 | speed 参数,默认 1.0 | speed 参数 | rate/pitch/volume |
| 前提 | `MINIMAX_API_KEY` 环境变量 | Docker 容器需运行 | 安装 `edge-tts` |
| 配置值 | `minimax` | `kokoro` | `edge` |View the complete source on GitHubyoutube-downloader
When your agent uses it
Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
745 tokensWhen the skill is activated
Reference documents
3,209 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- Options
- Complete Examples
- How It Works
- Important Notes
- Reusability
Scripts executed separately
scripts/download_video.py
Files
README.mddoc6,016 bytesREADME_CN.mddoc5,499 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesSKILL.mdcore2,866 bytesscripts/download_video.pyruns4,278 bytes
Read SKILL.md
# YouTube Video Downloader
Download YouTube videos with full control over quality and format settings.
## Quick Start
The simplest way to download a video:
```bash
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
```
This downloads the video in best available quality as MP4 to `/mnt/user-data/outputs/`.
View the complete source on GitHubvideo-voice-changer
When your agent uses it
视频变声处理工具 - 从视频提取音频,调用 voice-changer skill 变声后合并回视频。用户要求视频变声、给视频换声音、视频音色转换或处理视频音频时使用。
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
569 tokensWhen the skill is activated
Reference documents
4,106 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 概述
- 功能特性
- 使用方法
- 声音预设
- 依赖
Scripts executed separately
scripts/video_voice_change.pytest_video_voice_change.sh
Files
CHANGELOG.mddoc3,171 bytesREADME.mddoc3,777 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesSKILL.mdcore1,994 bytesTEST_GUIDE.mddoc6,331 bytesVERSIONasset6 bytesscripts/video_voice_change.pyruns9,229 bytestest_video_voice_change.shruns2,509 bytes
Read SKILL.md
# video-voice-changer Skill
> 版本: v1.1.1
> 默认行为: 创建 `输入文件名_vc.后缀`,只有传入 `--overwrite` 才覆盖原视频。
## 概述
video-voice-changer 是一个视频变声处理 skill,它对视频文件中的音频进行变声处理,然后将处理后的音频与原视频重新合并。
## 功能特性
- 视频音频提取与变声
- 复用 voice-changer skill 的配置
- 支持多种声音预设View the complete source on GitHubvoice-changer
When your agent uses it
音频变声处理工具 - 使用 RVC AI 模型进行真实的声音转换,支持视频直接输入
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
2,232 tokensWhen the skill is activated
Reference documents
6,664 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 概述
- 功能特性
- 技术方案
- 目录结构
- 依赖要求
- 配置说明
- 使用方法
- 预设声音列表
- 性能指标
- 集成示例
- 注意事项
- 故障排除
- 未来计划
- 参考资料
Scripts executed separately
install_dependencies.shmodels/rvc_core/extract_feature.pymodels/rvc_core/rvc_infer.pymodels/rvc_core/rvc_infer_simple.pymodels/rvc_core/rvc_simple.pyscripts/rvc_infer_real.pyscripts/rvc_process_long.pyscripts/voice_change.pytest_voice_changer.sh
Files
CHANGELOG.mddoc4,400 bytesREADME.mddoc5,889 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesSKILL.mdcore7,002 bytesTEST_GUIDE.mddoc6,973 bytesVERSIONasset6 bytesconfig/voice_config.jsonasset4,954 bytesinstall_dependencies.shruns1,851 bytesmodels/RVC_MODEL_GUIDE.mddoc3,766 bytesmodels/rvc_core/extract_feature.pyruns14 bytesmodels/rvc_core/rvc_infer.pyruns14 bytesmodels/rvc_core/rvc_infer_simple.pyruns3,317 bytesmodels/rvc_core/rvc_simple.pyruns2,394 bytesscripts/__pycache__/voice_change.cpython-311.pycasset10,223 bytesscripts/rvc_infer_real.pyruns10,599 bytesscripts/rvc_process_long.pyruns8,422 bytesscripts/voice_change.pyruns26,072 bytestest_voice_changer.shruns2,850 bytes
Read SKILL.md
# voice-changer Skill
## 概述
voice-changer 是一个音频/视频变声处理 skill,支持直接处理视频文件或音频文件进行变声处理。
## 功能特性
- 🎙<U+FE0F> **RVC AI 模型** - 真实的音色转换
- 🎬 **支持视频输入** - 直接处理 .mp4 等视频文件,自动提取音频、变声、合成回视频
- ⚡ **自动分块处理** - 长音频自动分块,避免内存问题
- 🔧 **灵活配置** - 支持多种声音预设和自定义参数
- 🎯 **简单易用**: 命令行一键调用
- 🔌 **可被调用** - 可被其他 skills 集成调用View the complete source on GitHubvps-security-hardening
When your agent uses it
VPS 安全加固自动化 Skill。通过 SSH 登录 VPS 并执行完整的安全策略配置。 触发场景: - "加固VPS安全"、"VPS安全配置"、"新VPS初始化" - "配置SSH安全"、"修改SSH端口"、"禁用root密码登录" - "VPS安全加固"、"服务器安全设置"、"hardening" 功能(7招安全加固): 1. 创建 sudo 用户,禁用 root 密码登录 2. 修改 SSH 端口(支持 Ubuntu 不同版本) 3. Fail2ban 自动安装配置 4. SSH 密钥登录支持 5. SSH 登录通知(可选) 6. UFW 防火墙配置 7. Docker 安全提醒 Author: github.com/wlzh Version: 1.0.0
What it loads into context
Frontmatter
220 tokensAlways available to the agent
SKILL.md
3,413 tokensWhen the skill is activated
Reference documents
3,262 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 概述
- ⚠<U+FE0F> 重要警告
- 🔴 前置条件:开启 root 密码登录
- 所需信息(执行时收集)
- 执行流程
- 执行脚本
- Docker 安全提醒(第七招)
- 常见问题
- 安全检查清单
- 版本历史
Scripts executed separately
scripts/harden-vps.sh
Files
README.mddoc2,587 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesSKILL.mdcore11,973 bytesreferences/best-practices.mddoc7,412 bytesscripts/harden-vps.shruns25,913 bytes
Read SKILL.md
# VPS 安全加固 Skill
> 版本: 1.0.7 | 作者: github.com/wlzh | 参考: https://x.com/gxjdian/status/2033751314208059507
## 概述
本 Skill 用于自动化 VPS 安全加固流程,基于「7招安全加固」最佳实践,通过 SSH 远程执行一系列安全配置命令。
## ⚠<U+FE0F> 重要警告
**在执行任何操作前,务必确保:**
1. **VPS 平台防火墙已开放新的 SSH 端口** - 否则将被锁死无法登录!
2. 如使用云服务商(AWS/阿里云/腾讯云等),需在安全组/防火墙规则中放行端口View the complete source on GitHubwespy-fetcher
When your agent uses it
获取并转换微信公众号/网页文章为 Markdown 的封装 Skill,完整支持 WeSpy 的单篇抓取、微信专辑批量下载、专辑列表获取、HTML/JSON/Markdown 多格式输出。Use when user asks to 抓取微信公众号文章、公众号专辑批量下载、URL 转 Markdown、保存微信文章、mp.weixin.qq.com to markdown.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
593 tokensWhen the skill is activated
Reference documents
912 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 功能范围(与 WeSpy 对齐)
- 依赖来源
- 使用
- 参数
- 实现说明
Scripts executed separately
scripts/wespy_cli.py
Files
README.mddoc2,961 bytesSKILL.mdcore2,085 bytesSKILL.mdcore2,085 bytesVERSIONasset7 bytesscripts/requirements.txtdoc39 bytesscripts/wespy_cli.pyruns1,434 bytes
Read SKILL.md
# WeSpy Fetcher
封装 [tianchangNorth/WeSpy](https://github.com/tianchangNorth/WeSpy) 的完整能力。
## 功能范围(与 WeSpy 对齐)
- 单篇文章抓取(微信公众号 / 通用网页 / 掘金)
- 微信专辑文章列表获取(`--album-only`)
- 微信专辑批量下载(`--max-articles`)
- 多格式输出(Markdown 默认,支持 HTML / JSON / 全部)
- 交互模式(不传 URL 时)
## 依赖来源
View the complete source on GitHubwlzh-invoice-scanner
When your agent uses it
扫描目录识别所有类型发票(交通、住宿、餐饮等),提取关键信息并生成分类统计报告
What it loads into context
Frontmatter
485 tokensAlways available to the agent
SKILL.md
8,896 tokensWhen the skill is activated
Reference documents
7,208 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 用法示例
- 工作流程
- 注意事项
- 错误处理
- 输出示例
Files
.gitignoreasset12 bytesREADME.mddoc23,146 bytesSKILL.mdcore29,509 bytesSKILL.mdcore29,509 bytesSKILL.mdcore29,509 bytesSKILL.mdcore29,509 bytesSKILL.mdcore29,509 bytesconfig.json.sampleasset554 bytes
Read SKILL.md
# 发票扫描器
你是一个专业的发票识别专家。任务是识别和提取各类发票的关键信息,并按类型分类统计。
## 用法示例
```
/wlzh-invoice-scanner ./发票文件夹
/wlzh-invoice-scanner ./receipts.zip
# Windows 路径建议加引号;JSON 配置中反斜杠需写成 \\\\,命令输入可直接使用 Windows 路径
/wlzh-invoice-scanner "C:\\Users\\Alice\\Documents\\发票"
/wlzh-invoice-scanner "C:\\Users\\Alice\\Documents\\receipts.zip"
View the complete source on GitHubwlzh-youtube-tracker
When your agent uses it
Track YouTube channels for new uploads. Supports both RSS mode (no API key needed, unlimited quota) and API mode. Use when: add/remove/list tracked YouTube channels, check for new videos, or run scheduled YouTube channel monitoring.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
1,414 tokensWhen the skill is activated
Reference documents
1,592 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- v3.1.0 - Self-contained Telegram Sending (2026-06-06)
- v3.0.0 - Parallel Fetching + Notify Mode (2026-06-06)
- v2.1.0 - Proxy Support (2026-06-05)
- v2.0.0 - RSS Mode (2026-03-17)
- What it does
- Data files
- Commands
- Cron usage
- Output formats
- Migration from v1.x / v2.x
Scripts executed separately
scripts/cron-run.shscripts/run-check.shscripts/youtube-tracker-rss.jsscripts/youtube-tracker.js
Files
README.mddoc2,914 bytesREADME.zh-CN.mddoc2,538 bytesSKILL.mdcore5,420 bytesSKILL.mdcore5,420 bytesscripts/cron-run.shruns393 bytesscripts/run-check.shruns197 bytesscripts/youtube-tracker-rss.jsruns21,948 bytesscripts/youtube-tracker.jsruns10,524 bytesstate/channels-import.jsonasset918 bytesstate/config.json.exampleasset37 bytesstate/seen-videos.jsonasset33,601 bytesstate/seen.json.exampleasset37 bytes
Read SKILL.md
# wlzh-youtube-tracker
A script-backed Skill to maintain a list of tracked YouTube channels and periodically check for **new uploads**.
## v3.1.0 - Self-contained Telegram Sending (2026-06-06)
**Critical reliability fix** — script now sends Telegram directly, no LLM relay needed.
### Changes
- **`notify` sends Telegram directly**: Script calls Telegram Bot API itself, no LLM relay
- **Atomic seen marking**: Only marks video as seen AFTER successful Telegram send
- **Auto-retry on failure**: Failed sends stay "unseen", next cron cycle retries automatically
- **Reads bot token from `~/.openclaw/openclaw.json`**: No extra config needed
- **Fallback mode**: If bot token unavailable, falls back to stdout output for LLM relayView the complete source on GitHubx-fetcher
When your agent uses it
抓取 X (Twitter) 推文和长文章的命令行工具。支持普通推文(文字、图片、视频链接)和 X Article 长文章(完整正文,Markdown 格式),自动保存为 Markdown 文件。基于 Jane-xiaoer/x-fetcher 项目。Use when user mentions "抓取推文", "下载推文", "保存 X 文章", "fetch tweet", or provides x.com/twitter.com URLs.
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
1,809 tokensWhen the skill is activated
Reference documents
8,725 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 功能
- Script Directory
- Preferences (EXTEND.md)
- 使用
- 选项
- 支持的 URL
- 输出
- 工作原理
- 限制
- 依赖
- Extension Support
Scripts executed separately
fetch_x.pyscripts/main.pyscripts/quick-start.shscripts/test_skill.py
Files
.gitignoreasset202 bytes.infoasset566 bytesCOMPLETION.mddoc6,090 bytesEXTEND.md.exampleasset2,185 bytesLICENSEasset1,056 bytesMEDIA.mddoc5,431 bytesPROJECT.mddoc4,888 bytesQUICKREF.mddoc2,636 bytesREADME.mddoc4,424 bytesSKILL.mdcore7,744 bytesSKILL.mdcore7,744 bytesSKILL.mdcore7,744 bytesSKILL.mdcore7,744 bytesSKILL.mdcore7,744 bytesSKILL.mdcore7,744 bytesUSAGE.mddoc5,405 bytesfetch_x.pyruns10,664 bytesrequirements.txtdoc17 bytesscripts/main.pyruns10,570 bytesscripts/quick-start.shruns2,168 bytesscripts/requirements.txtdoc29 bytesscripts/test_skill.pyruns5,078 bytes
Read SKILL.md
# X Fetcher
抓取 X (Twitter) 帖子内容的命令行工具,支持普通推文和 X Article 长文章,自动保存为 Markdown 格式。
**工程化来源**: 本 Skill 基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目。
## 功能
- 抓取普通推文(文字、图片、视频链接)
- 抓取 X Article 长文章(完整正文,Markdown 格式)
- 获取互动数据(点赞、转发、浏览量、书签数)
- 自动保存为格式化的 Markdown 文件
- 可配置默认下载目录
View the complete source on GitHubyoutube-publisher
When your agent uses it
Upload and fully manage YouTube videos and live events: metadata, thumbnails, captions, playlists, scheduled broadcasts, encoder streams, binding, lifecycle transitions, and cleanup.
What it loads into context
Frontmatter
99 tokensAlways available to the agent
SKILL.md
2,706 tokensWhen the skill is activated
Reference documents
6,573 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 🔴 Strict Execution Rule (Highest Priority)
- Live broadcasts and encoder streams
- Metadata sanitization
- Quick Start
- Options
- Playlist catalog export
- Category IDs
- Authentication
- Environment
- Examples
- Output
- Limitations
- Changelog
Scripts executed separately
scripts/.gitignorescripts/authenticate.tsscripts/export-playlists.tsscripts/list-recent.tsscripts/list-uploads.tsscripts/package.jsonscripts/tests/youtube-caption-upsert.test.tsscripts/tests/youtube-live-service.test.tsscripts/tests/youtube-live.test.tsscripts/tests/youtube-upload-recovery.test.tsscripts/upload-captions.tsscripts/upload-thumbnail.tsscripts/youtube-caption-upsert.tsscripts/youtube-live-cli.tsscripts/youtube-live-service.tsscripts/youtube-live.tsscripts/youtube-update-description.tsscripts/youtube-upload-recovery.tsscripts/youtube-upload.ts
Files
.gitignoreasset53 bytesSETUP.mddoc2,651 bytesSETUP_zh.mddoc2,777 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL.mdcore10,772 bytesSKILL_zh.mddoc7,072 bytesreferences/CHANGELOG.mddoc6,500 bytesreferences/live-streaming.mddoc6,356 bytesscripts/.env.exampleasset132 bytesscripts/.gitignoreruns294 bytesscripts/authenticate.tsruns8,003 bytesscripts/export-playlists.tsruns3,853 bytesscripts/list-recent.tsruns1,697 bytesscripts/list-uploads.tsruns1,458 bytesscripts/package-lock.jsonasset52,491 bytesscripts/package.jsonruns1,003 bytesscripts/tests/youtube-caption-upsert.test.tsruns2,591 bytesscripts/tests/youtube-live-service.test.tsruns2,998 bytesscripts/tests/youtube-live.test.tsruns7,640 bytesscripts/tests/youtube-upload-recovery.test.tsruns3,057 bytesscripts/tsconfig.jsonasset296 bytesscripts/upload-captions.tsruns1,393 bytesscripts/upload-thumbnail.tsruns4,616 bytesscripts/youtube-caption-upsert.tsruns1,927 bytesscripts/youtube-live-cli.tsruns15,490 bytesscripts/youtube-live-service.tsruns5,534 bytesscripts/youtube-live.tsruns19,943 bytesscripts/youtube-update-description.tsruns11,720 bytesscripts/youtube-upload-recovery.tsruns3,923 bytesscripts/youtube-upload.tsruns13,628 bytes
Read SKILL.md
## 🔴 Strict Execution Rule (Highest Priority)
Every instruction, step, and check in this SKILL.md must be **followed exactly as written** — no deviations allowed.
- **Scripts must be actually executed**: The `youtube-upload.ts` script must be run with all required parameters. Do not simulate or manually construct API calls.
- **Steps must not be skipped or merged**: Execute authentication, metadata sanitization, and upload in the defined order. Each step must succeed before the next begins.
- **Checks must not be omitted**: All metadata validation (title ≤100 chars, description ≤5000 chars, tags ≤500 chars) and upload verification must be fully executed.
- **Config must be read from files**: OAuth credentials and default settings must be read from the configured files. Do not hardcode.
---
# YouTube Publisher
> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.View the complete source on GitHubyoutube-to-blog-post
When your agent uses it
Convert YouTube videos to SEO-optimized blog posts. Extract video title, description, and content, then generate a search-engine-friendly blog post with embedded video, cover images, optimized metadata, structured Markdown sections, clean resource blocks, and up to 8 source-grounded keywords. Auto-generates English filenames and saves to the configured Hexo blog posts directory. Includes tag management rules to maintain a clean, consistent tag taxonomy.
What it loads into context
Frontmatter
139 tokensAlways available to the agent
SKILL.md
7,199 tokensWhen the skill is activated
Reference documents
19,716 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 搜索发布契约
- 🔴 严格执行规则(最高优先级)
- ✨ 核心特性
- 🚀 快速开始
- 验收边界
- 📋 配置文件
- 📄 文章格式
- 📝 文件命名规则
- 🎯 完整使用示例
- 🔧 命令行参数
- 🌐 支持的 URL 格式
- 📦 依赖项
- ⚠<U+FE0F> 注意事项
- 🔍 SEO 优化细节
- SEO 效果评估
- 📚 相关文档
- 🆕 更新日志
Scripts executed separately
scripts/youtube_to_post.pytests/test_description_format.pytests/test_publish_safety.py
Files
CHANGELOG.mddoc21,756 bytesDOCUMENTATION_UPDATE_SUMMARY.mddoc4,496 bytesINSTALL.mddoc4,061 bytesPRE_COMMIT_SUMMARY.mddoc4,808 bytesREADME.mddoc12,158 bytesSEO_OPTIMIZATION.mddoc5,704 bytesSEO_UPGRADE_SUMMARY.mddoc7,119 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesSKILL.mdcore25,044 bytesreferences/SEARCH-PUBLISH.mddoc6,002 bytesscripts/youtube_to_post.pyruns55,968 bytestests/test_description_format.pyruns8,040 bytestests/test_publish_safety.pyruns2,902 bytes
Read SKILL.md
## 搜索发布契约
新文章、恢复、重发和部署先遵循 [搜索发布契约](references/SEARCH-PUBLISH.md)。仅按正文提取事实摘要;不为凑字数扩写,不跳过发布门禁。
生成文章只写入可靠 `video_id`,不得自动修改 YouTube 播放列表或根据标题猜专题。部署统一调用博客 `npm run publish`;作者维护播放列表后,正式通知阶段会再次严格刷新专题,因此生成阶段的列表快照不是最终归属证明。
## 🔴 严格执行规则(最高优先级)
本 Skill 的每一条说明、每一个步骤、每一项检查都必须**严格按照本文档执行**,不得有任何偏离。
- **脚本必须实际运行**:必须实际执行 `youtube_to_post.py` 脚本,不得用 AI 推理、模拟或手动编写替代脚本输出。
- **步骤不得跳过或合并**:必须按本文档定义的流程逐步执行(获取视频信息 → 生成元数据 → 提取内容 → 人性化处理 → 保存部署)。不得跳过任何步骤。
- **检查项不得省略**:所有 SEO 优化步骤(YAML 安全过滤、HTML 属性清洗、关键词提取、封面图回退、内部链接、资源分区)必须完整执行。
- **配置必须从文件读取**:博客目录、分类、标签等配置必须从 `youtube-blog-config.json` 或 Hexo `_config.yml` 读取,不得硬编码。View the complete source on GitHubSkills included
- audiocut-keyword
- code-roaster
- image-generator
- quark-mswnlz-publisher
- text-to-speech
- youtube-downloader
- video-voice-changer
- voice-changer
- vps-security-hardening
- wespy-fetcher
- wlzh-invoice-scanner
- wlzh-youtube-tracker
- x-fetcher
- youtube-publisher
- youtube-to-blog-post
Repository facts
- License
- MIT
- Created
- Jan 10, 2026
- Last pushed
- Oct 27, 2026
- Forks
- 82
- Open issues
- 1
- Project activity
- Active
Rank over the last 12 weeks
Now #926 · best #745 · down 59 in 30 days
- #887 on Oct 12
- #894 on Oct 13
- #908 on Oct 14
- #868 on Oct 18
- #921 on Oct 20
- #926 since Oct 23
22 earlier periods
- #885 on Aug 1
- #745 on Aug 7
- #757 on Aug 9
- #791 on Aug 10
- #794 on Aug 11
- #792 on Aug 12
- #757 on Aug 15
- #809 on Aug 18
- #836 on Aug 27
- #843 on Aug 31
- #873 on Sep 1
- #846 on Sep 2
- #815 on Sep 4
- #827 on Sep 6
- #848 on Sep 7
- #856 on Sep 9
- #857 on Sep 15
- #867 on Sep 21
- #922 on Sep 29
- #894 on Oct 9
- #864 on Oct 10
- #861 on Oct 11
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 154 notes
audiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedaudiocut-keyword/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedcode-roaster/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedimage-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedimage-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedimage-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedimage-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedimage-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 86 dangerous shell commandsin 13 files: vps-security-hardening/references/best-practices.md:30 vps-security-hardening/scripts/harden-vps.sh:66 vps-security-hardening/SKILL.md:12 and 10 more
- 1,421 network referencesin 98 files: youtube-publisher/scripts/package-lock.json:21 quark-mswnlz-publisher/scripts/batch_share_results.json:7 quark-mswnlz-publisher/scripts/combined_group_message.txt:5 and 95 more
- 2 obfuscation signalsin 1 file: image-generator/generate_image.py:291
- No instruction overrides
- 73 executable scriptsin 73 files: audiocut-keyword/scripts/audiocut_keyword.py:1 audiocut-keyword/scripts/cut_audio.py:1 audiocut-keyword/scripts/detect_keywords.py:1 and 70 more
- 107 references to secretsin 30 files: image-generator/generate_image.py:181 text-to-speech/scripts/minimax_voice_clone.py:28 quark-mswnlz-publisher/scripts/mswnlz_publish.py:37 and 27 more
- No requests to vote in Hot
Show all 1,689 signals by file
audiocut-keyword/CHANGELOG.md
audiocut-keyword/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 80
# 使用清华镜像安装 pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple - Network accessline 81
pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple - Network accessline 82
pip install funasr -i https://pypi.tuna.tsinghua.edu.cn/simple
audiocut-keyword/SKILL.md
audiocut-keyword/TEST_REPORT.md
- Network accessline 146
# 基本用法 python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py \ https://youtu.be/xxxxx \ - Network accessline 147
python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py https://youtu.be/xxxxx - Network accessline 148
https://youtu.be/xxxxx \ - Network accessline 151
# 完整用法 python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py \ https://youtu.be/xxxxx \ - Network accessline 152
python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py https://youtu.be/xxxxx - Network accessline 153
https://youtu.be/xxxxx \
audiocut-keyword/scripts/audiocut_keyword.py
- Executable scriptline 1
#!/usr/bin/env python3
audiocut-keyword/scripts/cut_audio.py
- Executable scriptline 1
#!/usr/bin/env python3
audiocut-keyword/scripts/detect_keywords.py
- Executable scriptline 1
#!/usr/bin/env python3
audiocut-keyword/scripts/transcribe_audio.py
- Executable scriptline 1
#!/usr/bin/env python3
audiocut-keyword/test_audiocut.sh
- Executable scriptline 1
#!/bin/bash
code-roaster/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills
code-roaster/SKILL.md
image-generator/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 85
"default_api": "runninghub", "modelscope": { "base_url": "https://api-inference.modelscope.cn/", - Network accessline 86
[Credential-related source omitted] - Network accessline 87
"base_url": "https://api-inference.modelscope.cn/", - Access to secretsline 88
[Credential-related source omitted] - Network accessline 94
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Network accessline 95
"model": "gemini-3-pro-image-preview", "api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", "timeout": 120, - Network accessline 96
"api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", - Network accessline 109
- `default_api`: 默认使用的 API(`modelscope`、`gemini` 或 `runninghub`) - `modelscope.api_key`: ModelScope API Token(从 https://modelscope.cn 获取) - Network accessline 110
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Network accessline 111
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted]
image-generator/SKILL.md
- Network accessline 105
"default_api": "runninghub", "modelscope": { "base_url": "https://api-inference.modelscope.cn/", - Network accessline 106
[Credential-related source omitted] - Network accessline 107
"base_url": "https://api-inference.modelscope.cn/", - Access to secretsline 108
[Credential-related source omitted] - Network accessline 114
[Credential-related source omitted] - Access to secretsline 114
[Credential-related source omitted] - Network accessline 115
"model": "gemini-3-pro-image-preview", "api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", "timeout": 120, - Network accessline 116
"api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", - Network accessline 120
}, "runninghub": { "base_url": "https://www.runninghub.cn/openapi/v2", - Network accessline 121
[Credential-related source omitted] - Network accessline 122
"base_url": "https://www.runninghub.cn/openapi/v2", - Access to secretsline 123
[Credential-related source omitted] - Network accessline 143
**ModelScope 配置**: - `base_url`: ModelScope API 地址 - `api_key`: ModelScope API Token(从 https://modelscope.cn 获取) - Network accessline 144
- `base_url`: ModelScope API 地址 - `api_key`: ModelScope API Token(从 https://modelscope.cn 获取) - `model`: 使用的模型名称 - Network accessline 145
[Credential-related source omitted] - Access to secretsline 145
[Credential-related source omitted] - Network accessline 150
**Gemini 配置**: - `api_key`: Google Gemini API Key(从 https://ai.google.dev 获取) - Network accessline 151
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 160
[Credential-related source omitted]
image-generator/config.json.example
- Network accessline 2
"default_api": "gemini", "modelscope": { "base_url": "https://api-inference.modelscope.cn/", - Network accessline 3
[Credential-related source omitted] - Network accessline 4
"base_url": "https://api-inference.modelscope.cn/", - Access to secretsline 5
[Credential-related source omitted] - Network accessline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Network accessline 12
"model": "gemini-3-pro-image-preview", "api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", "timeout": 120, - Network accessline 13
"api_url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent", - Network accessline 17
}, "runninghub": { "base_url": "https://www.runninghub.cn/openapi/v2", - Network accessline 18
[Credential-related source omitted] - Network accessline 19
"base_url": "https://www.runninghub.cn/openapi/v2", - Access to secretsline 20
[Credential-related source omitted]
image-generator/examples.py
- Executable scriptline 1
#!/usr/bin/env python3
image-generator/generate_image.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 181
[Credential-related source omitted] - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 190
[Credential-related source omitted] - Network accessline 204
for attempt in range(max_retries): try: response = requests.post( - Network accessline 205
try: response = requests.post( f"{base_url}v1/images/generations", - Network accessline 206
response = requests.post( - Network accessline 230
try: result = requests.get( - Network accessline 231
result = requests.get( - Possible obfuscationline 291
image_bytes = base64.b64decode(data) - Access to secretsline 329
[Credential-related source omitted] - Access to secretsline 333
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Network accessline 399
if not api_url: api_url = ( "https://generativelanguage.googleapis.com/v1beta/" - Network accessline 400
api_url = ( "https://generativelanguage.googleapis.com/v1beta/" f"{normalized_model}:generateContent" - Network accessline 401
"https://generativelanguage.googleapis.com/v1beta/" - Network accessline 402
f"{normalized_model}:generateContent" ) response = requests.post( - Network accessline 403
) response = requests.post( api_url, - Network accessline 404
response = requests.post( - Access to secretsline 406
[Credential-related source omitted] - Possible obfuscationline 426
image = Image.open(BytesIO(base64.b64decode(data))) - Network accessline 456
base_url = self.api_config.get("base_url", "https://www.runninghub.cn/openapi/v2").rstrip("/") - Access to secretsline 457
[Credential-related source omitted] - Access to secretsline 464
[Credential-related source omitted] - Access to secretsline 469
[Credential-related source omitted] - Network accessline 481
for attempt in range(max_retries): try: response = requests.post( - Network accessline 482
try: response = requests.post( api_url, - Network accessline 483
response = requests.post( - Network accessline 534
result = requests.post( - Network accessline 567
response = requests.get(image_url, timeout=30)
image-generator/tests/test_reference_image.py
- Executable scriptline 1
Executable file - Network accessline 37
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Network accessline 38
"model": "gemini-test-image", "api_url": "https://example.test/generateContent", } - Network accessline 39
"api_url": "https://example.test/generateContent", - Network accessline 72
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Network accessline 73
"model": "gemini-test-image", "api_url": "https://example.test/generateContent", "timeout": 10 - Network accessline 74
"api_url": "https://example.test/generateContent", - Access to secretsline 114
[Credential-related source omitted]
quark-mswnlz-publisher/CLOUDFLARE_MIGRATION.md
- Network accessline 46
passed. The browser search for `AI` returned resource and archive results. - Gitee backup `5e8620791490505fbe34d03226ab09cac2df253d` includes the updated guide. - Python urllib probes received Cloudflare 1010 while curl succeeded. Verificat - Network accessline 47
- Gitee backup `5e8620791490505fbe34d03226ab09cac2df253d` includes the updated guide. - Python urllib probes received Cloudflare 1010 while curl succeeded. Verification now uses curl without weakening zone security; API tokens are passed - Network accessline 48
- Python urllib probes received Cloudflare 1010 while curl succeeded. Verification - Network accessline 49
now uses curl without weakening zone security; API tokens are passed on stdin.
quark-mswnlz-publisher/README.md
- Network accessline 17
👉 [YouTube 视频教程](https://youtu.be/s1RhLDOGOfQ) - Network accessline 21
👉 [Twitter/X 文字教程](https://x.com/gxjdian/status/2032766709711712491) - Network accessline 90
基于 [ihmily/QuarkPanTool](https://github.com/ihmily/QuarkPanTool),本项目对其进行了扩展。 - Network accessline 93
cd /path/to/project git clone https://github.com/ihmily/QuarkPanTool.git - Network accessline 94
git clone https://github.com/ihmily/QuarkPanTool.git - Network accessline 118
百度网盘转存依赖 [BaiduPCS-Go](https://github.com/qjfoidnh/BaiduPCS-Go)。 - Network accessline 136
阿里云盘转存依赖 [aligo](https://github.com/foyoux/aligo)。 - Network accessline 244
[ {"title": "300集口语动画", "url": "https://pan.quark.cn/s/xxx"}, - Network accessline 245
{"title": "300集口语动画", "url": "https://pan.quark.cn/s/xxx"}, - Network accessline 246
{"title": "泰坦尼克号 4K", "url": "https://pan.quark.cn/s/yyy"}, - Network accessline 247
{"title": "mixed resource", "urls": [ "https://pan.quark.cn/s/quark_link", - Network accessline 248
"urls": [ "https://pan.quark.cn/s/quark_link", "https://pan.baidu.com/s/baidu_link?pwd=xxxx" - Network accessline 249
"https://pan.quark.cn/s/quark_link", - Network accessline 250
"https://pan.baidu.com/s/baidu_link?pwd=xxxx" - Network accessline 609
- **QuarkPanTool**:https://github.com/ihmily/QuarkPanTool - Network accessline 610
- **BaiduPCS-Go**:https://github.com/qjfoidnh/BaiduPCS-Go - Network accessline 611
- **aligo**:https://github.com/foyoux/aligo - Network accessline 612
- **资源总站**:https://doc.869hr.uk(Cloudflare Pages) - Network accessline 613
- **站点地址**:https://doc.869hr.uk - Network accessline 614
- **Skills 仓库**:https://github.com/wlzh/skills - Network accessline 615
- **Telegram 频道**:https://t.me/dabaziyuan
quark-mswnlz-publisher/SKILL.md
- Network accessline 160
[【资源运营神器Skills】完全开源,夸克网盘+GitHub一条龙全自动发布工具!转存、归类、TG通知、站点更新一键搞定!](https://youtu.be/s1RhLDOGOfQ) - Network accessline 164
[Twitter/X 教程帖子](https://x.com/gxjdian/status/2032766709711712491) - Access to secretsline 196
[Credential-related source omitted] - Network accessline 330
- 所有分享链接(含提取码) - 每个项目的目标内容目录 + 文件路径 - 部署 URL(https://doc869hr.pages.dev) - Network accessline 331
- 每个项目的目标内容目录 + 文件路径 - 部署 URL(https://doc869hr.pages.dev) - 站点 URL(https://doc.869hr.uk) - Network accessline 332
- 部署 URL(https://doc869hr.pages.dev) - Network accessline 333
- 站点 URL(https://doc.869hr.uk) - Network accessline 347
------------------------------ • 2026.3.3小说合集推荐 🔗 https://pan.quark.cn/s/xxx?pwd=xxx - Network accessline 349
🔗 https://pan.quark.cn/s/xxx?pwd=xxx - Network accessline 351
======================================== 🌐 资料总站:https://doc.869hr.uk - Network accessline 352
🌐 资料总站:https://doc.869hr.uk - Network accessline 498
"title": "樊登讲书2026年合集【全网最新】", "urls": [ "https://pan.quark.cn/s/7f6be305d850", - Network accessline 499
"urls": [ "https://pan.quark.cn/s/7f6be305d850", "https://pan.baidu.com/s/1YHBDynfOKAkxpEjQzDq0Gg?pwd=L6kA" - Network accessline 500
"https://pan.quark.cn/s/7f6be305d850", - Network accessline 501
"https://pan.baidu.com/s/1YHBDynfOKAkxpEjQzDq0Gg?pwd=L6kA" - Network accessline 509
{ "title": "泰坦尼克号", "url": "https://pan.quark.cn/s/c2bf2c29b114" - Network accessline 510
"title": "泰坦尼克号", "url": "https://pan.quark.cn/s/c2bf2c29b114" } - Network accessline 511
"url": "https://pan.quark.cn/s/c2bf2c29b114" - Network accessline 557
# 下载 BaiduPCS-Go v4.0.1+ # https://github.com/qjfoidnh/BaiduPCS-Go/releases - Network accessline 558
# https://github.com/qjfoidnh/BaiduPCS-Go/releases # macOS ARM64 版本: wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v4.0.1/BaiduPCS-Go-v4.0.1-darwin-arm64.zip - Network accessline 559
# macOS ARM64 版本: wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v4.0.1/BaiduPCS-Go-v4.0.1-darwin-arm64.zip unzip BaiduPCS-Go-v4.0.1-darwin-arm64.zip - Network accessline 560
wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v4.0.1/BaiduPCS-Go-v4.0.1-darwin-arm64.zip
quark-mswnlz-publisher/promo_files/0_双击获取解压密码_Mac系统双击这里.webloc
- Network accessline 1
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 2
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 4
<dict> <key>URL</key> <string>https://869hr.uk/2025/online-earning/netdisk-passwd/</string> - Network accessline 5
<key>URL</key> <string>https://869hr.uk/2025/online-earning/netdisk-passwd/</string> </dict> - Network accessline 6
<string>https://869hr.uk/2025/online-earning/netdisk-passwd/</string>
quark-mswnlz-publisher/promo_files/0_双击获取解压密码_windows系统双击这里.url
quark-mswnlz-publisher/promo_files/1_解压密码869hr_uk_移动端双击这里.html
- Network accessline 1
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="refresh" content="5;url=https://ai123.869hr.uk/" /><meta name="google-site-verification" content="KQBDEAxNVDUJgZUDG_5fahb4eOIsCztOiglKmB3hXsk"><meta http-equiv= - Network accessline 74
}, scriptConfig.delay); }); })();</script><script>!function(){function e(e){return new Promise((o,t)=>{new FontFace("Font Awesome 6 Free",`url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/${e.file})`,{weight:e.weight - Network accessline 76
})();</script><script>!function(){function e(e){return new Promise((o,t)=>{new FontFace("Font Awesome 6 Free",`url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/${e.file})`,{weight:e.weight,display:"swap"}).load().then(
quark-mswnlz-publisher/promo_files/必看免责声明_及加入资源分享群_及_副业_0_成本赚钱教程_资源网站doc_869hr_uk.txt
- Network accessline 1
副业 0 成本赚钱教程:夸克网盘搬砖实战:收益揭秘与完整教程,请收藏,文章内容会持续更新,右边地址→复制到浏览器打开:https://s.869hr.uk/jzp - Network accessline 4
获取更多,不断更新的资源加入群: 1. 微信群:扫微信二维码加入微信资源分享群,https://qr.869hr.uk/resource ,或者加微信ID:gxjdian 入群 - Network accessline 5
1. 微信群:扫微信二维码加入微信资源分享群,https://qr.869hr.uk/resource ,或者加微信ID:gxjdian 入群 - Network accessline 6
2. QQ群号:1041415822,入群验证密码:869hr.uk 1. telegram资源分享群:https://t.me/tgmknow或者加telegram ID:gxjdian 入群 2. 夸克资源分享群,打开夸克,输入夸克群号:2122364648 - Network accessline 7
1. telegram资源分享群:https://t.me/tgmknow或者加telegram ID:gxjdian 入群 - Network accessline 11
各种资料、知识、影视、记录片、音乐、书籍、媒体聚集地,持续整理中, 超过 100T资料,汇总页:https://doc.869hr.uk - Network accessline 12
超过 100T资料,汇总页:https://doc.869hr.uk - Network accessline 13
https://github.com/kingcolixhs-max
quark-mswnlz-publisher/scripts/batch_share_results.json
- Network accessline 7
"title": "10万册书籍合集", "urls": [ "https://pan.quark.cn/s/033c2470e4e3" - Network accessline 8
"urls": [ "https://pan.quark.cn/s/033c2470e4e3" ] - Network accessline 9
"https://pan.quark.cn/s/033c2470e4e3" - Network accessline 13
"title": "2016-2025年精选优质书籍", "urls": [ "https://pan.quark.cn/s/fde2f9206e3b" - Network accessline 14
"urls": [ "https://pan.quark.cn/s/fde2f9206e3b" ] - Network accessline 15
"https://pan.quark.cn/s/fde2f9206e3b" - Network accessline 19
"title": "个人收藏 书籍 杂志", "urls": [ "https://pan.quark.cn/s/b7c294f6a3a2" - Network accessline 20
"urls": [ "https://pan.quark.cn/s/b7c294f6a3a2" ] - Network accessline 21
"https://pan.quark.cn/s/b7c294f6a3a2" - Network accessline 25
"title": "中华书局|四部备要(全100册)", "urls": [ "https://pan.quark.cn/s/00041e9ff038" - Network accessline 26
"urls": [ "https://pan.quark.cn/s/00041e9ff038" ] - Network accessline 27
"https://pan.quark.cn/s/00041e9ff038" - Network accessline 31
"title": "显化_心想事成的方法", "urls": [ "https://pan.quark.cn/s/19879f880b1b" - Network accessline 32
"urls": [ "https://pan.quark.cn/s/19879f880b1b" ] - Network accessline 33
"https://pan.quark.cn/s/19879f880b1b" - Network accessline 37
"title": "摄影类书籍大合集", "urls": [ "https://pan.quark.cn/s/de265aab60ec" - Network accessline 38
"urls": [ "https://pan.quark.cn/s/de265aab60ec" ] - Network accessline 39
"https://pan.quark.cn/s/de265aab60ec" - Network accessline 43
"title": "如何阅读一本书", "urls": [ "https://pan.quark.cn/s/0a972dda9b57" - Network accessline 44
"urls": [ "https://pan.quark.cn/s/0a972dda9b57" ] - Network accessline 45
"https://pan.quark.cn/s/0a972dda9b57" - Network accessline 49
"title": "心理学书籍301", "urls": [ "https://pan.quark.cn/s/419fa567063f" - Network accessline 50
"urls": [ "https://pan.quark.cn/s/419fa567063f" ] - Network accessline 51
"https://pan.quark.cn/s/419fa567063f" - Network accessline 55
"title": "豆瓣图书TOP250", "urls": [ "https://pan.quark.cn/s/ad8963d392c7" - Network accessline 56
"urls": [ "https://pan.quark.cn/s/ad8963d392c7" ] - Network accessline 57
"https://pan.quark.cn/s/ad8963d392c7" - Network accessline 61
"title": "古籍电子书专题【135GB】", "urls": [ "https://pan.quark.cn/s/9fee1f1ca77c" - Network accessline 62
"urls": [ "https://pan.quark.cn/s/9fee1f1ca77c" ] - Network accessline 63
"https://pan.quark.cn/s/9fee1f1ca77c" - Network accessline 67
"title": "全网稀有电子书大全套", "urls": [ "https://pan.quark.cn/s/5fed03e42c3e" - Network accessline 68
"urls": [ "https://pan.quark.cn/s/5fed03e42c3e" ] - Network accessline 69
"https://pan.quark.cn/s/5fed03e42c3e" - Network accessline 73
"title": "收集的电子书合集(1)", "urls": [ "https://pan.quark.cn/s/37dfc3303150" - Network accessline 74
"urls": [ "https://pan.quark.cn/s/37dfc3303150" ] - Network accessline 75
"https://pan.quark.cn/s/37dfc3303150" - Network accessline 79
"title": "厚黑学(全107讲)视频课", "urls": [ "https://pan.quark.cn/s/a0c9f97b7a8a" - Network accessline 80
"urls": [ "https://pan.quark.cn/s/a0c9f97b7a8a" ] - Network accessline 81
"https://pan.quark.cn/s/a0c9f97b7a8a" - Network accessline 85
"title": "【旁门左道】PPT教程大合集【视频课", "urls": [ "https://pan.quark.cn/s/83fff8737d46" - Network accessline 86
"urls": [ "https://pan.quark.cn/s/83fff8737d46" ] - Network accessline 87
"https://pan.quark.cn/s/83fff8737d46" - Network accessline 91
"title": "职场蔡老师《职场谋略100讲》视频课", "urls": [ "https://pan.quark.cn/s/889a44c8d51a" - Network accessline 92
"urls": [ "https://pan.quark.cn/s/889a44c8d51a" ] - Network accessline 93
"https://pan.quark.cn/s/889a44c8d51a" - Network accessline 97
"title": "【人人影视】全站电影合集600部", "urls": [ "https://pan.quark.cn/s/d3fb8d995a4f" - Network accessline 98
"urls": [ "https://pan.quark.cn/s/d3fb8d995a4f" ] - Network accessline 99
"https://pan.quark.cn/s/d3fb8d995a4f" - Network accessline 106
"title": "2016-2025年精选优质书籍", "links": { "quark": "https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn" - Network accessline 107
"links": { "quark": "https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn" }, - Network accessline 108
"quark": "https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn" - Network accessline 109
}, "share_url": "https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn" }, - Network accessline 110
"share_url": "https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn" - Network accessline 114
"title": "个人收藏 书籍 杂志", "links": { "quark": "https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4" - Network accessline 115
"links": { "quark": "https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4" }, - Network accessline 116
"quark": "https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4" - Network accessline 117
}, "share_url": "https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4" }, - Network accessline 118
"share_url": "https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4" - Network accessline 122
"title": "中华书局|四部备要(全100册)", "links": { "quark": "https://pan.quark.cn/s/86774513a445?pwd=mFdD" - Network accessline 123
"links": { "quark": "https://pan.quark.cn/s/86774513a445?pwd=mFdD" }, - Network accessline 124
"quark": "https://pan.quark.cn/s/86774513a445?pwd=mFdD" - Network accessline 125
}, "share_url": "https://pan.quark.cn/s/86774513a445?pwd=mFdD" }, - Network accessline 126
"share_url": "https://pan.quark.cn/s/86774513a445?pwd=mFdD" - Network accessline 130
"title": "显化_心想事成的方法", "links": { "quark": "https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg" - Network accessline 131
"links": { "quark": "https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg" }, - Network accessline 132
"quark": "https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg" - Network accessline 133
}, "share_url": "https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg" }, - Network accessline 134
"share_url": "https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg" - Network accessline 138
"title": "摄影类书籍大合集", "links": { "quark": "https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu" - Network accessline 139
"links": { "quark": "https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu" }, - Network accessline 140
"quark": "https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu" - Network accessline 141
}, "share_url": "https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu" }, - Network accessline 142
"share_url": "https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu" - Network accessline 146
"title": "如何阅读一本书", "links": { "quark": "https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO" - Network accessline 147
"links": { "quark": "https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO" }, - Network accessline 148
"quark": "https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO" - Network accessline 149
}, "share_url": "https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO" }, - Network accessline 150
"share_url": "https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO" - Network accessline 154
"title": "心理学书籍301", "links": { "quark": "https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl" - Network accessline 155
"links": { "quark": "https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl" }, - Network accessline 156
"quark": "https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl" - Network accessline 157
}, "share_url": "https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl" }, - Network accessline 158
"share_url": "https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl" - Network accessline 162
"title": "豆瓣图书TOP250", "links": { "quark": "https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk" - Network accessline 163
"links": { "quark": "https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk" }, - Network accessline 164
"quark": "https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk" - Network accessline 165
}, "share_url": "https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk" }, - Network accessline 166
"share_url": "https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk" - Network accessline 170
"title": "古籍电子书专题【135GB】", "links": { "quark": "https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS" - Network accessline 171
"links": { "quark": "https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS" }, - Network accessline 172
"quark": "https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS" - Network accessline 173
}, "share_url": "https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS" }, - Network accessline 174
"share_url": "https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS" - Network accessline 178
"title": "全网稀有电子书大全套", "links": { "quark": "https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy" - Network accessline 179
"links": { "quark": "https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy" }, - Network accessline 180
"quark": "https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy" - Network accessline 181
}, "share_url": "https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy" }, - Network accessline 182
"share_url": "https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy" - Network accessline 186
"title": "收集的电子书合集(1)", "links": { "quark": "https://pan.quark.cn/s/16b2366097ce?pwd=w2uX" - Network accessline 187
"links": { "quark": "https://pan.quark.cn/s/16b2366097ce?pwd=w2uX" }, - Network accessline 188
"quark": "https://pan.quark.cn/s/16b2366097ce?pwd=w2uX" - Network accessline 189
}, "share_url": "https://pan.quark.cn/s/16b2366097ce?pwd=w2uX" }, - Network accessline 190
"share_url": "https://pan.quark.cn/s/16b2366097ce?pwd=w2uX" - Network accessline 194
"title": "厚黑学(全107讲)视频课", "links": { "quark": "https://pan.quark.cn/s/15961d8df831?pwd=3KKg" - Network accessline 195
"links": { "quark": "https://pan.quark.cn/s/15961d8df831?pwd=3KKg" }, - Network accessline 196
"quark": "https://pan.quark.cn/s/15961d8df831?pwd=3KKg" - Network accessline 197
}, "share_url": "https://pan.quark.cn/s/15961d8df831?pwd=3KKg" }, - Network accessline 198
"share_url": "https://pan.quark.cn/s/15961d8df831?pwd=3KKg" - Network accessline 202
"title": "【旁门左道】PPT教程大合集【视频课", "links": { "quark": "https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP" - Network accessline 203
"links": { "quark": "https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP" }, - Network accessline 204
"quark": "https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP" - Network accessline 205
}, "share_url": "https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP" }, - Network accessline 206
"share_url": "https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP" - Network accessline 210
"title": "职场蔡老师《职场谋略100讲》视频课", "links": { "quark": "https://pan.quark.cn/s/34cea0499349?pwd=v5d3" - Network accessline 211
"links": { "quark": "https://pan.quark.cn/s/34cea0499349?pwd=v5d3" }, - Network accessline 212
"quark": "https://pan.quark.cn/s/34cea0499349?pwd=v5d3" - Network accessline 213
}, "share_url": "https://pan.quark.cn/s/34cea0499349?pwd=v5d3" }, - Network accessline 214
"share_url": "https://pan.quark.cn/s/34cea0499349?pwd=v5d3" - Network accessline 218
"title": "【人人影视】全站电影合集600部", "links": { "quark": "https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P" - Network accessline 219
"links": { "quark": "https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P" }, - Network accessline 220
"quark": "https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P" - Network accessline 221
}, "share_url": "https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P" } - Network accessline 222
"share_url": "https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P"
quark-mswnlz-publisher/scripts/batch_share_results_quark_codex.json
- Network accessline 5
{ "title": "Codex全场景实操课,自动化办公+网站开发+避坑指南", "input_url": "https://pan.quark.cn/s/7a4c10a5e8d2" - Network accessline 6
"title": "Codex全场景实操课,自动化办公+网站开发+避坑指南", "input_url": "https://pan.quark.cn/s/7a4c10a5e8d2" } - Network accessline 7
"input_url": "https://pan.quark.cn/s/7a4c10a5e8d2" - Network accessline 13
"fid": "cadf6453adff4694b4ca6839b303f29b", "share_id": "6d7efc5486d44286b6b490a8d6548e82", "share_url": "https://pan.quark.cn/s/5c78101d4b68?pwd=m4Es" - Network accessline 14
"share_id": "6d7efc5486d44286b6b490a8d6548e82", "share_url": "https://pan.quark.cn/s/5c78101d4b68?pwd=m4Es" } - Network accessline 15
"share_url": "https://pan.quark.cn/s/5c78101d4b68?pwd=m4Es"
quark-mswnlz-publisher/scripts/cleanup_junk_files.py
- Executable scriptline 1
Executable file
quark-mswnlz-publisher/scripts/combined_group_message.txt
- Network accessline 5
------------------------------ • 2016-2025年精选优质书籍 🔗 https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn - Network accessline 6
• 2016-2025年精选优质书籍 🔗 https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn • 个人收藏 书籍 杂志 - Network accessline 7
🔗 https://pan.quark.cn/s/8f59ebea3f99?pwd=qbTn - Network accessline 8
• 个人收藏 书籍 杂志 🔗 https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4 • 中华书局|四部备要(全100册) - Network accessline 9
🔗 https://pan.quark.cn/s/1a53d354a75b?pwd=b2z4 - Network accessline 10
• 中华书局|四部备要(全100册) 🔗 https://pan.quark.cn/s/86774513a445?pwd=mFdD • 显化_心想事成的方法 - Network accessline 11
🔗 https://pan.quark.cn/s/86774513a445?pwd=mFdD - Network accessline 12
• 显化_心想事成的方法 🔗 https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg • 摄影类书籍大合集 - Network accessline 13
🔗 https://pan.quark.cn/s/b3fd8d264db6?pwd=olAg - Network accessline 14
• 摄影类书籍大合集 🔗 https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu • 如何阅读一本书 - Network accessline 15
🔗 https://pan.quark.cn/s/0ce8923e027e?pwd=tMhu - Network accessline 16
• 如何阅读一本书 🔗 https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO • 心理学书籍301 - Network accessline 17
🔗 https://pan.quark.cn/s/7aa8add4cdf8?pwd=kaZO - Network accessline 18
• 心理学书籍301 🔗 https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl • 豆瓣图书TOP250 - Network accessline 19
🔗 https://pan.quark.cn/s/0eb263d4c3bc?pwd=GSgl - Network accessline 20
• 豆瓣图书TOP250 🔗 https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk • 古籍电子书专题【135GB】 - Network accessline 21
🔗 https://pan.quark.cn/s/5353a21c2922?pwd=5Zhk - Network accessline 22
• 古籍电子书专题【135GB】 🔗 https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS • 全网稀有电子书大全套 - Network accessline 23
🔗 https://pan.quark.cn/s/c2c63a6dd38a?pwd=d5LS - Network accessline 24
• 全网稀有电子书大全套 🔗 https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy • 收集的电子书合集(1) - Network accessline 25
🔗 https://pan.quark.cn/s/9d39275e1a3a?pwd=fOJy - Network accessline 26
• 收集的电子书合集(1) 🔗 https://pan.quark.cn/s/16b2366097ce?pwd=w2uX • 厚黑学(全107讲)视频课 - Network accessline 27
🔗 https://pan.quark.cn/s/16b2366097ce?pwd=w2uX - Network accessline 28
• 厚黑学(全107讲)视频课 🔗 https://pan.quark.cn/s/15961d8df831?pwd=3KKg • 【旁门左道】PPT教程大合集【视频课 - Network accessline 29
🔗 https://pan.quark.cn/s/15961d8df831?pwd=3KKg - Network accessline 30
• 【旁门左道】PPT教程大合集【视频课 🔗 https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP • 职场蔡老师《职场谋略100讲》视频课 - Network accessline 31
🔗 https://pan.quark.cn/s/dd157fdc037a?pwd=yjzP - Network accessline 33
🔗 https://pan.quark.cn/s/34cea0499349?pwd=v5d3 - Network accessline 36
------------------------------ • 【人人影视】全站电影合集600部 🔗 https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P - Network accessline 38
🔗 https://pan.quark.cn/s/1e7926661fd7?pwd=5L6P - Network accessline 40
======================================== 🌐 资料总站:https://doc.869hr.uk - Network accessline 41
🌐 资料总站:https://doc.869hr.uk
quark-mswnlz-publisher/scripts/copy_promo_to_folders.py
- Executable scriptline 1
Executable file - Network accessline 56
self.headers = headers or { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36', 'origin': 'https://pan.quark.cn', - Network accessline 57
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36', 'origin': 'https://pan.quark.cn', 'referer': 'https://pan.quark.cn/', - Network accessline 58
'origin': 'https://pan.quark.cn', - Network accessline 59
'referer': 'https://pan.quark.cn/', - Network accessline 69
api = "https://drive-pc.quark.cn/1/clouddrive/file/sort" - Network accessline 92
api = "https://drive-pc.quark.cn/1/clouddrive/file/copy" - Network accessline 146
async with httpx.AsyncClient(timeout=60.0) as client:
quark-mswnlz-publisher/scripts/deep_scan_junk.py
- Executable scriptline 1
Executable file
quark-mswnlz-publisher/scripts/deploy_cloudflare_pages.sh
- Executable scriptline 1
#!/bin/bash - Access to secretsline 23
[Credential-related source omitted] - Dangerous shell operationline 57
[ -e "content-source/$repo" ] || { rm -f "content-source/$repo"; ln -s "$base/$repo" "content-source/$repo"; } - Dangerous shell operationline 59
[ -e "content-source/duanku-guides" ] || { rm -f "content-source/duanku-guides"; ln -s "/Users/m/document/QNSZ/project/Hexo-BLog/duanku-guides" "content-source/duanku-guides"; } - Network accessline 63
ensure_proxy() { if [ -z "${https_proxy:-}${HTTPS_PROXY:-}" ] && nc -z 127.0.0.1 7798 2>/dev/null; then - Network accessline 64
if [ -z "${https_proxy:-}${HTTPS_PROXY:-}" ] && nc -z 127.0.0.1 7798 2>/dev/null; then - Network accessline 65
export https_proxy=http://127.0.0.1:7798 http_proxy=http://127.0.0.1:7798 - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted] - Network accessline 91
local current_month url text current_month=$(date +'%Y%m') url="https://doc.869hr.uk" - Network accessline 92
current_month=$(date +'%Y%m') url="https://doc.869hr.uk" text=$'🌐 资源站已更新上线\n\n🔗 总站:'"${url}"$'\n📦 资料频道:https://t.me/dabaziyuan' - Network accessline 93
url="https://doc.869hr.uk" text=$'🌐 资源站已更新上线\n\n🔗 总站:'"${url}"$'\n📦 资料频道:https://t.me/dabaziyuan' curl -s -X POST "https://api.telegram.org/bot${bot_token}/sendMessage" \ - Network accessline 94
text=$'🌐 资源站已更新上线\n\n🔗 总站:'"${url}"$'\n📦 资料频道:https://t.me/dabaziyuan' curl -s -X POST "https://api.telegram.org/bot${bot_token}/sendMessage" \ --data-urlencode "chat_id=${channel}" \ - Network accessline 95
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Network accessline 96
--data-urlencode "chat_id=${channel}" \ --data-urlencode "text=${text}" >/dev/null \ && echo "[notify] 频道通知已发送 (${channel})" \ - Network accessline 97
--data-urlencode "text=${text}" >/dev/null \ - Dangerous shell operationline 147
trap 'rm -rf "$DEPLOY_WORK_DIR"' EXIT - Network accessline 156
python3 "$SCRIPT_DIR/verify_pages_release.py" --verify docs/.vitepress/dist echo "=== 正式域名已验证:https://doc.869hr.uk" - Network accessline 157
echo "=== 正式域名已验证:https://doc.869hr.uk"
quark-mswnlz-publisher/scripts/export_excel.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 27
SITE = "https://doc.869hr.uk" - Network accessline 28
BLOG = "https://869hr.uk" - Network accessline 67
("资源总站", SITE), ("博客", BLOG), ("YouTube", "https://youtube.com/@gxjdian"), - Network accessline 68
("博客", BLOG), ("YouTube", "https://youtube.com/@gxjdian"), ("联系邮箱", "gxjdian@gmail.com"), - Network accessline 69
("YouTube", "https://youtube.com/@gxjdian"), - Network accessline 71
("", ""), ("【加入我们】", ""), ("Telegram 频道", "https://t.me/dabaziyuan"), - Network accessline 72
("【加入我们】", ""), ("Telegram 频道", "https://t.me/dabaziyuan"), ("Telegram 群", "https://t.me/tgmShareAI"), - Network accessline 73
("Telegram 频道", "https://t.me/dabaziyuan"), - Network accessline 74
("Telegram 群", "https://t.me/tgmShareAI"), - Network accessline 75
("Telegram 群(备用)", "https://t.me/tgmknow 或加 Telegram ID:gxjdian"), - Network accessline 76
("微信群", "https://qr.869hr.uk/resource 或加微信 ID:gxjdian"),
quark-mswnlz-publisher/scripts/extract_items.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 7
支持的文本写法(同一份文本里可混用): 1. 标题行 + 链接行 「XXX」\n链接:https://pan.quark.cn/s/xxx - Network accessline 8
1. 标题行 + 链接行 「XXX」\n链接:https://pan.quark.cn/s/xxx - Network accessline 9
2. 标题行 + 裸链接 XXX\nhttps://pan.quark.cn/s/xxx - Network accessline 10
3. 管道行 XXX | https://pan.quark.cn/s/xxx - Network accessline 11
4. Markdown 链接 [XXX](https://pan.quark.cn/s/xxx) - Network accessline 12
5. 带 🔗 等前缀的链接行 🔗https://pan.quark.cn/s/xxx - Network accessline 173
continue try: req = urllib.request.Request( - Network accessline 174
try: req = urllib.request.Request( 'https://pan.quark.cn/1/clouddrive/share/sharepage/token?pr=ucpro&fr=pc', - Network accessline 175
req = urllib.request.Request( - Network accessline 176
'https://pan.quark.cn/1/clouddrive/share/sharepage/token?pr=ucpro&fr=pc', - Network accessline 197
ap.add_argument('--quark-titles', action='store_true', help='查夸克分享 API 取真实标题覆盖解析出的标题(需网络,可配 --proxy)') ap.add_argument('--proxy', default='http://127.0.0.1:7798', help='--quark-titles 用的代理') - Network accessline 198
help='查夸克分享 API 取真实标题覆盖解析出的标题(需网络,可配 --proxy)') ap.add_argument('--proxy', default='http://127.0.0.1:7798', help='--quark-titles 用的代理') args = ap.parse_args() - Network accessline 199
ap.add_argument('--proxy', default='http://127.0.0.1:7798', help='--quark-titles 用的代理')
quark-mswnlz-publisher/scripts/items.json
- Network accessline 1
[ {"title": "10万册书籍合集", "url": "https://pan.quark.cn/s/033c2470e4e3"}, - Network accessline 2
{"title": "10万册书籍合集", "url": "https://pan.quark.cn/s/033c2470e4e3"}, - Network accessline 3
{"title": "2016-2025年精选优质书籍", "url": "https://pan.quark.cn/s/fde2f9206e3b"}, - Network accessline 4
{"title": "个人收藏 书籍 杂志", "url": "https://pan.quark.cn/s/b7c294f6a3a2"}, - Network accessline 5
{"title": "中华书局|四部备要(全100册)", "url": "https://pan.quark.cn/s/00041e9ff038"}, - Network accessline 6
{"title": "显化_心想事成的方法", "url": "https://pan.quark.cn/s/19879f880b1b"}, - Network accessline 7
{"title": "摄影类书籍大合集", "url": "https://pan.quark.cn/s/de265aab60ec"}, - Network accessline 8
{"title": "如何阅读一本书", "url": "https://pan.quark.cn/s/0a972dda9b57"}, - Network accessline 9
{"title": "心理学书籍301", "url": "https://pan.quark.cn/s/419fa567063f"}, - Network accessline 10
{"title": "豆瓣图书TOP250", "url": "https://pan.quark.cn/s/ad8963d392c7"}, - Network accessline 11
{"title": "古籍电子书专题【135GB】", "url": "https://pan.quark.cn/s/9fee1f1ca77c"}, - Network accessline 12
{"title": "全网稀有电子书大全套", "url": "https://pan.quark.cn/s/5fed03e42c3e"}, - Network accessline 13
{"title": "收集的电子书合集(1)", "url": "https://pan.quark.cn/s/37dfc3303150"}, - Network accessline 14
{"title": "厚黑学(全107讲)视频课", "url": "https://pan.quark.cn/s/a0c9f97b7a8a"}, - Network accessline 15
{"title": "【旁门左道】PPT教程大合集【视频课", "url": "https://pan.quark.cn/s/83fff8737d46"}, - Network accessline 16
{"title": "职场蔡老师《职场谋略100讲》视频课", "url": "https://pan.quark.cn/s/889a44c8d51a"}, - Network accessline 17
{"title": "【人人影视】全站电影合集600部", "url": "https://pan.quark.cn/s/d3fb8d995a4f"}
quark-mswnlz-publisher/scripts/items.json.bak.20260724-124217
- Network accessline 1
[ {"title": "财新周刊2026年", "url": "https://pan.quark.cn/s/4aea170c382a"}, - Network accessline 2
{"title": "财新周刊2026年", "url": "https://pan.quark.cn/s/4aea170c382a"}, - Network accessline 3
{"title": "绘本故事2000精选合集小故事", "url": "https://pan.quark.cn/s/f97188879889"}, - Network accessline 4
{"title": "潜能宇哥 健身系统训练自学课程", "url": "https://pan.quark.cn/s/0ac339b96e62"}, - Network accessline 5
{"title": "认知论 新思考", "url": "https://pan.quark.cn/s/724e6cdd8bd0"}, - Network accessline 6
{"title": "世界现代兵器库套装", "url": "https://pan.quark.cn/s/e1522cdff186"}, - Network accessline 7
{"title": "小红书爆文底层逻全解析辑实战指南", "url": "https://pan.quark.cn/s/f62b3ec74835"}, - Network accessline 8
{"title": "职场江湖:那些不为人知的故事10册", "url": "https://pan.quark.cn/s/74164fb0a549"}, - Network accessline 9
{"title": "百家讲坛 七周年珍藏版TXT", "url": "https://pan.quark.cn/s/06001a51ecbc"}, - Network accessline 10
{"title": "关键时刻,命该怎么救", "url": "https://pan.quark.cn/s/1869d6eb9d0a"}, - Network accessline 11
{"title": "穿墙透壁", "url": "https://pan.quark.cn/s/7fa896fc4aee"}, - Network accessline 12
{"title": "知乎单篇回答合集2600多篇", "url": "https://pan.quark.cn/s/8a67573afe19"}, - Network accessline 13
{"title": "海量书籍", "url": "https://pan.quark.cn/s/5ddb65869e13"}
quark-mswnlz-publisher/scripts/items_quark_codex.json
quark-mswnlz-publisher/scripts/mswnlz_publish.py
- Executable scriptline 1
Executable file - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Network accessline 357
text = f"📦 新增资源推送\n\n{items_text}\n\n已更新仓库:{repos_str}\n\n🔗 查看详情:https://doc.869hr.uk/{updated_repos[0]}/{month}\n🌐 资料总站:https://doc.869hr.uk\n📦 资料频道:https://t.me/dabaziyuan" - Network accessline 359
for group in TELEGRAM_GROUPS: url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" - Network accessline 360
url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" - Network accessline 368
try: req = urllib.request.Request( - Network accessline 369
req = urllib.request.Request( - Network accessline 372
method="POST" ) with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 373
) with urllib.request.urlopen(req, timeout=10) as resp: result = json.loads(resp.read().decode("utf-8")) - Network accessline 374
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 413
lines.append("") lines.append("=" * 40) lines.append(f"🌐 资料总站:https://doc.869hr.uk") - Network accessline 414
lines.append("=" * 40) lines.append(f"🌐 资料总站:https://doc.869hr.uk") lines.append(f"📂 批次文件夹:{batch_folder}") - Network accessline 415
lines.append(f"🌐 资料总站:https://doc.869hr.uk")
quark-mswnlz-publisher/scripts/pipeline_orchestrator.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 20
"title": "樊登讲书2026年合集", "urls": [ "https://pan.quark.cn/s/xxx", - Network accessline 21
"urls": [ "https://pan.quark.cn/s/xxx", "https://pan.baidu.com/s/xxx?pwd=xxx" - Network accessline 22
"https://pan.quark.cn/s/xxx", - Network accessline 23
"https://pan.baidu.com/s/xxx?pwd=xxx" - Network accessline 26
{ "title": "泰坦尼克号", "url": "https://pan.quark.cn/s/xxx" - Network accessline 27
"title": "泰坦尼克号", "url": "https://pan.quark.cn/s/xxx" } - Network accessline 28
"url": "https://pan.quark.cn/s/xxx" - Access to secretsline 154
[Credential-related source omitted]
quark-mswnlz-publisher/scripts/quark_account_rotator.py
- Executable scriptline 1
#!/usr/bin/env python3
quark-mswnlz-publisher/scripts/quark_batch_run.py
- Executable scriptline 1
Executable file - Network accessline 23
items.json format: [ {"title": "xxx", "url": "https://pan.quark.cn/s/...."}, - Network accessline 24
[ {"title": "xxx", "url": "https://pan.quark.cn/s/...."}, ... - Network accessline 25
{"title": "xxx", "url": "https://pan.quark.cn/s/...."}, - Access to secretsline 49
[Credential-related source omitted]
quark-mswnlz-publisher/scripts/quark_copy.py
- Executable scriptline 1
Executable file - Network accessline 29
api = "https://drive-pc.quark.cn/1/clouddrive/file/sort" - Network accessline 45
async with httpx.AsyncClient() as client: - Network accessline 69
api = "https://drive-pc.quark.cn/1/clouddrive/file/sort" - Network accessline 81
async with httpx.AsyncClient() as client: - Network accessline 92
api = "https://drive-pc.quark.cn/1/clouddrive/file/copy" - Network accessline 107
async with httpx.AsyncClient() as client: - Network accessline 108
timeout = httpx.Timeout(60.0, connect=60.0)
quark-mswnlz-publisher/scripts/quark_group_message.txt
- Network accessline 5
------------------------------ • 0526 🔗 https://pan.quark.cn/s/29007f6f65fb?pwd=G492 - Network accessline 6
• 0526 🔗 https://pan.quark.cn/s/29007f6f65fb?pwd=G492 • 非凡精读0521自证预言【视频+音频+思维导图】 - Network accessline 7
🔗 https://pan.quark.cn/s/29007f6f65fb?pwd=G492 - Network accessline 8
• 非凡精读0521自证预言【视频+音频+思维导图】 🔗 https://pan.quark.cn/s/e39cb7904aa7?pwd=ErxJ • 非凡精读0519更富有、更睿智、更快乐【视频+音频+思维导图】 - Network accessline 9
🔗 https://pan.quark.cn/s/e39cb7904aa7?pwd=ErxJ - Network accessline 10
• 非凡精读0519更富有、更睿智、更快乐【视频+音频+思维导图】 🔗 https://pan.quark.cn/s/f01008fe71a6?pwd=HZpA • 非凡精读0518脆弱的家庭【视频+音频+思维导图】 - Network accessline 11
🔗 https://pan.quark.cn/s/f01008fe71a6?pwd=HZpA - Network accessline 12
• 非凡精读0518脆弱的家庭【视频+音频+思维导图】 🔗 https://pan.quark.cn/s/2fd7d795c341?pwd=LaT5 • 李蕾将经典0513米格尔街 - Network accessline 13
🔗 https://pan.quark.cn/s/2fd7d795c341?pwd=LaT5 - Network accessline 14
• 李蕾将经典0513米格尔街 🔗 https://pan.quark.cn/s/4c1b84846a72?pwd=7Rnp • 李蕾讲经典0520爱玛【视频+音频】 - Network accessline 15
🔗 https://pan.quark.cn/s/4c1b84846a72?pwd=7Rnp - Network accessline 16
• 李蕾讲经典0520爱玛【视频+音频】 🔗 https://pan.quark.cn/s/b27a84272fc3?pwd=hhGY • 樊登讲书0516为什么10倍增长比2倍更容易 - Network accessline 17
🔗 https://pan.quark.cn/s/b27a84272fc3?pwd=hhGY - Network accessline 18
• 樊登讲书0516为什么10倍增长比2倍更容易 🔗 https://pan.quark.cn/s/c90cb9e0acc3?pwd=Whcu • 樊登讲书0523《活着》【视频+音频+思维导图】 - Network accessline 19
🔗 https://pan.quark.cn/s/c90cb9e0acc3?pwd=Whcu - Network accessline 21
🔗 https://pan.quark.cn/s/853924496cd3?pwd=6PLr - Network accessline 23
======================================== 🌐 资料总站:https://doc.869hr.uk - Network accessline 24
🌐 资料总站:https://doc.869hr.uk
quark-mswnlz-publisher/scripts/remove_old_links.py
- Executable scriptline 1
Executable file
quark-mswnlz-publisher/scripts/test_publish_deployment_failure.py
- Executable scriptline 1
Executable file
quark-mswnlz-publisher/scripts/test_verify_pages_release.py
- Executable scriptline 1
Executable file - Network accessline 20
returncode=0, stdout=b"ok" )) as run: self.assertEqual(release.fetch("https://api.cloudflare.com/test", "private"), b"ok") - Network accessline 21
)) as run: self.assertEqual(release.fetch("https://api.cloudflare.com/test", "private"), b"ok") self.assertNotIn("private", " ".join(run.call_args.args[0])) - Network accessline 22
self.assertEqual(release.fetch("https://api.cloudflare.com/test", "private"), b"ok") - Network accessline 29
)): with self.assertRaises(RuntimeError): release.fetch("https://doc.869hr.uk/test") - Network accessline 31
release.fetch("https://doc.869hr.uk/test") - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted]
quark-mswnlz-publisher/scripts/trigger_site_rebuild.sh
- Executable scriptline 1
#!/bin/bash
quark-mswnlz-publisher/scripts/url_router.py
quark-mswnlz-publisher/scripts/verify_pages_release.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
[Credential-related source omitted] - Network accessline 17
# urllib's default client is rejected with Cloudflare 1010 on this site. # Keep the zone's security settings intact and use the installed curl client. - Network accessline 18
# Keep the zone's security settings intact and use the installed curl client. - Network accessline 21
[Credential-related source omitted] - Network accessline 22
result = subprocess.run( ["curl", "--fail", "--silent", "--show-error", "--max-time", "30", "--config", "-", url], - Network accessline 26
) if result.returncode: raise RuntimeError(f"HTTP probe failed for {url}: curl exit {result.returncode}") - Network accessline 27
if result.returncode: raise RuntimeError(f"HTTP probe failed for {url}: curl exit {result.returncode}") return result.stdout - Network accessline 28
raise RuntimeError(f"HTTP probe failed for {url}: curl exit {result.returncode}") - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 35
[Credential-related source omitted] - Network accessline 37
raise RuntimeError("Missing project API token") name = os.environ.get("CF_PAGES_PROJECT", "doc869hr") data = json.loads(fetch( - Network accessline 38
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Network accessline 39
data = json.loads(fetch( - Network accessline 40
f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT}/pages/projects/{name}", - Network accessline 72
try: for host in (info["subdomain"], DOMAIN): actual = fetch(f"https://{host}/{MARKER}?release={json.loads(expected)['release']}") - Network accessline 73
for host in (info["subdomain"], DOMAIN): actual = fetch(f"https://{host}/{MARKER}?release={json.loads(expected)['release']}") if actual != expected: - Network accessline 74
actual = fetch(f"https://{host}/{MARKER}?release={json.loads(expected)['release']}") - Network accessline 76
raise RuntimeError(f"Release mismatch on {host}") for path in ("/", "/guides/", "/sitemap.xml", "/resource-catalog.json"): if not fetch(f"https://{DOMAIN}{path}"): - Network accessline 77
for path in ("/", "/guides/", "/sitemap.xml", "/resource-catalog.json"): if not fetch(f"https://{DOMAIN}{path}"): raise RuntimeError(f"Empty response: {path}") - Network accessline 78
if not fetch(f"https://{DOMAIN}{path}"):
text-to-speech/CHANGELOG.md
- Access to secretsline 60
[Credential-related source omitted]
text-to-speech/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Access to secretsline 15
[Credential-related source omitted] - Network accessline 193
"minimax_tts": { "api_key_env": "MINIMAX_API_KEY", "endpoint": "https://api.minimaxi.com/v1/t2a_v2", - Network accessline 194
[Credential-related source omitted] - Access to secretsline 194
[Credential-related source omitted] - Network accessline 195
"endpoint": "https://api.minimaxi.com/v1/t2a_v2", - Network accessline 211
}, "kokoro_tts": { "api_url": "http://localhost:8880/v1/audio/speech", - Network accessline 212
"kokoro_tts": { "api_url": "http://localhost:8880/v1/audio/speech", "voice": "zm_009", - Network accessline 213
"api_url": "http://localhost:8880/v1/audio/speech", - Access to secretsline 243
[Credential-related source omitted] - Access to secretsline 250
[Credential-related source omitted] - Access to secretsline 276
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted]
text-to-speech/SKILL.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 135
[Credential-related source omitted] - Access to secretsline 141
[Credential-related source omitted] - Network accessline 176
# Web UI 试听 # http://localhost:8880/web/ - Network accessline 177
# http://localhost:8880/web/ - Network accessline 223
Kokoro TTS 运行在 `localhost:8880`。如果系统配置了 HTTP 代理(`http_proxy`/`https_proxy`),请求 localhost 会被代理拦截导致连接失败(curl 返回 HTTP 000)。 - Network accessline 226
[Credential-related source omitted] - Access to secretsline 226
[Credential-related source omitted] - Network accessline 227
- 如果 AI 需要直接用 `curl` 测试或调用 Kokoro API,**必须**加 `--noproxy localhost,127.0.0.1` 或设置 `no_proxy=localhost,127.0.0.1` - 如果 AI 直接写 Python `requests.post("http://localhost:8880/...")`,必须设置 `proxies={"http": None, "https": None}`,或使用 `requests.Sess - Network accessline 228
- 如果 AI 直接写 Python `requests.post("http://localhost:8880/...")`,必须设置 `proxies={"http": None, "https": None}`,或使用 `requests.Session(); session.trust_env = False`,并设置 `NO_PROXY/no_proxy=localhost,127.0.0.1,::1` - Network accessline 232
# 正确:绕过代理 curl --noproxy localhost,127.0.0.1 -X POST http://localhost:8880/v1/audio/speech ... - Network accessline 233
curl --noproxy localhost,127.0.0.1 -X POST http://localhost:8880/v1/audio/speech ... - Network accessline 235
# 错误:走了代理,返回 HTTP 000 curl -X POST http://localhost:8880/v1/audio/speech ... - Network accessline 236
curl -X POST http://localhost:8880/v1/audio/speech ... - Access to secretsline 241
[Credential-related source omitted]
text-to-speech/config/tts_config.json
- Network accessline 3
"minimax_tts": { "api_key_env": "MINIMAX_API_KEY", "endpoint": "https://api.minimaxi.com/v1/t2a_v2", - Network accessline 4
[Credential-related source omitted] - Access to secretsline 4
[Credential-related source omitted] - Network accessline 5
"endpoint": "https://api.minimaxi.com/v1/t2a_v2", - Network accessline 193
}, "kokoro_tts": { "api_url": "http://localhost:8880/v1/audio/speech", - Network accessline 194
"kokoro_tts": { "api_url": "http://localhost:8880/v1/audio/speech", "voice": "zm_009", - Network accessline 195
"api_url": "http://localhost:8880/v1/audio/speech",
text-to-speech/scripts/minimax_voice_clone.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Network accessline 112
"preview_tts_estimate_usd": str(text_cost), "estimated_total_usd": str(total.quantize(Decimal("0.0001"))), "pricing_source": "https://platform.minimax.io/docs/guides/pricing-paygo", - Network accessline 113
"estimated_total_usd": str(total.quantize(Decimal("0.0001"))), "pricing_source": "https://platform.minimax.io/docs/guides/pricing-paygo", "pricing_verified_on": "2026-08-01", - Network accessline 114
"pricing_source": "https://platform.minimax.io/docs/guides/pricing-paygo", - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 126
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Network accessline 141
except (OSError, json.JSONDecodeError): pass return "https://api.minimax.io" - Network accessline 143
return "https://api.minimax.io" - Network accessline 163
with path.open("rb") as handle: response = requests.post( - Network accessline 164
response = requests.post( - Network accessline 181
response = requests.post( - Access to secretsline 211
[Credential-related source omitted] - Access to secretsline 212
[Credential-related source omitted] - Access to secretsline 226
[Credential-related source omitted] - Access to secretsline 293
[Credential-related source omitted]
text-to-speech/scripts/text_to_speech.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 20
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Network accessline 63
if parts.scheme != "https" or not parts.netloc: raise ValueError("MiniMax subtitle URL must be HTTPS") with urllib.request.urlopen(str(url), timeout=timeout) as response: - Network accessline 64
raise ValueError("MiniMax subtitle URL must be HTTPS") with urllib.request.urlopen(str(url), timeout=timeout) as response: payload = json.loads(response.read().decode("utf-8")) - Network accessline 65
with urllib.request.urlopen(str(url), timeout=timeout) as response: - Access to secretsline 137
[Credential-related source omitted] - Access to secretsline 155
[Credential-related source omitted] - Network accessline 234
kokoro_config = self.config.get('kokoro_tts', {}) api_url = kokoro_config.get('api_url', 'http://localhost:8880/v1/audio/speech') - Network accessline 235
api_url = kokoro_config.get('api_url', 'http://localhost:8880/v1/audio/speech') - Access to secretsline 245
[Credential-related source omitted] - Network accessline 250
try: resp = requests.post( - Network accessline 251
resp = requests.post( - Access to secretsline 280
[Credential-related source omitted] - Access to secretsline 281
[Credential-related source omitted] - Access to secretsline 282
[Credential-related source omitted] - Network accessline 286
endpoint = minimax_config.get('endpoint', 'https://api.minimaxi.com/v1/t2a_v2') - Network accessline 347
request = urllib.request.Request( - Access to secretsline 351
[Credential-related source omitted] - Network accessline 355
) try: with urllib.request.urlopen(request, timeout=minimax_config.get('timeout', 180)) as response: - Network accessline 356
try: with urllib.request.urlopen(request, timeout=minimax_config.get('timeout', 180)) as response: response_body = response.read().decode('utf-8') - Network accessline 357
with urllib.request.urlopen(request, timeout=minimax_config.get('timeout', 180)) as response:
text-to-speech/tests/test_minimax_context.py
- Executable scriptline 1
Executable file - Network accessline 24
"minimax_tts": { "api_key_env": "MINIMAX_API_KEY", "endpoint": "https://example.invalid/v1/t2a_v2", - Network accessline 25
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Network accessline 26
"endpoint": "https://example.invalid/v1/t2a_v2", - Access to secretsline 111
[Credential-related source omitted] - Network accessline 142
"data": { "audio": "00", "subtitle_file": "https://subtitle.example.invalid/signed-file", - Network accessline 143
"audio": "00", "subtitle_file": "https://subtitle.example.invalid/signed-file", }, - Network accessline 144
"subtitle_file": "https://subtitle.example.invalid/signed-file", - Access to secretsline 168
[Credential-related source omitted]
text-to-speech/tests/test_minimax_voice_clone.py
- Executable scriptline 1
Executable file - Access to secretsline 25
[Credential-related source omitted] - Network accessline 31
def test_api_host_inherits_tts_endpoint_region(self): self.assertEqual(clone.api_host(), "https://api.minimaxi.com") - Network accessline 32
self.assertEqual(clone.api_host(), "https://api.minimaxi.com")
video-downloader/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 22
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 32
# Download in best quality (default) python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" - Network accessline 33
python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" - Network accessline 104
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p - Network accessline 109
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a - Network accessline 114
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path - Network accessline 119
python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" -o ~/Videos/YouTube - Network accessline 207
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) - The powerful YouTube downloader - Network accessline 208
- [ffmpeg](https://ffmpeg.org/) - Multimedia framework for stream processing
video-downloader/README_CN.md
- Network accessline 19
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 29
# 以最佳质量下载(默认) python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" - Network accessline 30
python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" - Network accessline 101
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p - Network accessline 106
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a - Network accessline 111
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path - Network accessline 116
python scripts/download_video.py "https://youtu.be/dQw4w9WgXcQ" -o ~/Videos/YouTube - Network accessline 204
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) - 强大的 YouTube 下载工具 - Network accessline 205
- [ffmpeg](https://ffmpeg.org/) - 多媒体处理框架
video-downloader/SKILL.md
- Network accessline 15
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 71
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p - Network accessline 76
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a - Network accessline 81
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
video-downloader/scripts/download_video.py
- Executable scriptline 1
#!/usr/bin/env python3
video-voice-changer/README.md
video-voice-changer/scripts/video_voice_change.py
- Executable scriptline 1
#!/usr/bin/env python3
video-voice-changer/test_video_voice_change.sh
voice-changer/README.md
voice-changer/SKILL.md
- Network accessline 208
# YouTube 下载 + 过滤 + 变声 + 发布 python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py \ https://youtu.be/xxxxx \ - Network accessline 209
python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py https://youtu.be/xxxxx - Network accessline 210
https://youtu.be/xxxxx \ - Network accessline 220
3. **文件格式**: 支持常见音频格式(MP3, WAV, M4A 等) 4. **版权问题**: 请确保有权对音频进行处理和使用 5. **模型资源**: 更多 RVC 模型可参考 [260款RVC变声器模型](https://pan.quark.cn/s/1cf1c5d6d4a6) - Network accessline 222
5. **模型资源**: 更多 RVC 模型可参考 [260款RVC变声器模型](https://pan.quark.cn/s/1cf1c5d6d4a6) - Dangerous shell operationline 232
sudo apt-get install ffmpeg - Network accessline 259
- [FFmpeg 音频滤镜文档](https://ffmpeg.org/ffmpeg-filters.html#Audio-Filters) - Network accessline 260
- [RVC 项目](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) - Network accessline 261
- [音高与频率关系](https://en.wikipedia.org/wiki/Pitch_(music))
voice-changer/TEST_GUIDE.md
- Network accessline 134
# YouTube 下载 + 过滤 + 变声(预览模式) python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py \ https://youtu.be/xxxxx \ - Network accessline 135
python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py https://youtu.be/xxxxx - Network accessline 136
https://youtu.be/xxxxx \
voice-changer/install_dependencies.sh
- Executable scriptline 1
#!/bin/bash - Network accessline 25
brew install ffmpeg else echo "❌ 请先安装 Homebrew: https://brew.sh" - Network accessline 26
else echo "❌ 请先安装 Homebrew: https://brew.sh" exit 1 - Network accessline 27
echo "❌ 请先安装 Homebrew: https://brew.sh" - Dangerous shell operationline 34
sudo apt-get update - Dangerous shell operationline 35
sudo apt-get install -y ffmpeg - Dangerous shell operationline 37
sudo yum install -y ffmpeg
voice-changer/models/RVC_MODEL_GUIDE.md
- Network accessline 15
**260款RVC变声器模型** - 包含多种声音类型: - 链接: https://pan.quark.cn/s/1cf1c5d6d4a6 - Network accessline 16
- 链接: https://pan.quark.cn/s/1cf1c5d6d4a6 - Network accessline 21
1. 访问 [Hugging Face Models](https://huggingface.co/models) - Network accessline 25
**推荐模型源**: - [RVC-Project Models](https://huggingface.co/Rvcmodel) - Network accessline 26
- [RVC-Project Models](https://huggingface.co/Rvcmodel) - Network accessline 27
- [Community RVC Models](https://huggingface.co/models?search=RVC) - Network accessline 31
1. 访问 [ModelScope](https://modelscope.cn/models) - Network accessline 38
# HubERT 基础模型(必需) cd ~/.claude/skills/voice-changer/models/rvc_models wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/assets/hubert/hubert_base.pt - Network accessline 40
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/assets/hubert/hubert_base.pt - Network accessline 48
cd ~/.claude/skills/voice-changer/models git clone --depth 1 https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git - Network accessline 49
git clone --depth 1 https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
voice-changer/models/rvc_core/extract_feature.py
- Executable scriptline 1
Executable file
voice-changer/models/rvc_core/rvc_infer.py
- Executable scriptline 1
Executable file
voice-changer/models/rvc_core/rvc_infer_simple.py
- Executable scriptline 1
#!/usr/bin/env python3
voice-changer/models/rvc_core/rvc_simple.py
- Executable scriptline 1
Executable file
voice-changer/scripts/rvc_infer_real.py
- Executable scriptline 1
#!/usr/bin/env python3
voice-changer/scripts/rvc_process_long.py
- Executable scriptline 1
#!/usr/bin/env python3
voice-changer/scripts/voice_change.py
- Executable scriptline 1
#!/usr/bin/env python3
voice-changer/test_voice_changer.sh
- Executable scriptline 1
#!/bin/bash
vps-security-hardening/README.md
- Network accessline 4
> 版本: 1.0.7 | 作者: github.com/wlzh > > 📺 视频教程: [YouTube](https://youtu.be/-uqap0UClnY) | 📝 文字教程: [Twitter/X](https://x.com/gxjdian/status/2033751314208059507) - Network accessline 6
> 📺 视频教程: [YouTube](https://youtu.be/-uqap0UClnY) | 📝 文字教程: [Twitter/X](https://x.com/gxjdian/status/2033751314208059507) - Dangerous shell operationline 17
| 4 | 创建 sudo 用户 | 禁用 root 密码登录 | - Dangerous shell operationline 61
sudo apt install sshpass -y - Dangerous shell operationline 64
sudo yum install sshpass -y - Dangerous shell operationline 77
- 修复: Docker 检查需要 sudo 权限的问题
vps-security-hardening/SKILL.md
- Dangerous shell operationline 12
1. 创建 sudo 用户,禁用 root 密码登录 - Network accessline 26
> 版本: 1.0.7 | 作者: github.com/wlzh | 参考: https://x.com/gxjdian/status/2033751314208059507 - Dangerous shell operationline 72
| `NEW_USER` | 新建的 sudo 用户名 | `admin` | - Dangerous shell operationline 100
which sudo || apt install sudo -y - Dangerous shell operationline 111
### Phase 2: 创建 Sudo 用户(第一招) - Dangerous shell operationline 115
useradd -m -G sudo -s /bin/bash ${NEW_USER} - Network accessline 275
date=$(date +"%e %b %Y, %a %r") name=$PAM_USER webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密钥" - Network accessline 277
webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密钥" - Network accessline 279
curl -s -X POST "$webhook_url" \ - Dangerous shell operationline 302
[✓] 新用户: ${NEW_USER} 已创建并加入 sudo 组 - Dangerous shell operationline 381
- Ubuntu/Debian: `sudo apt install sshpass -y` - Dangerous shell operationline 382
- CentOS/RHEL: `sudo yum install sshpass -y` - Dangerous shell operationline 424
- [ ] sudo 用户已创建
vps-security-hardening/references/best-practices.md
- Dangerous shell operationline 30
sudo mkdir -p /etc/systemd/system/ssh.socket.d - Dangerous shell operationline 31
sudo vim /etc/systemd/system/ssh.socket.d/listen.conf - Dangerous shell operationline 41
sudo systemctl daemon-reload - Dangerous shell operationline 42
sudo systemctl restart ssh.socket - Dangerous shell operationline 43
sudo systemctl restart ssh.service - Dangerous shell operationline 49
sudo systemctl disable --now ssh.socket - Dangerous shell operationline 50
sudo systemctl enable --now ssh.service - Dangerous shell operationline 70
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config.d/99-hardening.conf - Dangerous shell operationline 73
sudo systemctl restart ssh - Dangerous shell operationline 81
sudo apt install fail2ban -y - Dangerous shell operationline 82
sudo systemctl enable fail2ban - Dangerous shell operationline 83
sudo systemctl start fail2ban - Dangerous shell operationline 110
sudo fail2ban-client status sshd - Dangerous shell operationline 113
sudo fail2ban-client set sshd unbanip <IP> - Dangerous shell operationline 116
sudo tail -f /var/log/fail2ban.log - Dangerous shell operationline 125
sudo ufw default deny incoming - Dangerous shell operationline 126
sudo ufw default allow outgoing - Dangerous shell operationline 129
sudo ufw allow 2233/tcp - Dangerous shell operationline 132
sudo ufw allow 80/tcp - Dangerous shell operationline 133
sudo ufw allow 443/tcp - Dangerous shell operationline 136
sudo ufw enable - Dangerous shell operationline 143
sudo ufw status verbose - Dangerous shell operationline 146
sudo ufw status numbered - Dangerous shell operationline 149
sudo ufw allow from 1.2.3.4 - Dangerous shell operationline 152
sudo ufw allow from 1.2.3.4 to any port 2233 - Dangerous shell operationline 155
sudo ufw allow from 192.168.1.0/24 - Dangerous shell operationline 158
sudo ufw delete 3 - Dangerous shell operationline 161
sudo ufw delete allow 80/tcp - Dangerous shell operationline 164
sudo ufw reset - Dangerous shell operationline 167
sudo ufw disable - Dangerous shell operationline 174
sudo ufw allow log 2233/tcp - Dangerous shell operationline 182
sudo vim /etc/pam.d/sshd - Dangerous shell operationline 190
sudo vim /usr/local/bin/notify_ssh_login.sh - Network accessline 200
date=$(date +"%e %b %Y, %a %r") name=$PAM_USER webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密钥" - Network accessline 202
webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密钥" - Network accessline 204
curl -s -X POST "$webhook_url" \ - Dangerous shell operationline 215
sudo chmod +x /usr/local/bin/notify_ssh_login.sh - Dangerous shell operationline 305
- [ ] sudo 用户已创建 - Dangerous shell operationline 334
3. 恢复默认: `rm /etc/ssh/sshd_config.d/99-hardening.conf && systemctl restart ssh`
vps-security-hardening/scripts/harden-vps.sh
- Executable scriptline 1
#!/bin/bash - Network accessline 5
# Version: 1.0.7 # Date: 2026-03-17 # Reference: https://x.com/gxjdian/status/2033751314208059507 - Network accessline 6
# Date: 2026-03-17 # Reference: https://x.com/gxjdian/status/2033751314208059507 # - Network accessline 7
# Reference: https://x.com/gxjdian/status/2033751314208059507 - Dangerous shell operationline 66
echo " Ubuntu/Debian: sudo apt install sshpass -y" - Dangerous shell operationline 67
echo " CentOS/RHEL: sudo yum install sshpass -y" - Dangerous shell operationline 161
which sudo || apt install sudo -y -qq - Dangerous shell operationline 169
# Phase 4: Create Sudo User - Dangerous shell operationline 171
echo -e "${YELLOW}[Phase 4/9] Creating sudo user: ${NEW_USER}...${NC}" - Dangerous shell operationline 177
useradd -m -G sudo -s /bin/bash '${NEW_USER}' - Dangerous shell operationline 392
echo -e "${YELLOW}Please manually remove with: sudo ufw delete allow 22${NC}" - Dangerous shell operationline 429
$SSH_CMD "if [ -f /etc/docker/daemon.json ]; then sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak; fi" - Dangerous shell operationline 435
sudo sed -i 's/}/, \"iptables\": false}/' /etc/docker/daemon.json 2>/dev/null || \ - Dangerous shell operationline 436
echo '{\"iptables\": false}' | sudo tee /etc/docker/daemon.json - Dangerous shell operationline 438
echo '{\"iptables\": false}' | sudo tee /etc/docker/daemon.json - Dangerous shell operationline 444
$SSH_CMD "sudo systemctl restart docker" - Dangerous shell operationline 458
DOCKER_CONTAINERS=$($SSH_CMD "sudo docker ps --format '{{.Names}}' 2>/dev/null | wc -l") - Dangerous shell operationline 459
DOCKER_EXPOSED=$($SSH_CMD "sudo docker ps --format '{{.Ports}}' 2>/dev/null | grep -c '0.0.0.0' || echo 0") - Dangerous shell operationline 474
$SSH_CMD "sudo docker ps --format ' - {{.Names}}: {{.Ports}}' 2>/dev/null | grep '0.0.0.0'" - Dangerous shell operationline 478
echo " sudo ufw allow <PORT>/tcp" - Dangerous shell operationline 500
echo -e "${GREEN}[✓] 新用户: ${NEW_USER} 已创建并加入 sudo 组${NC}"
wespy-fetcher/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 6
把 [tianchangNorth/WeSpy](https://github.com/tianchangNorth/WeSpy) 封装成可直接调用的 Skill,支持微信公众号文章抓取、专辑批量下载、URL 转 Markdown 等完整能力。 - Network accessline 10
- 上游项目:`https://github.com/tianchangNorth/WeSpy` - Network accessline 42
# 公众号文章转 Markdown python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 43
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 45
# 专辑批量下载 python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?__biz=...&album_id=..." --max-articles 10 --all - Network accessline 46
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?__biz=...&album_id=..." --max-articles 10 --all - Network accessline 90
- https://github.com/tianchangNorth/WeSpy
wespy-fetcher/SKILL.md
- Network accessline 8
封装 [tianchangNorth/WeSpy](https://github.com/tianchangNorth/WeSpy) 的完整能力。 - Network accessline 20
- 上游项目:`https://github.com/tianchangNorth/WeSpy` - Network accessline 31
# 单篇文章(默认输出 markdown) python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 32
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" - Network accessline 34
# 输出 markdown + html python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --html - Network accessline 35
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --html - Network accessline 37
# 输出 markdown + json python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --json - Network accessline 38
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --json - Network accessline 40
# 输出所有格式 python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --all - Network accessline 41
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/s/xxxxx" --all - Network accessline 43
# 专辑只拉列表 python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?..." --album-only --max-articles 20 - Network accessline 44
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?..." --album-only --max-articles 20 - Network accessline 46
# 专辑批量下载 python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?..." --max-articles 20 --all - Network accessline 47
python3 scripts/wespy_cli.py "https://mp.weixin.qq.com/mp/appmsgalbum?..." --max-articles 20 --all
wespy-fetcher/scripts/wespy_cli.py
wlzh-invoice-scanner/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills
wlzh-invoice-scanner/SKILL.md
- Dangerous shell operationline 94
- 使用 Bash 工具查找并删除:`find "<input_dir>" -type f \( -name "*.xml" -o -name "*.ofd" \) -delete` - Dangerous shell operationline 106
5. 删除临时目录:`rm -rf "<temp_dir>"` - Dangerous shell operationline 107
6. 删除原始 ZIP 文件:`rm -f "<zipfile>"` - Dangerous shell operationline 121
* 删除临时解压目录:`rm -rf "<temp_extract_dir>"` - Dangerous shell operationline 122
* 删除原始 ZIP 文件:`rm -f "<zip_file>"` - Dangerous shell operationline 408
- 使用 Bash 工具批量删除:`find "<report_dir>" -type f \( -name "*.xml" -o -name "*.ofd" -o -name "*.zip" \) -delete` - Dangerous shell operationline 427
cd "<report_dir>" && rm -f "<folder_name>.zip" && zip -r "<folder_name>.zip" . -x "*.DS_Store" -x "<folder_name>.zip"
wlzh-youtube-tracker/README.md
- Network accessline 10
- ✅ Parallel HTTP fetching (15 concurrent curl processes) - Network accessline 25
### v2.1.0 (2026-06-05) - Proxy Support - Added automatic proxy support for YouTube RSS feeds - Auto-detects from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http://127.0.0.1:10808` - Network accessline 26
- Added automatic proxy support for YouTube RSS feeds - Auto-detects from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http://127.0.0.1:10808` - Replaced `fetch()` calls with `curl` for consistent proxy routing - Network accessline 27
- Auto-detects from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http://127.0.0.1:10808` - Network accessline 28
- Replaced `fetch()` calls with `curl` for consistent proxy routing - Network accessline 42
# Add channels node scripts/youtube-tracker-rss.js add "@veritasium" node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@tech-shrimp" - Network accessline 44
node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@tech-shrimp" - Network accessline 81
### "Fetch failed" errors - Check proxy settings (`HTTPS_PROXY` env var or default `http://127.0.0.1:10808`) - Network accessline 82
- Check proxy settings (`HTTPS_PROXY` env var or default `http://127.0.0.1:10808`) - Network accessline 83
- Ensure curl is installed and proxy is running
wlzh-youtube-tracker/README.zh-CN.md
- Network accessline 10
- ✅ 并行 HTTP 抓取(15 个并发 curl 进程) - Network accessline 28
频道:最佳拍档 标题:Anthropic呼吁按下AI暂停键? 链接:https://www.youtube.com/watch?v=xxx - Network accessline 30
链接:https://www.youtube.com/watch?v=xxx - Network accessline 35
📺 最佳拍档 🎬 Anthropic呼吁按下AI暂停键? 🔗 https://www.youtube.com/watch?v=xxx - Network accessline 37
🔗 https://www.youtube.com/watch?v=xxx - Network accessline 44
- Node.js 18+(建议 Node 20+) - `curl` 命令行工具(用于 HTTP 请求) - **代理**(中国大陆必须,自动检测 `HTTPS_PROXY`/`HTTP_PROXY`,默认 `http://127.0.0.1:10808`) - Network accessline 46
- **代理**(中国大陆必须,自动检测 `HTTPS_PROXY`/`HTTP_PROXY`,默认 `http://127.0.0.1:10808`) - Network accessline 64
# 添加频道 node scripts/youtube-tracker-rss.js add "@veritasium" node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@veritasium" - Network accessline 66
node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@veritasium"
wlzh-youtube-tracker/SKILL.md
- Network accessline 33
### Changes - **Parallel HTTP fetching**: All channels now fetch concurrently (15 parallel curl processes) - Network accessline 34
- **Parallel HTTP fetching**: All channels now fetch concurrently (15 parallel curl processes) - Network accessline 50
**Fix**: Added automatic proxy support for YouTube RSS feeds. - YouTube is inaccessible from China without proxy; all HTTP requests now route through proxy - Auto-detects proxy from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http - Network accessline 51
- YouTube is inaccessible from China without proxy; all HTTP requests now route through proxy - Auto-detects proxy from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http://127.0.0.1:10808` - Replaced `fetch()` API calls with `curl` - Network accessline 52
- Auto-detects proxy from `HTTPS_PROXY` / `HTTP_PROXY` env vars, falls back to `http://127.0.0.1:10808` - Network accessline 53
- Replaced `fetch()` API calls with `curl` via `execSync` for consistent proxy routing - Network accessline 78
# RSS mode (recommended, no API key needed) node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@veritasium" - Network accessline 79
node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@veritasium" - Access to secretsline 88
[Credential-related source omitted] - Network accessline 123
频道:最佳拍档 标题:Anthropic呼吁按下AI暂停键? 链接:https://www.youtube.com/watch?v=xxx - Network accessline 125
链接:https://www.youtube.com/watch?v=xxx - Network accessline 130
📺 最佳拍档 🎬 Anthropic呼吁按下AI暂停键? 🔗 https://www.youtube.com/watch?v=xxx - Network accessline 132
🔗 https://www.youtube.com/watch?v=xxx
wlzh-youtube-tracker/scripts/cron-run.sh
- Executable scriptline 1
#!/usr/bin/env bash
wlzh-youtube-tracker/scripts/run-check.sh
- Executable scriptline 1
#!/usr/bin/env bash
wlzh-youtube-tracker/scripts/youtube-tracker-rss.js
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 40
const PROXY = process.env.HTTPS_PROXY || process.env.https_proxy || process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:1082'; - Network accessline 42
'http://127.0.0.1:1082'; - Network accessline 81
*/ async function sendTelegram(botToken, text) { const url = `https://api.telegram.org/bot${botToken}/sendMessage`; - Network accessline 82
async function sendTelegram(botToken, text) { const url = `https://api.telegram.org/bot${botToken}/sendMessage`; const safeText = escapeHtml(text); - Network accessline 83
const url = `https://api.telegram.org/bot${botToken}/sendMessage`; - Network accessline 93
const cmd = `curl -sS -m 15 -x "${PROXY}" -X POST -H "Content-Type: application/json" -d '${body.replace(/'/g, "'\\''")}' "${url}"`; - Network accessline 111
async function httpGetAsync(url, timeoutMs = 15000) { const cmd = `curl -sS -m ${Math.ceil(timeoutMs / 1000)} -x "${PROXY}" -L "${url}"`; - Network accessline 112
const cmd = `curl -sS -m ${Math.ceil(timeoutMs / 1000)} -x "${PROXY}" -L "${url}"`; - Network accessline 121
function httpGetSync(url, timeoutMs = 15000) { const cmd = `curl -sS -m ${Math.ceil(timeoutMs / 1000)} -x "${PROXY}" -L "${url}"`; - Network accessline 122
const cmd = `curl -sS -m ${Math.ceil(timeoutMs / 1000)} -x "${PROXY}" -L "${url}"`; - Network accessline 138
batch.map(async (c) => { try { const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(c.channelId)}`; - Network accessline 139
try { const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(c.channelId)}`; const xml = await httpGetAsync(url); - Network accessline 140
const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(c.channelId)}`; - Network accessline 273
publishedAt: publishedMatch ? publishedMatch[1] : '', channelTitle: authorMatch ? authorMatch[1] : '', link: linkMatch ? linkMatch[1] : `https://www.youtube.com/watch?v=${videoIdMatch[1]}` - Network accessline 274
channelTitle: authorMatch ? authorMatch[1] : '', link: linkMatch ? linkMatch[1] : `https://www.youtube.com/watch?v=${videoIdMatch[1]}` }); - Network accessline 275
link: linkMatch ? linkMatch[1] : `https://www.youtube.com/watch?v=${videoIdMatch[1]}` - Network accessline 284
function fetchChannelRSSSync(channelId) { const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(channelId)}`; - Network accessline 285
const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(channelId)}`; - Network accessline 293
try { const channelUrl = `https://www.youtube.com/@${handleClean}`; - Network accessline 294
const channelUrl = `https://www.youtube.com/@${handleClean}`; - Network accessline 313
function getChannelInfo(channelId) { try { const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(channelId)}`; - Network accessline 314
try { const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(channelId)}`; const xml = httpGetSync(url); - Network accessline 315
const url = `https://www.youtube.com/feeds/videos.xml?channel_id=${encodeURIComponent(channelId)}`; - Network accessline 330
function videoUrl(videoId) { return `https://www.youtube.com/watch?v=${videoId}`; - Network accessline 331
return `https://www.youtube.com/watch?v=${videoId}`;
wlzh-youtube-tracker/scripts/youtube-tracker.js
- Executable scriptline 1
#!/usr/bin/env node - Access to secretsline 6
[Credential-related source omitted] - Network accessline 95
// https://www.youtube.com/channel/UC... - Network accessline 98
// https://www.youtube.com/@handle - Network accessline 101
// https://www.youtube.com/c/CustomName - Network accessline 104
// https://www.youtube.com/user/LegacyName - Network accessline 112
async function ytGetJson(url) { const res = await fetch(url, { - Network accessline 113
const res = await fetch(url, { - Network accessline 134
if (parsed.kind === 'channelId') { const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet&id=${encodeURIComponent(parsed.value)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 135
const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet&id=${encodeURIComponent(parsed.value)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 146
if (parsed.kind === 'handle') { const q = `@${parsed.value}`; const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 147
const q = `@${parsed.value}`; const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; const j = await ytGetJson(url); - Network accessline 148
const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 159
if (parsed.kind === 'query') { const q = parsed.value; const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 160
const q = parsed.value; const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; const j = await ytGetJson(url); - Network accessline 161
const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&type=channel&maxResults=5&q=${encodeURIComponent(q)}&key=${encodeURIComponent(apiKey)}`; - Network accessline 175
async function validateKey(apiKey) { const url = `https://www.googleapis.com/youtube/v3/i18nLanguages?part=snippet&hl=en_US&key=${encodeURIComponent(apiKey)}`; - Network accessline 176
const url = `https://www.googleapis.com/youtube/v3/i18nLanguages?part=snippet&hl=en_US&key=${encodeURIComponent(apiKey)}`; - Network accessline 181
async function fetchLatestVideos(channelId, apiKey, maxResults = 5) { const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=${encodeURIComponent(channelId)}&order=date&type=video&maxResults=${maxResults}&key=${e - Network accessline 182
const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=${encodeURIComponent(channelId)}&order=date&type=video&maxResults=${maxResults}&key=${encodeURIComponent(apiKey)}`; - Network accessline 202
function videoUrl(videoId) { return `https://www.youtube.com/watch?v=${videoId}`; - Network accessline 203
return `https://www.youtube.com/watch?v=${videoId}`; - Access to secretsline 225
[Credential-related source omitted] - Access to secretsline 230
[Credential-related source omitted]
x-fetcher-skill/.gitignore
- Access to secretsline 21
[Credential-related source omitted]
x-fetcher-skill/.info
- Network accessline 7
1. pip3 install -r scripts/requirements.txt 2. bash scripts/quick-start.sh 3. python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 9
3. python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 21
基于: https://github.com/Jane-xiaoer/x-fetcher
x-fetcher-skill/COMPLETION.md
- Network accessline 7
- **项目名称**: x-fetcher-skill - **项目位置**: `/Users/m/document/QNSZ/project/skills/x-fetcher-skill` - **基于项目**: [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) - Network accessline 8
- **项目位置**: `/Users/m/document/QNSZ/project/skills/x-fetcher-skill` - **基于项目**: [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) - **创建日期**: 2026-02-18 - Network accessline 9
- **基于项目**: [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) - Network accessline 109
# 3. 开始使用 python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 110
python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 116
# 抓取推文并保存 python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 117
python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 122
# 只输出 JSON python3 scripts/main.py "https://x.com/username/status/123456789" --json - Network accessline 123
python3 scripts/main.py "https://x.com/username/status/123456789" --json - Network accessline 125
# 指定输出目录 python3 scripts/main.py "https://x.com/username/status/123456789" --output ~/Downloads - Network accessline 126
python3 scripts/main.py "https://x.com/username/status/123456789" --output ~/Downloads - Network accessline 223
- **原项目**: https://github.com/Jane-xiaoer/x-fetcher - Network accessline 224
- **Skills 文档**: https://skills.sh/ - Network accessline 251
基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目开发。
x-fetcher-skill/MEDIA.md
- Network accessline 118
 - Network accessline 119
 - Network accessline 149
# 强制下载媒体文件 python3 scripts/main.py "https://x.com/user/status/123" --download-media - Network accessline 150
python3 scripts/main.py "https://x.com/user/status/123" --download-media - Network accessline 152
# 即使配置为 true,也不会下载(因为没有媒体或通过 --json 输出) python3 scripts/main.py "https://x.com/user/status/123" --json - Network accessline 153
python3 scripts/main.py "https://x.com/user/status/123" --json - Network accessline 161
$ python3 scripts/main.py "https://x.com/user/status/123" - Network accessline 193
$ python3 scripts/main.py "https://x.com/user/status/123" - Network accessline 221
$ python3 scripts/main.py "https://x.com/user/status/123"
x-fetcher-skill/PROJECT.md
- Network accessline 5
本项目是一个封装的 Skill,基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目,用于抓取 X (Twitter) 推文和长文章,并自动保存为 Markdown 格式。 - Network accessline 140
# 1. 克隆项目 cd /Users/m/document/QNSZ/project/skills git clone https://github.com/Jane-xiaoer/x-fetcher.git x-fetcher-skill - Network accessline 142
git clone https://github.com/Jane-xiaoer/x-fetcher.git x-fetcher-skill - Network accessline 178
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --json - Network accessline 184
python3 scripts/main.py "https://x.com/thedankoe/status/2010751592346030461" - Network accessline 206
本项目基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 开发,欢迎贡献代码和建议。 - Network accessline 214
- 原项目: https://github.com/Jane-xiaoer/x-fetcher - Network accessline 215
- Skills 社区: https://skills.sh/
x-fetcher-skill/QUICKREF.md
- Network accessline 18
python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 64
> 作者: **Name** (@username) > 发布时间: 2024-01-01 12:00:00 > 原文链接: https://x.com/user/status/123 - Network accessline 66
> 原文链接: https://x.com/user/status/123 - Network accessline 84
- `https://x.com/username/status/123456789` - Network accessline 85
- `https://twitter.com/username/status/123456789` - Network accessline 135
MIT License - 基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher)
x-fetcher-skill/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 8
**工程化来源**: 本 Skill 基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目。 - Network accessline 43
python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 51
# 抓取推文并自动保存到配置的目录 python3 scripts/main.py "https://x.com/elonmusk/status/123456789" - Network accessline 52
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" - Network accessline 54
# 指定输出目录 python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --output ~/Downloads - Network accessline 55
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --output ~/Downloads - Network accessline 57
# 只输出 JSON,不保存 Markdown python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --json - Network accessline 58
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --json - Network accessline 60
# 不保存 Markdown 文件 python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --no-save - Network accessline 61
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --no-save - Network accessline 125
> 作者: **Author Name** (@username) > 发布时间: 2024-01-01 12:00:00 > 原文链接: https://x.com/user/status/123 - Network accessline 127
> 原文链接: https://x.com/user/status/123 - Network accessline 135
 - Network accessline 155
> 发布时间: 2024-01-01 12:00:00 > 修改时间: 2024-01-02 10:30:00 > 原文链接: https://x.com/user/status/123 - Network accessline 157
> 原文链接: https://x.com/user/status/123 - Network accessline 161
 - Network accessline 201
本 Skill 是对 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目的封装和增强,感谢原作者的贡献。 - Network accessline 205
- 原项目: https://github.com/Jane-xiaoer/x-fetcher - Network accessline 206
- Skills 文档: https://skills.sh/
x-fetcher-skill/SKILL.md
- Network accessline 10
**工程化来源**: 本 Skill 基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目。 - Network accessline 113
- `https://x.com/<user>/status/<id>` - Network accessline 114
- `https://twitter.com/<user>/status/<id>` - Network accessline 123
> 作者: **Author Name** (@username) > 发布时间: 2024-01-01 12:00:00 > 原文链接: https://x.com/user/status/123 - Network accessline 125
> 原文链接: https://x.com/user/status/123 - Network accessline 133
 - Network accessline 151
> 发布时间: 2024-01-01 12:00:00 > 修改时间: 2024-01-02 10:30:00 > 原文链接: https://x.com/user/status/123 - Network accessline 153
> 原文链接: https://x.com/user/status/123 - Network accessline 157

x-fetcher-skill/USAGE.md
- Network accessline 5
X Fetcher Skill 是一个基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目的命令行工具,用于抓取 X (Twitter) 推文和长文章,并自动保存为 Markdown 格式。 - Network accessline 59
cd /Users/m/document/QNSZ/project/skills/x-fetcher-skill python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 60
python3 scripts/main.py "https://x.com/username/status/123456789" - Network accessline 81
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" - Network accessline 91
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --output ~/Downloads - Network accessline 97
python3 scripts/main.py "https://x.com/elonmusk/status/123456789" --json - Network accessline 126
> 作者: **Author Name** (@username) > 发布时间: 2024-01-01 12:00:00 > 原文链接: https://x.com/user/status/123 - Network accessline 128
> 原文链接: https://x.com/user/status/123 - Network accessline 136
 - Network accessline 154
> 发布时间: 2024-01-01 12:00:00 > 修改时间: 2024-01-02 10:30:00 > 原文链接: https://x.com/user/status/123 - Network accessline 156
> 原文链接: https://x.com/user/status/123 - Network accessline 160
 - Network accessline 189
用户: 帮我下载这条推文 https://x.com/username/status/123456789 - Network accessline 245
#!/bin/bash urls=( "https://x.com/user1/status/123" - Network accessline 246
urls=( "https://x.com/user1/status/123" "https://x.com/user2/status/456" - Network accessline 247
"https://x.com/user1/status/123" - Network accessline 248
"https://x.com/user2/status/456" - Network accessline 249
"https://x.com/user3/status/789" - Network accessline 263
# 抓取并转换为 HTML python3 scripts/main.py "https://x.com/user/status/123" --json | jq '.content' > tweet.json - Network accessline 264
python3 scripts/main.py "https://x.com/user/status/123" --json | jq '.content' > tweet.json - Network accessline 266
# 抓取并推送到 Git 仓库 python3 scripts/main.py "https://x.com/user/status/123" - Network accessline 267
python3 scripts/main.py "https://x.com/user/status/123" - Network accessline 275
- 原项目: https://github.com/Jane-xiaoer/x-fetcher - Network accessline 276
- Skills 文档: https://skills.sh/ - Network accessline 281
MIT License - 基于 [Jane-xiaoer/x-fetcher](https://github.com/Jane-xiaoer/x-fetcher) 项目
x-fetcher-skill/fetch_x.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 38
} try: resp = requests.get(api_url, headers=headers, timeout=15) - Network accessline 39
try: resp = requests.get(api_url, headers=headers, timeout=15) if resp.status_code == 200: - Network accessline 40
resp = requests.get(api_url, headers=headers, timeout=15) - Network accessline 49
[Credential-related source omitted] - Network accessline 52
} try: resp = requests.get(url, headers=headers, timeout=10) - Network accessline 53
try: resp = requests.get(url, headers=headers, timeout=10) if resp.status_code == 200: - Network accessline 54
resp = requests.get(url, headers=headers, timeout=10) - Network accessline 262
if len(sys.argv) < 2: print("用法: python fetch_x.py <x_url> [--save-md]") print("示例: python fetch_x.py https://x.com/elonmusk/status/123456789") - Network accessline 263
print("用法: python fetch_x.py <x_url> [--save-md]") print("示例: python fetch_x.py https://x.com/elonmusk/status/123456789") print(" python fetch_x.py https://x.com/elonmusk/status/123456789 --save-md") - Network accessline 264
print("示例: python fetch_x.py https://x.com/elonmusk/status/123456789") - Network accessline 265
print(" python fetch_x.py https://x.com/elonmusk/status/123456789 --save-md")
x-fetcher-skill/scripts/main.py
x-fetcher-skill/scripts/quick-start.sh
- Executable scriptline 1
#!/bin/bash - Network accessline 73
echo "" echo "1. 抓取推文:" echo " python3 scripts/main.py \"https://x.com/username/status/123\"" - Network accessline 74
echo "1. 抓取推文:" echo " python3 scripts/main.py \"https://x.com/username/status/123\"" echo "" - Network accessline 75
echo " python3 scripts/main.py \"https://x.com/username/status/123\"" - Network accessline 79
echo "" echo "3. 只输出 JSON:" echo " python3 scripts/main.py \"https://x.com/username/status/123\" --json" - Network accessline 80
echo "3. 只输出 JSON:" echo " python3 scripts/main.py \"https://x.com/username/status/123\" --json" echo "" - Network accessline 81
echo " python3 scripts/main.py \"https://x.com/username/status/123\" --json"
x-fetcher-skill/scripts/test_skill.py
youtube-publisher/SETUP.md
- Network accessline 3
> Repository: [https://github.com/wlzh/skills](https://github.com/wlzh/skills) - Network accessline 13
1. Go to [console.cloud.google.com](https://console.cloud.google.com) - Network accessline 49
1. In the OAuth client page, click **Data access** on the left sidebar 2. Click **Add or remove scopes** 3. Search and add: `https://www.googleapis.com/auth/youtube.force-ssl` - Network accessline 50
2. Click **Add or remove scopes** 3. Search and add: `https://www.googleapis.com/auth/youtube.force-ssl` 4. Click Save - Network accessline 51
3. Search and add: `https://www.googleapis.com/auth/youtube.force-ssl` - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted]
youtube-publisher/SETUP_zh.md
- Network accessline 3
> 仓库地址:[https://github.com/wlzh/skills](https://github.com/wlzh/skills) - Network accessline 13
1. 访问 [console.cloud.google.com](https://console.cloud.google.com) - Network accessline 49
1. 在 OAuth 客户端页面,点击左侧菜单 **数据访问 (Data access)** 2. 点击 **添加或移除范围** 3. 搜索并添加:`https://www.googleapis.com/auth/youtube.force-ssl` - Network accessline 50
2. 点击 **添加或移除范围** 3. 搜索并添加:`https://www.googleapis.com/auth/youtube.force-ssl` 4. 点击保存 - Network accessline 51
3. 搜索并添加:`https://www.googleapis.com/auth/youtube.force-ssl` - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted]
youtube-publisher/SKILL.md
- Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 154
[Credential-related source omitted] - Network accessline 231
On success, returns: - Video ID - Video URL (https://youtu.be/VIDEO_ID) - Network accessline 232
- Video ID - Video URL (https://youtu.be/VIDEO_ID) - Status - Network accessline 233
- Video URL (https://youtu.be/VIDEO_ID)
youtube-publisher/SKILL_zh.md
- Access to secretsline 83
[Credential-related source omitted] - Access to secretsline 90
[Credential-related source omitted] - Network accessline 164
上传成功后返回: - 视频 ID - 视频链接 (https://youtu.be/视频ID) - Network accessline 165
- 视频 ID - 视频链接 (https://youtu.be/视频ID) - 状态 - Network accessline 166
- 视频链接 (https://youtu.be/视频ID)
youtube-publisher/references/live-streaming.md
- Network accessline 138
- https://developers.google.com/youtube/v3/live/docs - Network accessline 139
- https://developers.google.com/youtube/v3/live/guides/implementation/broadcasts-and-streams - Network accessline 140
- https://developers.google.com/youtube/v3/live/life-of-a-broadcast - Network accessline 141
- https://developers.google.com/youtube/v3/determine_quota_cost
youtube-publisher/scripts/.env.example
youtube-publisher/scripts/.gitignore
youtube-publisher/scripts/authenticate.ts
- Executable scriptline 1
Executable file - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Network accessline 66
const SCOPES = [ "https://www.googleapis.com/auth/youtube", - Network accessline 67
"https://www.googleapis.com/auth/youtube", - Network accessline 68
"https://www.googleapis.com/auth/youtube.upload", - Network accessline 69
"https://www.googleapis.com/auth/youtube.force-ssl", - Access to secretsline 73
[Credential-related source omitted] - Network accessline 103
[Credential-related source omitted] - Access to secretsline 103
[Credential-related source omitted] - Network accessline 105
process.env.YOUTUBE_REDIRECT_URI || "http://localhost:3333/oauth2callback"; - Access to secretsline 109
[Credential-related source omitted] - Network accessline 169
async function interactiveAuth(oauth2Client: any): Promise<AuthResult> { return new Promise((resolve, reject) => { const redirectUri = process.env.YOUTUBE_REDIRECT_URI || "http://localhost:3333/oauth2callback"; - Network accessline 170
return new Promise((resolve, reject) => { const redirectUri = process.env.YOUTUBE_REDIRECT_URI || "http://localhost:3333/oauth2callback"; const redirect = new URL(redirectUri); - Network accessline 171
const redirectUri = process.env.YOUTUBE_REDIRECT_URI || "http://localhost:3333/oauth2callback";
youtube-publisher/scripts/export-playlists.ts
- Executable scriptline 1
Executable file - Network accessline 56
item.snippet?.thumbnails?.medium?.url || item.snippet?.thumbnails?.default?.url || `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 57
item.snippet?.thumbnails?.default?.url || `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`, }); - Network accessline 58
`https://img.youtube.com/vi/${videoId}/hqdefault.jpg`, - Network accessline 66
title: playlist.snippet?.title || playlist.id, description: playlist.snippet?.description || "", url: `https://www.youtube.com/playlist?list=${playlist.id}`, - Network accessline 67
description: playlist.snippet?.description || "", url: `https://www.youtube.com/playlist?list=${playlist.id}`, thumbnailUrl: - Network accessline 68
url: `https://www.youtube.com/playlist?list=${playlist.id}`, - Network accessline 86
title: channel.snippet?.title || "短裤AI分享", handle: channel.snippet?.customUrl || "@gxjdian", url: "https://youtube.com/@gxjdian", - Network accessline 87
handle: channel.snippet?.customUrl || "@gxjdian", url: "https://youtube.com/@gxjdian", }, - Network accessline 88
url: "https://youtube.com/@gxjdian",
youtube-publisher/scripts/list-recent.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/list-uploads.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/package-lock.json
- Network accessline 21
"node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - Network accessline 22
"version": "0.8.1", "resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YS - Network accessline 23
"resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - Network accessline 34
"node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - Network accessline 35
"version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - Network accessline 36
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - Network accessline 51
"node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - Network accessline 52
"version": "3.1.2", "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - Network accessline 53
"resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - Network accessline 61
"node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - Network accessline 62
"version": "1.5.5", "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0O - Network accessline 63
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - Network accessline 68
"node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - Network accessline 69
"version": "0.3.9", "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" - Network accessline 70
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - Network accessline 79
"node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - Network accessline 80
"version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - Network accessline 81
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - Network accessline 89
"node_modules/@tsconfig/node10": { "version": "1.0.12", "resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.12.tgz", - Network accessline 90
"version": "1.0.12", "resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.12.tgz", "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", - Network accessline 91
"resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.12.tgz", - Network accessline 96
"node_modules/@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", - Network accessline 97
"version": "1.0.11", "resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - Network accessline 98
"resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", - Network accessline 103
"node_modules/@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", - Network accessline 104
"version": "1.0.3", "resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - Network accessline 105
"resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", - Network accessline 110
"node_modules/@tsconfig/node16": { "version": "1.0.4", "resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz", - Network accessline 111
"version": "1.0.4", "resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz", "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - Network accessline 112
"resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz", - Network accessline 117
"node_modules/@types/node": { "version": "20.19.33", "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.19.33.tgz", - Network accessline 118
"version": "20.19.33", "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.19.33.tgz", "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==", - Network accessline 119
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.19.33.tgz", - Network accessline 127
"node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz", - Network accessline 128
"version": "8.15.0", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - Network accessline 129
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.15.0.tgz", - Network accessline 140
"node_modules/acorn-walk": { "version": "8.3.4", "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz", - Network accessline 141
"version": "8.3.4", "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz", "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - Network accessline 142
"resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz", - Network accessline 153
"node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - Network accessline 154
"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 155
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - Network accessline 162
"node_modules/ansi-regex": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", - Network accessline 163
"version": "6.3.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", - Network accessline 164
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", - Network accessline 169
}, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" - Network accessline 170
"funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" } - Network accessline 171
"url": "https://github.com/chalk/ansi-regex?sponsor=1" - Network accessline 174
"node_modules/ansi-styles": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - Network accessline 175
"version": "6.2.3", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - Network accessline 176
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - Network accessline 181
}, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 182
"funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } - Network accessline 183
"url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 186
"node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", - Network accessline 187
"version": "4.1.3", "resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - Network accessline 188
"resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", - Network accessline 193
"node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - Network accessline 194
"version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - Network accessline 195
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - Network accessline 199
"node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - Network accessline 200
"version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - Network accessline 201
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - Network accessline 204
{ "type": "github", "url": "https://github.com/sponsors/feross" - Network accessline 205
"type": "github", "url": "https://github.com/sponsors/feross" }, - Network accessline 206
"url": "https://github.com/sponsors/feross" - Network accessline 208
{ "type": "patreon", "url": "https://www.patreon.com/feross" - Network accessline 209
"type": "patreon", "url": "https://www.patreon.com/feross" }, - Network accessline 210
"url": "https://www.patreon.com/feross" - Network accessline 212
{ "type": "consulting", "url": "https://feross.org/support" - Network accessline 213
"type": "consulting", "url": "https://feross.org/support" } - Network accessline 214
"url": "https://feross.org/support" - Network accessline 219
"node_modules/bignumber.js": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", - Network accessline 220
"version": "9.3.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", - Network accessline 221
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", - Network accessline 228
"node_modules/brace-expansion": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - Network accessline 229
"version": "2.1.4", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", - Network accessline 230
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - Network accessline 237
"node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - Network accessline 238
"version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsf - Network accessline 239
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - Network accessline 243
"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 244
"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 245
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - Network accessline 256
"node_modules/call-bound": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - Network accessline 257
"version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - Network accessline 258
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - Network accessline 267
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 268
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 269
"url": "https://github.com/sponsors/ljharb" - Network accessline 272
"node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 273
"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 274
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 284
"node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 285
"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 286
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 290
"node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", - Network accessline 291
"version": "1.1.1", "resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - Network accessline 292
"resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", - Network accessline 297
"node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - Network accessline 298
"version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - Network accessline 299
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - Network accessline 311
"node_modules/data-uri-to-buffer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - Network accessline 312
"version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - Network accessline 313
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - Network accessline 320
"node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 321
"version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - Network accessline 322
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 337
"node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - Network accessline 338
"version": "2.0.0", "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - Network accessline 339
"resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - Network accessline 346
"node_modules/diff": { "version": "4.0.4", "resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.4.tgz", - Network accessline 347
"version": "4.0.4", "resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.4.tgz", "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", - Network accessline 348
"resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.4.tgz", - Network accessline 356
"node_modules/dotenv": { "version": "16.6.1", "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz", - Network accessline 357
"version": "16.6.1", "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz", "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", - Network accessline 358
"resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz", - Network accessline 363
}, "funding": { "url": "https://dotenvx.com" - Network accessline 364
"funding": { "url": "https://dotenvx.com" } - Network accessline 365
"url": "https://dotenvx.com" - Network accessline 368
"node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - Network accessline 369
"version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - Network accessline 370
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - Network accessline 382
"node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - Network accessline 383
"version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - Network accessline 384
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - Network accessline 388
"node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - Network accessline 389
"version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - Network accessline 390
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - Network accessline 397
"node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - Network accessline 398
"version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - Network accessline 399
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - Network accessline 403
"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 404
"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 405
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - Network accessline 412
"node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - Network accessline 413
"version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - Network accessline 414
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - Network accessline 421
"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 422
"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 423
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - Network accessline 433
"node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - Network accessline 434
"version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - Network accessline 435
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - Network accessline 439
"node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - Network accessline 440
"version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - Network accessline 441
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - Network accessline 444
{ "type": "github", "url": "https://github.com/sponsors/jimmywarting" - Network accessline 445
"type": "github", "url": "https://github.com/sponsors/jimmywarting" }, - Network accessline 446
"url": "https://github.com/sponsors/jimmywarting" - Network accessline 448
{ "type": "paypal", "url": "https://paypal.me/jimmywarting" - Network accessline 449
"type": "paypal", "url": "https://paypal.me/jimmywarting" } - Network accessline 450
"url": "https://paypal.me/jimmywarting" - Network accessline 462
"node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - Network accessline 463
"version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - Network accessline 464
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - Network accessline 473
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 474
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 475
"url": "https://github.com/sponsors/isaacs" - Network accessline 478
"node_modules/formdata-polyfill": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - Network accessline 479
"version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - Network accessline 480
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - Network accessline 490
"node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - Network accessline 491
"version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - Network accessline 492
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - Network accessline 494
"license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 495
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 496
"url": "https://github.com/sponsors/ljharb" - Network accessline 499
"node_modules/gaxios": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.1.tgz", - Network accessline 500
"version": "7.3.1", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.1.tgz", "integrity": "sha512-kB3rzJV7d9juLZh8/56QTXCwQfxyhdOMdyYk1HdQKFtF8TJTDTZQJtixWIwXdE9Jji91mC41DUNpjleo4L4eAQ==", - Network accessline 501
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.1.tgz", - Network accessline 513
"node_modules/gcp-metadata": { "version": "8.1.4", "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.4.tgz", - Network accessline 514
"version": "8.1.4", "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.4.tgz", "integrity": "sha512-iJ9KMsiu+xKtNRX0PmGLSaIU3bUBAyzWTyqKemKPzNPsmmsBCQYmlNg+brEbES7IHSXtdVwzBPzx1vz3FAaipw==", - Network accessline 515
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.4.tgz", - Network accessline 527
"node_modules/gcp-metadata/node_modules/gaxios": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", - Network accessline 528
"version": "7.1.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", "integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==", - Network accessline 529
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", - Network accessline 542
"node_modules/gcp-metadata/node_modules/google-logging-utils": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", - Network accessline 543
"version": "1.1.3", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==", - Network accessline 544
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", - Network accessline 551
"node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - Network accessline 552
"version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - Network accessline 553
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - Network accessline 570
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 571
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 572
"url": "https://github.com/sponsors/ljharb" - Network accessline 575
"node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - Network accessline 576
"version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - Network accessline 577
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - Network accessline 588
"node_modules/glob": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - Network accessline 589
"version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - Network accessline 590
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - Network accessline 604
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 605
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 606
"url": "https://github.com/sponsors/isaacs" - Network accessline 609
"node_modules/google-auth-library": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.5.0.tgz", - Network accessline 610
"version": "10.5.0", "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.5.0.tgz", "integrity": "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==", - Network accessline 611
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.5.0.tgz", - Network accessline 627
"node_modules/google-logging-utils": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.2.0.tgz", - Network accessline 628
"version": "1.2.0", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.2.0.tgz", "integrity": "sha512-WE9av4wKDZgRjBwgVUabocx8T6/7o3Ca1Fat46FXDhXVAFibzNadedcOXrdgd1Kzmk8tsk/9ZH89Wyf/SqeZ3A==", - Network accessline 629
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.2.0.tgz", - Network accessline 636
"node_modules/googleapis": { "version": "176.0.0", "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-176.0.0.tgz", - Network accessline 637
"version": "176.0.0", "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-176.0.0.tgz", "integrity": "sha512-v24+WfeIw3R9iF8LT7eixlawezy5SGGNB/WjFV8qeiBS9G6KCsqaFngsnTXvBrVH4womehN2Co8UYJxZ0KpbvQ==", - Network accessline 638
"resolved": "https://registry.npmjs.org/googleapis/-/googleapis-176.0.0.tgz", - Network accessline 649
"node_modules/googleapis-common": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-8.0.3.tgz", - Network accessline 650
"version": "8.0.3", "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-8.0.3.tgz", "integrity": "sha512-7g1yzQKx0mmNTjiK0H9dJ8eqKqDBveES9vLHeg5neb3BMQy/d1oQefIMhIpOVT8a+f+LOcixMEdRbFIW/cQUJw==", - Network accessline 651
"resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-8.0.3.tgz", - Network accessline 666
"node_modules/googleapis-common/node_modules/gaxios": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", - Network accessline 667
"version": "7.1.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", "integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==", - Network accessline 668
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", - Network accessline 681
"node_modules/googleapis-common/node_modules/google-logging-utils": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", - Network accessline 682
"version": "1.1.3", "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==", - Network accessline 683
"resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", - Network accessline 690
"node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - Network accessline 691
"version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - Network accessline 692
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - Network accessline 697
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 698
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 699
"url": "https://github.com/sponsors/ljharb" - Network accessline 702
"node_modules/gtoken": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", - Network accessline 703
"version": "8.0.0", "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", "integrity": "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==", - Network accessline 704
"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", - Network accessline 715
"node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - Network accessline 716
"version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - Network accessline 717
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - Network accessline 722
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 723
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 724
"url": "https://github.com/sponsors/ljharb" - Network accessline 727
"node_modules/hasown": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - Network accessline 728
"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 729
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - Network accessline 739
"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 740
"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 741
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - Network accessline 752
"node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", - Network accessline 753
"version": "2.2.1", "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - Network accessline 754
"resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", - Network accessline 762
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 763
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 764
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 767
"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 768
"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 769
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - Network accessline 776
"node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", - Network accessline 777
"version": "2.2.0", "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - Network accessline 778
"resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", - Network accessline 788
"node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - Network accessline 789
"version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - Network accessline 790
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - Network accessline 794
"node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - Network accessline 795
"version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - Network accessline 796
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - Network accessline 801
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 802
"funding": { "url": "https://github.com/sponsors/isaacs" }, - Network accessline 803
"url": "https://github.com/sponsors/isaacs" - Network accessline 809
"node_modules/json-bigint": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - Network accessline 810
"version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - Network accessline 811
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - Network accessline 818
"node_modules/jwa": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - Network accessline 819
"version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", - Network accessline 820
"resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - Network accessline 829
"node_modules/jws": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - Network accessline 830
"version": "4.0.1", "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", - Network accessline 831
"resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - Network accessline 839
"node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - Network accessline 840
"version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - Network accessline 841
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - Network accessline 845
"node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", - Network accessline 846
"version": "1.3.6", "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - Network accessline 847
"resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", - Network accessline 852
"node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - Network accessline 853
"version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - Network accessline 854
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - Network accessline 861
"node_modules/minimatch": { "version": "9.0.9", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - Network accessline 862
"version": "9.0.9", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - Network accessline 863
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - Network accessline 871
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 872
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 873
"url": "https://github.com/sponsors/isaacs" - Network accessline 876
"node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - Network accessline 877
"version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - Network accessline 878
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - Network accessline 885
"node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 886
"version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - Network accessline 887
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 891
"node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - Network accessline 892
"version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - Network accessline 893
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - Network accessline 897
{ "type": "github", "url": "https://github.com/sponsors/jimmywarting" - Network accessline 898
"type": "github", "url": "https://github.com/sponsors/jimmywarting" }, - Network accessline 899
"url": "https://github.com/sponsors/jimmywarting" - Network accessline 901
{ "type": "github", "url": "https://paypal.me/jimmywarting" - Network accessline 902
"type": "github", "url": "https://paypal.me/jimmywarting" } - Network accessline 903
"url": "https://paypal.me/jimmywarting" - Network accessline 911
"node_modules/node-fetch": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - Network accessline 912
"version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - Network accessline 913
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - Network accessline 924
"funding": { "type": "opencollective", "url": "https://opencollective.com/node-fetch" - Network accessline 925
"type": "opencollective", "url": "https://opencollective.com/node-fetch" } - Network accessline 926
"url": "https://opencollective.com/node-fetch" - Network accessline 929
"node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - Network accessline 930
"version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - Network accessline 931
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - Network accessline 936
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 937
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 938
"url": "https://github.com/sponsors/ljharb" - Network accessline 941
"node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", - Network accessline 942
"version": "8.4.2", "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - Network accessline 943
"resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", - Network accessline 953
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 954
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 955
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 958
"node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - Network accessline 959
"version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw= - Network accessline 960
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - Network accessline 964
"node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - Network accessline 965
"version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - Network accessline 966
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - Network accessline 973
"node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - Network accessline 974
"version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - Network accessline 975
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - Network accessline 984
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 985
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 986
"url": "https://github.com/sponsors/isaacs" - Network accessline 989
"node_modules/qs": { "version": "6.15.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - Network accessline 990
"version": "6.15.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", - Network accessline 991
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - Network accessline 1000
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 1001
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 1002
"url": "https://github.com/sponsors/ljharb" - Network accessline 1005
"node_modules/rimraf": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - Network accessline 1006
"version": "5.0.10", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", - Network accessline 1007
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - Network accessline 1015
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 1016
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 1017
"url": "https://github.com/sponsors/isaacs" - Network accessline 1020
"node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - Network accessline 1021
"version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - Network accessline 1022
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - Network accessline 1025
{ "type": "github", "url": "https://github.com/sponsors/feross" - Network accessline 1026
"type": "github", "url": "https://github.com/sponsors/feross" }, - Network accessline 1027
"url": "https://github.com/sponsors/feross" - Network accessline 1029
{ "type": "patreon", "url": "https://www.patreon.com/feross" - Network accessline 1030
"type": "patreon", "url": "https://www.patreon.com/feross" }, - Network accessline 1031
"url": "https://www.patreon.com/feross" - Network accessline 1033
{ "type": "consulting", "url": "https://feross.org/support" - Network accessline 1034
"type": "consulting", "url": "https://feross.org/support" } - Network accessline 1035
"url": "https://feross.org/support" - Network accessline 1040
"node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - Network accessline 1041
"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 1042
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - Network accessline 1052
"node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - Network accessline 1053
"version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - Network accessline 1054
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - Network accessline 1061
"node_modules/side-channel": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - Network accessline 1062
"version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - Network accessline 1063
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - Network accessline 1075
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 1076
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 1077
"url": "https://github.com/sponsors/ljharb" - Network accessline 1080
"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 1081
"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 1082
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - Network accessline 1091
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 1092
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 1093
"url": "https://github.com/sponsors/ljharb" - Network accessline 1096
"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 1097
"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 1098
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - Network accessline 1109
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 1110
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 1111
"url": "https://github.com/sponsors/ljharb" - Network accessline 1114
"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 1115
"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 1116
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - Network accessline 1128
}, "funding": { "url": "https://github.com/sponsors/ljharb" - Network accessline 1129
"funding": { "url": "https://github.com/sponsors/ljharb" } - Network accessline 1130
"url": "https://github.com/sponsors/ljharb" - Network accessline 1133
"node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - Network accessline 1134
"version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - Network accessline 1135
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - Network accessline 1140
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 1141
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 1142
"url": "https://github.com/sponsors/isaacs" - Network accessline 1145
"node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - Network accessline 1146
"version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - Network accessline 1147
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - Network accessline 1157
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 1158
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 1159
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 1163
"name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 1164
"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 1165
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 1177
"node_modules/string-width-cjs/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1178
"version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - Network accessline 1179
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1186
"node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 1187
"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 1188
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 1192
"node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1193
"version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - Network accessline 1194
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1204
"node_modules/strip-ansi": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - Network accessline 1205
"version": "7.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - Network accessline 1206
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - Network accessline 1214
}, "funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" - Network accessline 1215
"funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" } - Network accessline 1216
"url": "https://github.com/chalk/strip-ansi?sponsor=1" - Network accessline 1220
"name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1221
"version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - Network accessline 1222
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1232
"node_modules/strip-ansi-cjs/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1233
"version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - Network accessline 1234
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1241
"node_modules/ts-node": { "version": "10.9.2", "resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz", - Network accessline 1242
"version": "10.9.2", "resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - Network accessline 1243
"resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz", - Network accessline 1285
"node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", - Network accessline 1286
"version": "5.9.3", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - Network accessline 1287
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", - Network accessline 1299
"node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 1300
"version": "6.21.0", "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - Network accessline 1301
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 1306
"node_modules/url-template": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", - Network accessline 1307
"version": "2.0.8", "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==", - Network accessline 1308
"resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", - Network accessline 1312
"node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - Network accessline 1313
"version": "3.0.1", "resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg= - Network accessline 1314
"resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - Network accessline 1319
"node_modules/web-streams-polyfill": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - Network accessline 1320
"version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - Network accessline 1321
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - Network accessline 1328
"node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - Network accessline 1329
"version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - Network accessline 1330
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - Network accessline 1343
"node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - Network accessline 1344
"version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - Network accessline 1345
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - Network accessline 1355
}, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 1356
"funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } - Network accessline 1357
"url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 1361
"name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - Network accessline 1362
"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 1363
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - Network accessline 1373
}, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 1374
"funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } - Network accessline 1375
"url": "https://github.com/chalk/wrap-ansi?sponsor=1" - Network accessline 1378
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1379
"version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - Network accessline 1380
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 1387
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 1388
"version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - Network accessline 1389
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 1397
}, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 1398
"funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } - Network accessline 1399
"url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 1402
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 1403
"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 1404
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 1408
"node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 1409
"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 1410
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 1422
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1423
"version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - Network accessline 1424
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 1434
"node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz", - Network accessline 1435
"version": "3.1.1", "resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - Network accessline 1436
"resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz",
youtube-publisher/scripts/package.json
- Executable scriptline 1
Executable file
youtube-publisher/scripts/tests/youtube-caption-upsert.test.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/tests/youtube-live-service.test.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/tests/youtube-live.test.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/tests/youtube-upload-recovery.test.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/upload-captions.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/upload-thumbnail.ts
- Executable scriptline 1
Executable file - Network accessline 113
const thumbnailKeys = Object.keys(video.snippet?.thumbnails || {}); console.log(`VIDEO_ID: ${options.videoId}`); console.log(`VIDEO_URL: https://youtu.be/${options.videoId}`); - Network accessline 114
console.log(`VIDEO_ID: ${options.videoId}`); console.log(`VIDEO_URL: https://youtu.be/${options.videoId}`); console.log(`THUMBNAIL_FILE: ${options.thumbnail}`); - Network accessline 115
console.log(`VIDEO_URL: https://youtu.be/${options.videoId}`);
youtube-publisher/scripts/youtube-caption-upsert.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/youtube-live-cli.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/youtube-live-service.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/youtube-live.ts
- Executable scriptline 1
Executable file - Network accessline 48
privacyStatus: item.status?.privacyStatus, boundStreamId: item.contentDetails?.boundStreamId, url: item.id ? `https://youtu.be/${item.id}` : undefined, - Network accessline 49
boundStreamId: item.contentDetails?.boundStreamId, url: item.id ? `https://youtu.be/${item.id}` : undefined, }; - Network accessline 50
url: item.id ? `https://youtu.be/${item.id}` : undefined,
youtube-publisher/scripts/youtube-update-description.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/youtube-upload-recovery.ts
- Executable scriptline 1
Executable file
youtube-publisher/scripts/youtube-upload.ts
- Executable scriptline 1
Executable file - Network accessline 204
if (options.dryRun) { console.log("\n[DRY RUN] Would upload video with above settings"); return { videoId: "DRY_RUN", url: "https://youtu.be/DRY_RUN" }; - Network accessline 205
console.log("\n[DRY RUN] Would upload video with above settings"); return { videoId: "DRY_RUN", url: "https://youtu.be/DRY_RUN" }; } - Network accessline 206
return { videoId: "DRY_RUN", url: "https://youtu.be/DRY_RUN" }; - Network accessline 245
if (!response) throw new AmbiguousUploadError(undefined, "upload returned no response"); const videoId = response.data.id!; const videoUrl = `https://youtu.be/${videoId}`; - Network accessline 247
const videoUrl = `https://youtu.be/${videoId}`; - Network accessline 381
console.log(`Subtitles ${caption.action}!`); console.log("SUBTITLES_UPLOADED: true"); console.log(`https://youtu.be/${videoId}`); - Network accessline 382
console.log("SUBTITLES_UPLOADED: true"); console.log(`https://youtu.be/${videoId}`); } catch (err: any) { - Network accessline 383
console.log(`https://youtu.be/${videoId}`);
youtube-to-blog-post/CHANGELOG.md
- Network accessline 231
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk", - Network accessline 232
"author": "M.", "image_cdn": "https://img.869hr.uk", "auto_deploy": true, - Network accessline 233
"image_cdn": "https://img.869hr.uk", - Network accessline 372
# 2. 直接运行,自动使用配置 python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://youtu.be/VIDEO_ID" - Network accessline 373
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py "https://youtu.be/VIDEO_ID" - Network accessline 374
"https://youtu.be/VIDEO_ID" - Network accessline 715
python scripts/youtube_to_post.py https://youtu.be/VIDEO_ID - Network accessline 731
python scripts/youtube_to_post.py https://youtu.be/VIDEO_ID --no-humanizer
youtube-to-blog-post/DOCUMENTATION_UPDATE_SUMMARY.md
- Network accessline 110
cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg - Network accessline 111
thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg - Network accessline 116
## 🔗 参考链接 * [相关推荐](https://869hr.uk) - Network accessline 117
* [相关推荐](https://869hr.uk) - Network accessline 135
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 136
"https://www.youtube.com/watch?v=VIDEO_ID"
youtube-to-blog-post/INSTALL.md
- Network accessline 68
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk" - Network accessline 69
"author": "M.", "image_cdn": "https://img.869hr.uk" } - Network accessline 70
"image_cdn": "https://img.869hr.uk" - Network accessline 100
## 视频教程 <iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe> - Network accessline 101
<iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe> - Network accessline 128
# 2. 从 YouTube 生成文章 python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" - Network accessline 129
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 130
"https://www.youtube.com/watch?v=xxxxx"
youtube-to-blog-post/PRE_COMMIT_SUMMARY.md
- Network accessline 118
- ✅ 测试视频: `https://www.youtube.com/watch?v=oWzxvgQnALs`
youtube-to-blog-post/README.md
- Network accessline 3
> 仓库地址: https://github.com/wlzh/skills - Network accessline 40
# 只需要提供 YouTube URL python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 41
python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 91
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk", - Network accessline 92
"author": "M.", "image_cdn": "https://img.869hr.uk", "auto_deploy": true, - Network accessline 93
"image_cdn": "https://img.869hr.uk", - Network accessline 108
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk" - Network accessline 109
"author": "M.", "image_cdn": "https://img.869hr.uk" } - Network accessline 110
"image_cdn": "https://img.869hr.uk" - Network accessline 152
- 核心关键词 - 长尾关键词 cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 封面 - Network accessline 153
- 长尾关键词 cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 封面 thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 缩略图 - Network accessline 154
cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 封面 - Network accessline 155
thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 缩略图 - Network accessline 198
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=dQw4w9WgXcQ" - Network accessline 199
"https://www.youtube.com/watch?v=dQw4w9WgXcQ" - Network accessline 211
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" \ - Network accessline 212
"https://www.youtube.com/watch?v=xxxxx" \ - Network accessline 231
| 参数 | 说明 | 示例 | |------|------|------| | `url` | YouTube URL(必需) | `"https://youtu.be/xxxx"` | - Network accessline 232
|------|------|------| | `url` | YouTube URL(必需) | `"https://youtu.be/xxxx"` | | `-b, --blog-dir` | 博客目录 | `-b /path/to/blog` | - Network accessline 233
| `url` | YouTube URL(必需) | `"https://youtu.be/xxxx"` | - Network accessline 247
- ✅ `https://www.youtube.com/watch?v=VIDEO_ID` - Network accessline 248
- ✅ `https://youtu.be/VIDEO_ID` - Network accessline 249
- ✅ `https://www.youtube.com/embed/VIDEO_ID`
youtube-to-blog-post/SEO_OPTIMIZATION.md
- Network accessline 9
| 特殊字符破坏 YAML | `**本期视频带来...` | 部署失败 | | 描述过长 | 500+ 字符 | 搜索引擎截断 | | 关键词质量差 | `https://t`, `加入Telegram` | 无 SEO 价值 | - Network accessline 10
| 描述过长 | 500+ 字符 | 搜索引擎截断 | | 关键词质量差 | `https://t`, `加入Telegram` | 无 SEO 价值 | | 无封面图 | N/A | 搜索结果展示差 | - Network accessline 11
| 关键词质量差 | `https://t`, `加入Telegram` | 无 SEO 价值 | - Network accessline 35
keywords: - **本期视频... - https://t ❌ 无意义 - Network accessline 37
- https://t ❌ 无意义 - Network accessline 54
# 新版本 cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg ✅ 高清封面 - Network accessline 55
cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg ✅ 高清封面 - Network accessline 56
thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg ✅ 缩略图 - Network accessline 110
## 参考链接 * [YouTube视频原地址](https://www.youtube.com/watch?v=xxx) - Network accessline 111
* [YouTube视频原地址](https://www.youtube.com/watch?v=xxx) - Network accessline 112
* [相关推荐](https://869hr.uk) ✅ 内部链接 - Network accessline 129
# URL: https://869hr.uk/2026/tech/vps-free-server-tutorial/ - Network accessline 167
# 预览模式(不保存文件) python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" --dry-run - Network accessline 168
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py "https://www.youtube.com/watch?v=xxxxx" --dry-run - Network accessline 169
"https://www.youtube.com/watch?v=xxxxx" --dry-run - Network accessline 219
- [Google SEO 搜索中心](https://developers.google.com/search/docs) - Network accessline 220
- [YouTube API 最佳实践](https://developers.google.com/youtube/v3) - Network accessline 221
- [Schema.org 视频结构化数据](https://schema.org/VideoObject)
youtube-to-blog-post/SEO_UPGRADE_SUMMARY.md
- Network accessline 36
description: 🚀 **本期视频带来真正的"终极白嫖"方案!无需购买VPS, 0成本,1分钟搭建属于你的无限流量节点!** 💬 加入Telegram讨论群: https://t.me/tgmShare 💬 Twitter:https://x.com/gxjdian... (500+ 字符) - Network accessline 38
https://t.me/tgmShare 💬 Twitter:https://x.com/gxjdian... (500+ 字符) - Network accessline 56
# 新增 cover: https://img.youtube.com/vi/oWzxvgQnALs/maxresdefault.jpg - Network accessline 57
cover: https://img.youtube.com/vi/oWzxvgQnALs/maxresdefault.jpg - Network accessline 58
thumbnail: https://img.youtube.com/vi/oWzxvgQnALs/maxresdefault.jpg - Network accessline 67
keywords: - **本期视频带来真正的"终极白嫖"方案 ❌ 特殊字符 - https://t ❌ URL 片段 - Network accessline 68
- **本期视频带来真正的"终极白嫖"方案 ❌ 特殊字符 - https://t ❌ URL 片段 - 加入Telegram讨论群: ❌ 无意义 - Network accessline 69
- https://t ❌ URL 片段 - Network accessline 131
* [YouTube视频原地址](https://www.youtube.com/watch?v=oWzxvgQnALs) - Network accessline 132
* [相关推荐](https://869hr.uk) ✅ 新增内部链接 - Network accessline 153
旧版:https://869hr.uk/2026/tech/vps-0-4k-1tutorial/ - Network accessline 154
新版:https://869hr.uk/2026/tech/vps-free-vpn-4k-tutorial/ - Network accessline 201
# 基本用法 python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" - Network accessline 202
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 203
"https://www.youtube.com/watch?v=xxxxx" - Network accessline 217
# 1. 生成文章 python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" - Network accessline 218
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py "https://www.youtube.com/watch?v=xxxxx" - Network accessline 219
"https://www.youtube.com/watch?v=xxxxx" - Network accessline 264
**测试视频:** https://www.youtube.com/watch?v=oWzxvgQnALs
youtube-to-blog-post/SKILL.md
- Network accessline 75
# 只需要提供 YouTube URL,所有 SEO 优化自动完成 python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 76
python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=VIDEO_ID" - Network accessline 132
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk", - Network accessline 133
"author": "M.", "image_cdn": "https://img.869hr.uk", "auto_deploy": true, - Network accessline 134
"image_cdn": "https://img.869hr.uk", - Network accessline 154
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk", - Network accessline 155
"author": "M.", "image_cdn": "https://img.869hr.uk", "auto_deploy": false - Network accessline 156
"image_cdn": "https://img.869hr.uk", - Network accessline 185
- 长尾关键词 - 相关词 cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 新增 - Network accessline 186
- 相关词 cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 新增 thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 新增 - Network accessline 187
cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 新增 - Network accessline 188
thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg # ✅ 新增 - Network accessline 198
<div class="video-container"><iframe src="https://www.youtube.com/embed/VIDEO_ID" title="详细描述视频内容" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="s - Network accessline 277
python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" - Network accessline 289
python scripts/youtube_to_post.py \ "https://www.youtube.com/watch?v=xxxxx" \ - Network accessline 290
"https://www.youtube.com/watch?v=xxxxx" \ - Network accessline 310
| 参数 | 说明 | 示例 | |------|------|------| | `url` | YouTube 视频 URL(必需) | `"https://youtu.be/xxxx"` | - Network accessline 311
|------|------|------| | `url` | YouTube 视频 URL(必需) | `"https://youtu.be/xxxx"` | | `-b, --blog-dir` | 博客根目录 | `-b /path/to/blog` | - Network accessline 312
| `url` | YouTube 视频 URL(必需) | `"https://youtu.be/xxxx"` | - Network accessline 377
- ✅ `https://www.youtube.com/watch?v=VIDEO_ID` - Network accessline 378
- ✅ `https://youtu.be/VIDEO_ID` - Network accessline 379
- ✅ `https://www.youtube.com/embed/VIDEO_ID` - Network accessline 380
- ✅ `https://www.youtube.com/watch?v=VIDEO_ID&list=LIST_ID`
youtube-to-blog-post/scripts/youtube_to_post.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 181
"default_tags": ["视频教程"], "author": "M.", "image_cdn": "https://img.869hr.uk", - Network accessline 182
"author": "M.", "image_cdn": "https://img.869hr.uk", "auto_deploy": False, - Network accessline 183
"image_cdn": "https://img.869hr.uk", - Network accessline 798
local_thumbnail = config.get('local_thumbnail', '') maxres_url = f"https://img.youtube.com/vi/{video_id}/maxresdefault.jpg" - Network accessline 799
maxres_url = f"https://img.youtube.com/vi/{video_id}/maxresdefault.jpg" - Network accessline 800
sd_url = f"https://img.youtube.com/vi/{video_id}/sddefault.jpg" - Network accessline 805
try: import requests resp = requests.head(maxres_url, timeout=5, allow_redirects=True) - Network accessline 806
import requests resp = requests.head(maxres_url, timeout=5, allow_redirects=True) cover_image = maxres_url if resp.status_code == 200 else sd_url - Network accessline 807
resp = requests.head(maxres_url, timeout=5, allow_redirects=True) - Network accessline 844
<div class="video-container"><iframe src="https://www.youtube.com/embed/{video_id}" title="{title.replace(chr(34), '"')}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; - Network accessline 859
- [YouTube视频原地址](https://www.youtube.com/watch?v={video_id})
youtube-to-blog-post/tests/test_description_format.py
- Executable scriptline 1
Executable file - Network accessline 77
formatted = blog.format_description_as_markdown( "更多资料获取及讨论群\n" "1. 微信讨论群:https://qr.869hr.uk/aitech\n" - Network accessline 78
"更多资料获取及讨论群\n" "1. 微信讨论群:https://qr.869hr.uk/aitech\n" "短信及语音接码平台\n" - Network accessline 79
"1. 微信讨论群:https://qr.869hr.uk/aitech\n" - Network accessline 80
"短信及语音接码平台\n" "https://hero-sms.com/?ref=357885" ) - Network accessline 81
"https://hero-sms.com/?ref=357885" - Network accessline 83
self.assertIn("## 关注与资源", formatted) self.assertIn("## 短信及语音接码平台", formatted) self.assertIn("https://hero-sms.com/?ref=357885", formatted) - Network accessline 85
self.assertIn("https://hero-sms.com/?ref=357885", formatted) - Network accessline 176
tag_block = front_matter.split("tags:\n", 1)[1].split("\nkeywords:", 1)[0] self.assertEqual(tag_block.count(" - "), 5) self.assertNotIn("[相关推荐](https://869hr.uk)", content) - Network accessline 178
self.assertNotIn("[相关推荐](https://869hr.uk)", content)
youtube-to-blog-post/tests/test_publish_safety.py
- Executable scriptline 1
Executable file
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: 10 facts
- Contacts t.me, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/deploy_cloudflare_pages.sh:94High confidence
- Contacts api.telegram.org, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/deploy_cloudflare_pages.sh:95High confidence
- Contacts t.me, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/export_excel.py:73High confidence
- Contacts t.me, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/mswnlz_publish.py:357High confidence
- Contacts api.telegram.org, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/mswnlz_publish.py:360High confidence
- Contacts api.cloudflare.com, which SKILL.md, the README and the plugin manifest do not mentionquark-mswnlz-publisher/scripts/verify_pages_release.py:40High confidence
- Contacts platform.minimax.io, which SKILL.md, the README and the plugin manifest do not mentiontext-to-speech/scripts/minimax_voice_clone.py:114High confidence
- Contacts api.minimax.io, which SKILL.md, the README and the plugin manifest do not mentiontext-to-speech/scripts/minimax_voice_clone.py:143High confidence
- Contacts api.minimaxi.com, which SKILL.md, the README and the plugin manifest do not mentiontext-to-speech/scripts/text_to_speech.py:286High confidence
- Contacts brew.sh, which SKILL.md, the README and the plugin manifest do not mentionvoice-changer/install_dependencies.sh:27High confidence
Signal confidence: 490 facts
- Network access in code of documentationaudiocut-keyword/CHANGELOG.md:43Low confidence
- Network access in code of documentationaudiocut-keyword/CHANGELOG.md:44Low confidence
- Network access in prose of documentationaudiocut-keyword/README.md:3Low confidence
- Network access in code of documentationaudiocut-keyword/README.md:80Low confidence
- Network access in code of documentationaudiocut-keyword/README.md:81Low confidence
- Network access in code of documentationaudiocut-keyword/README.md:82Low confidence
- Dangerous shell operation in code of the SKILL.mdaudiocut-keyword/SKILL.md:277High confidence
- Network access in code of the SKILL.mdaudiocut-keyword/SKILL.md:288High confidence
- Network access in code of the SKILL.mdaudiocut-keyword/SKILL.md:289High confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:146Low confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:147Low confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:148Low confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:151Low confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:152Low confidence
- Network access in code of a testaudiocut-keyword/TEST_REPORT.md:153Low confidence
- Executable script in code of a file that runsaudiocut-keyword/scripts/audiocut_keyword.py:1High confidence
- Executable script in code of a file that runsaudiocut-keyword/scripts/cut_audio.py:1High confidence
- Executable script in code of a file that runsaudiocut-keyword/scripts/detect_keywords.py:1High confidence
- Executable script in code of a file that runsaudiocut-keyword/scripts/transcribe_audio.py:1High confidence
- Executable script in code of a testaudiocut-keyword/test_audiocut.sh:1Low confidence
- Network access in prose of documentationcode-roaster/README.md:3Low confidence
- Dangerous shell operation in prose of the SKILL.mdcode-roaster/SKILL.md:121Low confidence
- Dangerous shell operation in prose of the SKILL.mdcode-roaster/SKILL.md:124Low confidence
- Network access in prose of documentationimage-generator/README.md:3Low confidence
- Network access in code of documentationimage-generator/README.md:85Low confidence
- Network access in code of documentationimage-generator/README.md:86Low confidence
- Network access in code of documentationimage-generator/README.md:87Low confidence
- Access to secrets in code of documentationimage-generator/README.md:88Low confidence
- Network access in code of documentationimage-generator/README.md:94Low confidence
- Access to secrets in code of documentationimage-generator/README.md:94Low confidence
- Network access in code of documentationimage-generator/README.md:95Low confidence
- Network access in code of documentationimage-generator/README.md:96Low confidence
- Network access in prose of documentationimage-generator/README.md:109Low confidence
- Network access in prose of documentationimage-generator/README.md:110Low confidence
- Access to secrets in prose of documentationimage-generator/README.md:110Low confidence
- Network access in prose of documentationimage-generator/README.md:111Low confidence
- Access to secrets in prose of documentationimage-generator/README.md:111Low confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:105High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:106High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:107High confidence
- Access to secrets in code of the SKILL.mdimage-generator/SKILL.md:108High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:114High confidence
- Access to secrets in code of the SKILL.mdimage-generator/SKILL.md:114High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:115High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:116High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:120High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:121High confidence
- Network access in code of the SKILL.mdimage-generator/SKILL.md:122High confidence
- Access to secrets in code of the SKILL.mdimage-generator/SKILL.md:123High confidence
- Network access in prose of the SKILL.mdimage-generator/SKILL.md:143Low confidence
and 440 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md audiocut-keyword/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md audiocut-keyword/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md audiocut-keyword/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md audiocut-keyword/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md audiocut-keyword/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md audiocut-keyword/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.