进击的知识库
🦅 发个链接就完事 — 微信/视频号/抖音/小红书/公众号 → 自动下载上传 → 腾讯文档归档
核心能力
接收链接 → 自动识别来源 → 下载/解析 → 上传腾讯文档 → 写 0 号索引。
下载方案:视频号用 sph-download(自研解析方案),抖音/小红书用 yt-dlp,公众号用 web_fetch。
| 来源 | 下载方式 | 是否上传视频 |
|---|---|---|
| 视频号 | parsers/sph.py(自研 sph-download) | ✅ 上传 |
| 抖音 | yt-dlp(parsers/douyin.py) | ✅ 上传 |
| 小红书 | yt-dlp(parsers/xiaohongshu.py) | ✅ 上传 |
| 公众号 | web_fetch 抓取 | ✅ 上传为 markdown |
配置
打开 agent.py,当前已配置好:
TENCENT_SPACE_ID = "DS2RjWGhWZ1VyaWt"
INDEX_FILE_ID = "ctEJCDugfswG"
INDEX_SHEET_ID = "t00i2h"
获取 ID 的方法(如果是新空间):
- 打开 docs.qq.com,进入知识库空间,URL 中
space/后面的就是space_id - 在空间中新建智能表格
0号索引,URL 中拿到file_id - 打开智能表格,地址栏
tab=后面就是sheet_id
0 号索引字段
| 列名 | 类型 | 字段 ID(固定) |
|---|---|---|
| 文件名字 | 文本 | fkfKit |
| 文档大小 | 数字(KB) | f2cnP7 |
| 入库时间 | 日期时间 | fHSMJO |
| 格式 | 单选 | fOVcRT |
| 来源类型 | 单选 | fPoljj |
| 来源 | 文本 | f6drfQ |
| 是否外链 | 复选 | fcP5do |
| 腾讯文档链接 | URL | fBW04a |
| 等级 | 单选 | fWqSI6 |
工作流程
步骤总览
链接/文件 → 识别来源 → 下载到本地 → upload_to_docs.py → 腾讯文档 + 0号索引
各来源处理
视频号
1. 下载(自研 sph-download 方案):
python parsers/sph.py <视频号链接> --output-dir <临时目录>
→ 返回 JSON {title, author, video, size_bytes}
2. 上传+索引:
python upload_to_docs.py <video_path> \
--name "<title>" --format mp4 --source-type 视频号 \
--source-url "<原始链接>" --author "<author>" --level 一般
抖音
1. 下载:
python parsers/douyin.py <链接> --output-dir <临时目录>
→ 返回 JSON {title, author, video, size_bytes}
2. 上传+索引:
python upload_to_docs.py <video_path> \
--name "<title>" --format mp4 --source-type 抖音 \
--source-url "<原始链接>" --author "<author>" --level 一般
小红书
1. 下载(yt-dlp 方案,与抖音完全一致):
python parsers/xiaohongshu.py <链接> --output-dir <临时目录>
→ 返回 JSON {title, author, file, size_bytes, type}
2. 上传+索引:
python upload_to_docs.py <file_path> \
--name "<title>" --format <type> --source-type 小红书 \
--source-url "<原始链接>" --author "<author>" --level 一般
微信公众号
1. web_fetch 抓取文章内容,转 markdown
2. 创建腾讯文档(smartcanvas 或 markdown)
3. 上传+索引:
python upload_to_docs.py <markdown_file> \
--name "<标题>" --format 文章 --source-type 微信公众号 \
--source-url "<原始链接>" --author "<公众号名>" --level 一般
本地文件(pdf/pptx/docx/jpg/png)
python upload_to_docs.py <文件路径> \
--name "<文件名>" --format <格式> --source-type 本地上传 \
--level 一般
upload_to_docs.py 自动完成
该脚本自动执行:
manage.pre_import— 获取 COS 上传凭证curl PUT— 上传到 COSmanage.async_import— 触发导入manage.import_progress— 轮询直到完成add_to_sheet.py— 写入 0 号索引
python upload_to_docs.py <文件路径> \
--name "标题" \
--format "mp4|pdf|pptx|docx|jpg|png|文章" \
--source-type "视频号|抖音|小红书|微信公众号|本地上传" \
--source-url "原始链接" \
--author "作者名" \
--level "机密|高|一般|普通"
--level 不传默认为 一般,--is-external 不传默认为 False。
文件结构
knowledge-base/
├── SKILL.md # 本文件
├── README.md # 使用说明
├── CHANGELOG.md # 版本历史
├── DESIGN.md # 架构设计
├── agent.py # CLI 辅助
├── add_to_sheet.py # 智能表格记录添加
├── upload_to_docs.py # 一键上传(pre_import→COS→import→索引)
└── parsers/
├── sph.py # 视频号下载(自研 sph-download)
├── douyin.py # 抖音下载(yt-dlp)
├── xiaohongshu.py # 小红书下载(yt-dlp)
└── wechat_article.py # 公众号文章解析
注意事项
- 视频文件大小限制:腾讯文档单文件 < 100MB
- 小红书 yt-dlp 依赖:需要 yt-dlp + cookies(如需要登录态)
- 公众号文章过长时可能触发 CreateProcess 命令行限制,使用
upload_to_docs.py可绕过 - 索引记录的"入库时间"字段暂不支持 API 设置,需在腾讯文档 UI 上配置自动填入
常见问题
Q:视频上传腾讯文档后能播放吗? A:能。腾讯文档支持 mp4 在线播放。
Q:小红书下载失败?
A:确认 yt-dlp 已更新到最新版:yt-dlp -U。个别小红书链接可能需要浏览器 cookies。
Q:怎么确认上传成功了? A:查看 0 号索引智能表格,新记录出现即表示成功。也可以直接打开腾讯文档链接确认。
