free-course-share
小红书"免费课程/证书"分享笔记生产工作流。筛课打分 → 素材拼图 → 证书姓名打码(中文OCR+嵌入图同步修复) → 竖版封面 → 文案初稿 → 发布 checklist 一站式产出。
Bonnie Geng
@bonniegeng-max
Install
$ openclaw skills install @bonniegeng-max/free-course-share免费课程分享笔记工作流(小红书 · 公开版)
服务场景:把免费课程/证书做成小红书笔记的完整生产流水线。 脚本自动化素材生产(拼图 + 打码 + 竖版封面),文档沉淀方法论与文案模板。
环境准备(一次性)
推荐 venv 隔离安装(避免污染系统 Python):
python3 -m venv .venv && source .venv/bin/activate
pip install \
pillow==12.1.0 \
numpy==2.3.5 \
opencv-python-headless==4.13.0.92 \
pytesseract==0.3.13
# OCR 中文包(系统级,需 sudo,与 pip 安装隔离)
sudo apt-get install -y tesseract-ocr tesseract-ocr-chi-sim
版本号与 2026-09 release 测试一致;升级前请看脚本 README 的兼容性说明。
隐私与同意(发布前必读)
证书截图可能含姓名、邮箱、员工编号、CPE 积分账号、Registry ID、登录账号等个人/账户关联信息。本 skill 的打码脚本 redact.py 是辅助而非保证:
- OCR 不完美:艺术字、低清字符、特殊字体可能识别失败 → 打码框偏移或漏字
- 嵌入缩略图:封面/配图里的证书缩略图经缩放/插值后边缘可能露字
- 元数据残留:PNG EXIF、文件名路径、URL 参数里的个人信息脚本不会清理
所以强制要求:
- 每张成品图发布前人眼确认打码到位(脚本会输出验证裁剪图,逐张放大确认)
- 不确定能否完全打码时,宁可不用真证书:用裁剪到不含姓名/ID 的局部图,或用课程官方提供的脱敏示例图替代
- 公司/机构证书常有保密/分发限制条款,发布前确认自己有发布权限
- 不要发布他人证书:只发自己名下、且有权分享的
流程总览
Step 1 · 筛课(先判断值不值得发)
读 references/course-screening.md 的 8 项验证清单 + 品牌分级 + 打分表。
先核"是否真免费、无订阅墙",再查时长、证书可挂 LinkedIn 等核心价值项;
时效信息(截止/改版)单独加分。结论:发 / 缓发 / 不发,各给一句话理由。
Step 2 · 素材拼图
用户跑完课程后把截图发来(大纲页、quiz、证书页等),统一放在一个目录(如 uploads/)。
顺序按文件名序号排:Clipboard_Screenshot.png → -1.png → -2.png …
不要按目录名或 mtime 排。
默认两列布局(手机可读,勿横排拉宽):
python3 {baseDir}/scripts/stitch.py two-col 图1 图2 ... -o /workspace/第N章quiz拼图.png
3张→左2右1;5张→左3右2(左侧 ceil(n/2) 张)。背景自动检测(深界面→深底,白底→白底)。
Step 2.5 · 敏感信息打码(发布前必做)
证书上的姓名、工号、邮箱等个人信息必须打码。用脚本一条龙(中文OCR定位 → 马赛克 → 嵌入缩略图同步修复 → 自动出验证图):
python3 {baseDir}/scripts/redact.py \
--src 证书原图.png --text "张三" \
--targets 封面.png 配图-实拍页.png \
--out /workspace/证书-打码.png --target-out /workspace/ \
--verify-dir /tmp/redact_verify
要点(踩坑总结,别跳步):
- 中文定位必须用 chi_sim——eng OCR 对中文输出乱码坐标,是打码打偏的最常见根因
- 嵌在封面/配图里的缩略图不要重做整图:脚本用"模板匹配粗定位 + MSE 网格精搜(scale 和 offset 都要精调)"求出嵌入变换后局部贴片修复;按比例手工估算坐标必错
- OCR 认不出(艺术字/低清)→
--box x1,y1,x2,y2手动兜底 - 交付前必须看脚本输出的验证裁剪图,确认框只盖住目标文字再发布
- 清除历史打错的内容用
--clean-box(从干净源图取贴片还原)
Step 3 · 封面(3:4 竖版 1080×1440)
按主体截图底色选主题:深色界面截图→--theme dark;白底 quiz→--theme light。
python3 {baseDir}/scripts/cover_vertical.py \
--out /workspace/笔记封面.png \
--theme dark|light \
--top-badge "品牌名|色" \
--badges "标签1" "标签2" \
--title "主标题" \
--sub "副标题" \
--body 主体图.png \
--points "大字|小字" ... \
--warn "警示1" "警示2" \
--cta "底部引导语"
硬性要求:封面与笔记标题中的时长数字必须一致。
Step 4 · 文案初稿
标题公式:白嫖 + 大厂/名校名 + 具体时长 + 拿证 + 附加钩子
例:白嫖微软✅LinkedIn联名AI证书 4h直接挂简历
正文结构:
- 钩子句(1-2行,白嫖 + 官方 + 谁背书)
- 这是什么(品牌、几门课、时长、免费程度)
- 保姆级步骤(编号 5 步内:注册→进路径→学→测验→领证挂档案)
- 大纲速览(表或一行一个)
- 紧迫/稀缺提醒
- 标签
Step 5 · 交付
产物:筛课结论 + 拼图 + 封面 + 文案 + 发布 checklist。 checklist 通用项:按目标账号活跃时段发布 / 发布后置顶评论(放短链+引导)/ 预备问答 / 数据观察点。
通用踩坑原则
- 证书 > 徽章:标题优先用"证书/认证"
- 答案/测验截图放评论区,不放正文(防限流+促互动)
- 标题与封面时长一致
- 小众品牌慎发;优先微软/Google/名校
- 一切以"自己走一遍流程"为准,素材截图=最强信任状
- 政策随时变:发文前自核
Top skills in this category
Google Ads
@hith3shInspect Google Ads accounts and campaigns, run GAQL reports, and coordinate campaign or audience changes with confirmation via the Google Ads API. Use this s...
Google Analytics
@hith3shRun GA4 reports, inspect properties, list audiences and data streams, and analyze traffic and conversion data via the Google Analytics Data API. Use this ski...
Feishu Evolver Wrapper
@autogame-17(Depreciated: This skill is no longer maintained; its related functions have been absorbed by the Evolver main body.) Feishu-integrated wrapper for the capability-evolver. Manages the evolution loop lifecycle (start/stop/ensure), sends rich Feishu card reports, and provides...
Edge TTS
@i3130002Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
LinkedIn API integration with managed OAuth. Share posts, manage profile, and access LinkedIn features. Use this skill when users want to share content on LinkedIn, get profile/organization information, or interact with LinkedIn's platform. Advertising features (campaigns, ad accounts) require additional OAuth scopes — verify granted scopes before use. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key. Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.