🔄 卡若AI 同步 2026-03-02 20:52 | 更新:金盾、卡木、总索引与入口、运营中枢工作台 | 排除 >20MB: 14 个
This commit is contained in:
24
01_卡资(金)/金盾_数据安全/存客宝副本管理/SKILL.md
Normal file
24
01_卡资(金)/金盾_数据安全/存客宝副本管理/SKILL.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
name: 存客宝副本管理
|
||||
description: 存客宝副本管理 Skill 已迁至存客宝副本项目内,并改名为「存客宝开发 AI」。本文件为迁移说明;实际 Skill 见存客宝副本仓库 .cursor/skills/存客宝开发AI/SKILL.md
|
||||
group: 金
|
||||
triggers: 存客宝副本、cunkebao_副本、存客宝开发文档、副本代码管理
|
||||
owner: 金盾
|
||||
version: "1.0"
|
||||
updated: "2026-03-02"
|
||||
---
|
||||
|
||||
# 存客宝副本管理(已迁移 · 改名为存客宝开发 AI)
|
||||
|
||||
**本 Skill 已迁入存客宝副本项目内,并改名为「存客宝开发 AI」,以副本为主,专门管理该项目的开发文档。**
|
||||
|
||||
## 实际 Skill 位置(主)
|
||||
|
||||
请在存客宝副本项目中阅读与执行:
|
||||
|
||||
- **路径**:`/Users/karuo/Documents/开发/存客宝/cunkebao_副本/.cursor/skills/存客宝开发AI/SKILL.md`
|
||||
- **说明**:在 Cursor 中打开存客宝副本(cunkebao_副本)项目时,将自动加载该项目下的「存客宝开发 AI」Skill;所有开发文档管理以该仓库内 `开发文档/`(仅 1~10 目录)为准。
|
||||
|
||||
## 卡若AI 技能注册表
|
||||
|
||||
SKILL_REGISTRY 中「存客宝副本管理」已指向上述副本内「存客宝开发 AI」路径,以便在卡若AI 上下文中仍可引用同一份 Skill 内容。
|
||||
66
01_卡资(金)/金盾_数据安全/存客宝副本管理/douyin_video_to_text.sh
Executable file
66
01_卡资(金)/金盾_数据安全/存客宝副本管理/douyin_video_to_text.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# 抖音/任意视频 → 命令行提取文字(优先用本机 MLX-Whisper)
|
||||
# 用法:
|
||||
# 本地视频: ./douyin_video_to_text.sh /path/to/video.mp4
|
||||
# 抖音链接: ./douyin_video_to_text.sh "https://v.douyin.com/xxx" [cookie.txt]
|
||||
# 输出:卡若Ai的文件夹/导出/ 下同名的 .txt
|
||||
|
||||
set -e
|
||||
OUT_ROOT="/Users/karuo/Documents/卡若Ai的文件夹/导出"
|
||||
mkdir -p "$OUT_ROOT"
|
||||
|
||||
# 优先用本机 MLX-Whisper(Apple Silicon 更快)
|
||||
MLX_WHISPER="/Users/karuo/miniforge3/envs/mlx-whisper/bin/mlx_whisper"
|
||||
if [[ -x "$MLX_WHISPER" ]]; then
|
||||
TRANScribe="$MLX_WHISPER"
|
||||
TRANScribe_OPTS=(--language zh -f txt)
|
||||
else
|
||||
TRANScribe="whisper"
|
||||
TRANScribe_OPTS=(--language zh --output_format txt --verbose False)
|
||||
fi
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "用法: $0 <视频文件路径或抖音链接> [cookie.txt]"
|
||||
echo "示例: $0 ./路飞直播回放.mp4"
|
||||
echo "示例: $0 'https://v.douyin.com/Wv8TNVjwduU/' cookie.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INPUT="$1"
|
||||
COOKIE="$2"
|
||||
WORK="/tmp/douyin_extract_$$"
|
||||
mkdir -p "$WORK"
|
||||
trap "rm -rf '$WORK'" EXIT
|
||||
|
||||
if [[ -f "$INPUT" ]]; then
|
||||
VIDEO="$INPUT"
|
||||
BASE=$(basename "$INPUT" | sed 's/\.[^.]*$//')
|
||||
else
|
||||
BASE="douyin_$(date +%H%M%S)"
|
||||
OPTS=(-o "$WORK/%(id)s.%(ext)s" --no-warnings)
|
||||
if [[ -n "$COOKIE" && -f "$COOKIE" ]]; then
|
||||
OPTS+=(--cookies "$COOKIE")
|
||||
else
|
||||
echo "提示: 抖音需 Cookie。可从浏览器导出 cookie.txt 后: $0 '$INPUT' cookie.txt"
|
||||
fi
|
||||
yt-dlp "${OPTS[@]}" "$INPUT" || { echo "下载失败,请提供 cookie 或本地视频文件"; exit 1; }
|
||||
VIDEO=$(find "$WORK" -type f \( -name "*.mp4" -o -name "*.webm" -o -name "*.mkv" \) | head -1)
|
||||
[[ -z "$VIDEO" ]] && { echo "未找到下载的视频"; exit 1; }
|
||||
fi
|
||||
|
||||
echo "正在转写(${TRANScribe}): $VIDEO"
|
||||
if [[ "$TRANScribe" == "$MLX_WHISPER" ]]; then
|
||||
"$MLX_WHISPER" "$VIDEO" "${TRANScribe_OPTS[@]}" -o "$WORK" --output-name "$BASE"
|
||||
TXT="$WORK/${BASE}.txt"
|
||||
else
|
||||
"$TRANScribe" "$VIDEO" "${TRANScribe_OPTS[@]}" --output_dir "$WORK"
|
||||
TXT=$(find "$WORK" -name "*.txt" | head -1)
|
||||
fi
|
||||
if [[ -n "$TXT" && -f "$TXT" ]]; then
|
||||
FINAL="$OUT_ROOT/${BASE}_转写.txt"
|
||||
cp "$TXT" "$FINAL"
|
||||
echo "已保存: $FINAL"
|
||||
cat "$FINAL"
|
||||
else
|
||||
echo "未生成 txt(若视频无音轨会失败)"; exit 1
|
||||
fi
|
||||
@@ -41,19 +41,26 @@ updated: "2026-02-22"
|
||||
4. **提取视频 URL**:从 `<source src="...">` 或 JSON 中获取 CDN/Play 链接
|
||||
5. **下载视频**:requests 流式下载,优先无水印链接(`playwm`→`play`)
|
||||
|
||||
### 一键命令
|
||||
### 一键命令(命令行粘贴链接即提取)
|
||||
|
||||
```bash
|
||||
# 推荐:仅要页面文案,不下载视频(粘贴链接→终端输出文案+保存 .txt)
|
||||
cd /Users/karuo/Documents/个人/卡若AI/03_卡木(木)/木叶_视频内容/抖音视频解析/脚本
|
||||
python3 douyin_parse.py "https://v.douyin.com/SpVK8mlOUUo/"
|
||||
./douyin_caption_only.sh "https://v.douyin.com/xxx"
|
||||
|
||||
# 仅解析不下载
|
||||
# 或用 Python 直接调
|
||||
python3 douyin_parse.py "https://v.douyin.com/xxx" --no-download
|
||||
|
||||
# 解析并下载视频
|
||||
python3 douyin_parse.py "https://v.douyin.com/xxx"
|
||||
|
||||
# 指定输出目录
|
||||
python3 douyin_parse.py "https://v.douyin.com/xxx" -o /path/to/output
|
||||
```
|
||||
|
||||
- **仅文案**:`douyin_caption_only.sh` 或 `--no-download`,不下载视频。
|
||||
- **视频内语音转文字**:用 `01_卡资(金)/金盾_数据安全/存客宝副本管理/douyin_video_to_text.sh`(需下载后 Whisper 转写)。
|
||||
|
||||
---
|
||||
|
||||
## 相关文件
|
||||
|
||||
38
03_卡木(木)/木叶_视频内容/抖音视频解析/参考资料/GitHub项目参考_抖音文案与字幕.md
Normal file
38
03_卡木(木)/木叶_视频内容/抖音视频解析/参考资料/GitHub项目参考_抖音文案与字幕.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 抖音文案/字幕提取 · GitHub 项目参考
|
||||
|
||||
> 用于「粘贴链接→提取文案」或「视频语音转文字」时可参考的开源方案。本技能已实现:**仅解析页面文案**(不下载视频);**语音转字**需下载后用 Whisper 等。
|
||||
|
||||
---
|
||||
|
||||
## 本技能现有能力
|
||||
|
||||
| 需求 | 命令/脚本 | 说明 |
|
||||
|------|-----------|------|
|
||||
| 仅要页面文案(标题+描述) | `douyin_caption_only.sh "链接"` 或 `douyin_parse.py "链接" --no-download` | 不下载视频,直接解析页面 |
|
||||
| 要视频内语音转文字 | `douyin_video_to_text.sh "链接"`(金盾/存客宝副本管理) | 需 yt-dlp 下载 + MLX-Whisper/Whisper 转写 |
|
||||
|
||||
---
|
||||
|
||||
## GitHub 可参考项目(检索于 2026-03)
|
||||
|
||||
1. **douyin-AI-wenan** (fangyuan99)
|
||||
基于 Vue3 + Coze:从抖音视频提取文本 → 修正同音字、标点 → 可推 Memos。偏文案后处理。
|
||||
|
||||
2. **douyin-text-extractor** (wjllance)
|
||||
Node/TS:解析分享链接拿无水印视频 → 提音频 → 转文本。类似「下载+ASR」链路。
|
||||
|
||||
3. **Short-Video-Link Parsing and Caption Extraction** (zhangyanhua0913)
|
||||
多平台(20+)链接解析 + 文案提取,支持批量、API,部分用 LLM 处理。
|
||||
|
||||
4. **VideoCaptioner / 卡卡字幕助手** (WEIFENG2333)
|
||||
Python,1.3w+ stars:语音识别、断句、优化、翻译,词级时间戳、VAD,LLM 字幕重组。适合做「视频→字幕」全流程。
|
||||
|
||||
5. **VideoTextPro**
|
||||
基于 VideoCaptioner,针对抖音直播录制/回放优化,适合长视频转文字。
|
||||
|
||||
---
|
||||
|
||||
## 小结
|
||||
|
||||
- **只要页面文案、不下载**:用本技能 `douyin_parse.py --no-download` 或 `douyin_caption_only.sh` 即可。
|
||||
- **要视频里人声转文字**:需下载视频(或流)后做 ASR,可参考上述 2/4/5 或本仓库 `douyin_video_to_text.sh`(Whisper/MLX-Whisper)。
|
||||
28
03_卡木(木)/木叶_视频内容/抖音视频解析/脚本/douyin_caption_only.sh
Normal file
28
03_卡木(木)/木叶_视频内容/抖音视频解析/脚本/douyin_caption_only.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# 抖音链接 → 仅提取页面文案(不下载视频)
|
||||
# 用法:./douyin_caption_only.sh "https://v.douyin.com/xxx"
|
||||
# 输出:文案打印到终端,并保存到 卡若Ai的文件夹/视频/{aweme_id}_文案.txt
|
||||
|
||||
set -e
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
OUT_DIR="${DOUYIN_CAPTION_OUT:-/Users/karuo/Documents/卡若Ai的文件夹/视频}"
|
||||
mkdir -p "$OUT_DIR"
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "用法: $0 <抖音视频链接>"
|
||||
echo "示例: $0 'https://v.douyin.com/Wv8TNVjwduU/'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
python3 "$SCRIPT_DIR/douyin_parse.py" "$1" --no-download -o "$OUT_DIR" 2>/dev/null || true
|
||||
# 找到刚生成的 _文案.txt(按修改时间取最新)
|
||||
TXT=$(find "$OUT_DIR" -name "*_文案.txt" -mmin -1 | head -1)
|
||||
if [[ -n "$TXT" && -f "$TXT" ]]; then
|
||||
echo "--- 文案内容 ---"
|
||||
cat "$TXT"
|
||||
echo ""
|
||||
echo "--- 已保存: $TXT ---"
|
||||
else
|
||||
echo "未找到文案文件,请检查链接是否有效"
|
||||
exit 1
|
||||
fi
|
||||
@@ -227,13 +227,28 @@ def main():
|
||||
print(f"解析失败: {info['error']}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
# 3. 输出文案 JSON
|
||||
# 3. 输出文案 JSON 与 纯文本 .txt(便于命令行一键提取)
|
||||
args.output.mkdir(parents=True, exist_ok=True)
|
||||
caption_path = args.output / f"{aweme_id}_文案.json"
|
||||
with open(caption_path, "w", encoding="utf-8") as f:
|
||||
json.dump(info, f, ensure_ascii=False, indent=2)
|
||||
print(f"✅ 文案已保存: {caption_path}")
|
||||
|
||||
txt_path = args.output / f"{aweme_id}_文案.txt"
|
||||
txt_lines = [
|
||||
(info.get("title") or "").strip(),
|
||||
"",
|
||||
(info.get("desc") or "").strip(),
|
||||
"",
|
||||
"话题: " + " ".join(f"#{t}" for t in (info.get("hashtags") or [])),
|
||||
"",
|
||||
f"aweme_id: {aweme_id}",
|
||||
f"链接: https://www.douyin.com/video/{aweme_id}",
|
||||
]
|
||||
with open(txt_path, "w", encoding="utf-8") as f:
|
||||
f.write("\n".join(txt_lines))
|
||||
print(f"✅ 文案文本: {txt_path}")
|
||||
|
||||
# 4. 下载视频
|
||||
if not args.no_download:
|
||||
safe_title = re.sub(r'[^\w\s\u4e00-\u9fff]+', '_', (info.get("title") or aweme_id))[:50].strip("_")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 卡若AI 技能注册表(Skill Registry)
|
||||
|
||||
> **一张表查所有技能**。任何 AI 拿到这张表,就能按关键词找到对应技能的 SKILL.md 路径并执行。
|
||||
> 64 技能 | 14 成员 | 5 负责人
|
||||
> 65 技能 | 14 成员 | 5 负责人
|
||||
> 版本:5.4 | 更新:2026-03-01
|
||||
>
|
||||
> **技能配置、安装、删除、掌管人登记** → 见 **`运营中枢/工作台/01_技能控制台.md`**。
|
||||
@@ -71,6 +71,7 @@
|
||||
| G16 | 远程环境一键部署 | 金盾 | 远程部署、装Clash | `01_卡资(金)/金盾_数据安全/远程环境一键部署/SKILL.md` | 远程服务器环境配置 |
|
||||
| G17 | 数据库管理(安全) | 金盾 | 数据库、备份数据 | `01_卡资(金)/金盾_数据安全/数据库管理/SKILL.md` | 数据库安全与备份 |
|
||||
| G18 | 微信管理(安全) | 金盾 | 微信数据库解析 | `01_卡资(金)/金盾_数据安全/微信管理/SKILL.md` | 微信数据库解密与分析 |
|
||||
| G19 | 存客宝副本管理 | 金盾 | 存客宝副本、cunkebao_副本、存客宝开发文档、副本代码管理 | 副本项目内 `cunkebao_副本/.cursor/skills/存客宝副本管理/SKILL.md`(以副本为主,路径见下) | 存客宝副本代码与开发文档管理,Skill 已迁入副本项目内 |
|
||||
|
||||
## 水组 · 卡人(信息流程调度)
|
||||
|
||||
|
||||
@@ -208,3 +208,4 @@
|
||||
| 2026-03-02 04:45:41 | 🔄 卡若AI 同步 2026-03-02 04:45 | 更新:Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 |
|
||||
| 2026-03-02 13:43:12 | 🔄 卡若AI 同步 2026-03-02 13:43 | 更新:Cursor规则、金仓、水桥平台对接、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 |
|
||||
| 2026-03-02 13:50:12 | 🔄 卡若AI 同步 2026-03-02 13:49 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 14 个 |
|
||||
| 2026-03-02 17:10:43 | 🔄 卡若AI 同步 2026-03-02 17:10 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 14 个 |
|
||||
|
||||
@@ -211,3 +211,4 @@
|
||||
| 2026-03-02 04:45:41 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 04:45 | 更新:Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
|
||||
| 2026-03-02 13:43:12 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 13:43 | 更新:Cursor规则、金仓、水桥平台对接、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
|
||||
| 2026-03-02 13:50:12 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 13:49 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
|
||||
| 2026-03-02 17:10:43 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-02 17:10 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 14 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
|
||||
|
||||
Reference in New Issue
Block a user