站点文档批量入库

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

把在线帮助文档/手册/课程站点批量抓取,转成 Markdown,并按目录树存入 WorkBuddy 原生资料库(知识库)。

一句话选型结论

按资料字段整理

站点文档批量入库是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_cc971b1a/web-docs-to-library
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_cc971b1a仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791623042
正文体量5.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
站点文档批量入库当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

5.7 KB
模型实际读到的说明书原文,来自技能仓库

站点文档 → 资料库入库

把在线文档站(帮助中心、使用手册、课程中心)批量抓取为 Markdown,再按层级建成资料库文档树。

0. 前置判断

  • 用户说「存到资料库/知识库」且未点名外部产品 → 目标就是 WorkBuddy 原生资料库,不反问存哪里。
  • 先跑 runtime_context.py 判断模式:mode=client 时,所有网络脚本前必须 ToolSearch(connect_open_platform) → DeferExecuteTool({"skill_id":"library"}) 换票。
  • token 有效期 30 分钟。长任务中途过期要重新换票,不要缓存到文件。
  • 个人空间(category=personal)的写入由用户原始请求直接授权,无需二次确认;团队空间必须先展示方案等确认。

1. 先探测站点渲染方式(决定抓取手段)

类型 判定 抓法
服务端渲染 curl 拿到的 HTML 里能 grep 到正文关键词 curl + 脚本解析,不占上下文
SPA curl 到的 HTML 没有正文,但有 window.settings = {...} / window.__INITIAL_STATE__ 正则提取内嵌 JSON,脚本解析
纯 SPA 无内嵌数据 两者都没有 只能 WebFetch(内容会进上下文,注意控制页数)

探测命令:

curl -s -L -A "Mozilla/5.0 ... Chrome/120.0 Safari/537.36" "<URL>" -o /tmp/t.html && wc -c /tmp/t.html
grep -c '正文关键词' /tmp/t.html          # 有结果 = 服务端渲染
grep -oE 'window\.[A-Za-z_]+\s*=\s*\{' /tmp/t.html | sort -u   # 找内嵌 JSON

提取内嵌 JSON:

m = re.search(r'window\.settings\s*=\s*(\{.*?\});\s*\n', html, re.S)
data = json.loads(m.group(1))

务必先抓一篇看结构再批量,不要一上来就写循环。

2. HTML → Markdown

用 html.parser 手写转换器(不依赖三方库),常见标签映射:

h1→# h2→## h3→### p→段落 ul/li→- ol/li→1. a→[](url) br→占位符

坑位:
- <br> 不能简单转空格。中文文档常用 <li>小标题<br>说明</li>,转空格会粘成一句。
做法:转成占位符,收尾时判断前一字符——已是 :: 直接拼接,是句末标点补空格,否则补中文冒号。
- 图片可能是 background-image,不在 <img> 里:
background-image: url(//cdn...) → 补 https: 前缀写成 ![图示](url)。
- 相对链接要拼成绝对 URL。

写完必须校验(残留标签、乱码、H1 唯一性):

PROBLEM = [r'<(div|span|p|ul|li|section|br|em)\b[^>]*>', r'&(nbsp|amp|lt|gt);',
           r'\]\(\s*\)', r'[\ufffd]|â€|Ã', r'\n{4,}']

3. 入库(关键:控制单篇大小)

# 新建文档(支持 --parent-id 建层级)
printf '%s' "$TOKEN" | python3 "${SKILL}/doc/create_doc.py" --token-stdin \
  --title "标题" --content-file "x.md" --parent-id "<nodeId>"

# 建层级:先建目录页文档拿 nodeId,再把子文档挂到它下面
# 列子节点 / 移动 / 重命名
python3 "${SKILL}/space_api.py" space.workspace.list-node --token-stdin --space-id "<spaceId>" --parent-node-id "<nodeId>"
python3 "${SKILL}/space_api.py" space.workspace.move-node  --token-stdin --node-id "<id>" --target-parent-id "<pid>"
python3 "${SKILL}/space_api.py" space.workspace.rename-node --token-stdin --node-id "<id>" --title "新标题"

create_doc.py 成功输出:KS_DOC_CREATE\t<nodeId>\t<kind>\t<url>\t<failedCount>\t<fatalCount>
(两个计数非 0 = 内容可能不完整,要提示用户核对)

⚠️ HTTP_524 陷阱(必看)

单篇超过约 1 万字会返回 {"error":"创建文档失败: code=HTTP_524"}(网关超时),
但服务端其实已经建了文档——空的,只有标题。直接重试会产生一堆空壳,删不掉。

正确做法:
1. 生成前就按章节/讲数拆成 3000~5000 字的小块,命名 XXX(1/3)。
2. 已经产生空壳的,读 get_doc_reviews.py 看字节数确认(空壳约 40~60 字节,只有 frontmatter),
再建一个回收容器文档,用 move-node 把它们集中归拢,保持主目录干净。
3. 资料库没有删除 API,move 是唯一清理手段。

给目录页加链接导航

create_doc.py 只吃 Markdown;编辑已有文档必须用组件语法:

printf '%s\n%s' "$TOKEN" "$(cat actions.json)" | python3 "${SKILL}/doc/submit_doc_edit.py" \
  --token-stdin --page-id "<nodeId>" --actions-stdin
[{"type":"insert_after","id":"","content":"<Heading level=\"2\">导航</Heading>\n\n<BulletedList><Link href=\"https://...\">标题</Link></BulletedList>"}]
  • id:"" = 文末追加;多个顶层块用空行分隔。
  • 组件必须单行紧凑写;禁止手写 id、禁止 Markdown 行内样式(用 <Mark bold>)。
  • 先 --dry-run 校验再正式提交。

4. 易错点清单

  • 遍历本地目录上传时,别用 startswith("0") 之类宽匹配选分组,容易把别的目录也扫进来(本次把 07_学习园地 误判进使用手册分组)。按显式白名单列目录。
  • 上传脚本从 os.environ 读 token,不要把 token 写进任何文件、日志或 stdout。
  • 大批量上传放后台跑(几十篇要几分钟),中途按用户要求汇报进度。
  • 上传完用 list-node 递归核对目录树,别只信脚本打印的成功数。

常见问题

5 问
答案由本站依据条目字段整理
站点文档批量入库怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_cc971b1a/web-docs-to-library。安装方式为未标注。装完刷新技能列表或重开客户端。

站点文档批量入库支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

站点文档批量入库权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

站点文档批量入库收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

站点文档批量入库用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。