Token导航 LogoToken导航TokenDH.com
研究检索执行命令clawhub未标认证来源可访问clear审计提醒

unified-kb统一知识库

Agent Skill

unified-kb 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,281

周安装

97

GitHub Stars

公开资料未说明

下载量

799
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unified-kb(统一知识库)
来源仓库:https://github.com/sundmop/unified-kb
安装命令:
openclaw skills install unified-kb
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install unified-kb

简介

统一知识库入口技能(#kb)。当用户发送内容并标记 #kb 时触发。 自动完成:素材下载 → IMA 知识库存储 → workspace/kb 归档 → memory 记录。 支持:微信公众号文章、网页链接、YouTube 视频(字幕提取)、纯文本、文件路径。

SKILL.md

name
unified-kb
description
|

统一知识库(#kb)技能

触发条件:用户发送内容并包含 #kb 标签 协同存储:IMA(腾讯知识库)+ workspace KB(本地结构化知识库)

工作流程

用户发送 #kb 内容
        ↓
① 判断内容类型
        ↓
② 下载/解析/提取字幕
        ↓
③ 存入 IMA(知识库 + 笔记)
        ↓
④ 存入 workspace/kb
        ↓
⑤ 记录到 memory/YYYY-MM-DD.md
        ↓
⑥ 重建 KB 索引(自动更新 kb_master_index.md)
        ↓
⑦ 向用户确认完成

支持的内容类型

类型示例处理方式
微信公众号文章https://mp.weixin.qq.com/s/xxx下载并导出 Markdown
网页链接https://example.com/articleweb_fetch 抓取内容
YouTube 视频https://youtu.be/xxx下载字幕 → 生成总结 → 存笔记
纯文本/摘要#kb 这段话说的是...直接存储文本
本地文件路径#kb /path/to/file读取文件内容后存储

YouTube 视频 #kb 处理流程(重点)

#kb 链接是 YouTube 视频时,启用完整字幕提取流程。优先级:NotebookLM > 本地 Whisper
YouTube 视频链接
    ↓
① NotebookLM 优先(推荐)
   ├─ notebooklm-kit: add_source(url=YouTube_URL)
   ├─ 等待同步 (~30s)
   └─ generation.chat() 提取完整解说词原文
    ↓
② 本地 Whisper 兜底
   └─ 仅在 NotebookLM 配额不足时使用
      ├─ yt-dlp TV client 下载音频
      ├─ Whisper small 模型转录
      └─ 解析 VTT → 纯文本
    ↓
③ 存入 IMA
    ├─ 知识库:视频链接(来源引用)
    └─ 笔记:总结 + 完整字幕原文
    ↓
④ 存入 workspace/kb
    ├─ kb/YYYYMMDD_视频标题_总结.md
    └─ kb/YYYYMMDD_视频标题_字幕原文.txt
    ↓
⑤ 记录 memory

NotebookLM 优先提取脚本(详见 video-processor skill):

# 1. 添加视频到 notebook
client.add_source(url="YouTube_URL", notebook_id="notebook_id")

# 2. 等待同步后,提问提取原文
response = client.chat("请提取这个视频的完整解说词原文,包括所有数据和论述细节。不要总结,我要原文。")

本地 Whisper 兜底命令(当 NotebookLM 不可用时):

yt-dlp --js-runtimes "node:/usr/bin/node" \
  --cookies /tmp/youtube_cookies.txt \
  --extractor-args "youtube:player_client=tv" \
  --write-subs --skip-download \
  -o "/tmp/subs.%(ext)s" \
  "https://youtu.be/VIDEO_ID"

完整 shell 命令(yt-dlp 字幕下载)

yt-dlp --js-runtimes "node:/usr/bin/node" \
  --cookies /tmp/youtube_cookies.txt \
  --extractor-args "youtube:player_client=tv" \
  --write-subs --skip-download \
  -o "/tmp/subs.%(ext)s" \
  "https://youtu.be/VIDEO_ID"

字幕解析为纯文本(Python)

import re
with open('/tmp/subs.vtt', 'r', encoding='utf-8') as f:
    content = f.read()
segments = re.findall(
    r'(\d{2}:\d{2}:\d{2}\.\d{3}) --> (\d{2}:\d{2}:\d{2}\.\d{3})\s*\
(.+?)(?=\
\
|\
-->)',
    content, re.DOTALL
)
full_text = '\
'.join([s[2].strip().replace('\
', ' ') for s in segments])

IMA 笔记分段上传(字幕过长时)

# 每段 ~12000 字符,分多次 append_doc
chunk_size = 12000
for i in range(0, len(full_text), chunk_size):
    chunk = full_text[i:i+chunk_size]
    # import_doc 第一段,append_doc 后续段

IMA 存储策略

默认目标知识库

默认存入 IMA "个人知识库",不询问用户,除非用户明确指定其他知识库。

⚠️ 知识库 ID 配置:请在 scripts/store_kb.py 顶部的 IMA_KB_ID 变量中设置目标知识库 ID。 当前已配置:个人知识库IMA_KB_ID = "3ABKKskfyVyAHq_ohwX7KrwDyfrapnxTTHlQ85NFR6E="

存储方式

内容类型IMA 模块接口
微信公众号文章/网页链接knowledge-baseimport_urls(批量添加URL)
YouTube 视频链接knowledge-baseimport_urls(仅作来源引用)
YouTube 总结/字幕notesimport_doc + append_doc
纯文本notesimport_doc(新建笔记)
文件knowledge-basecreate_mediaadd_knowledge
⚠️ YouTube 视频特殊处理:视频链接仅作为来源引用存入知识库,不要把链接当成正文内容存入笔记。正文内容(总结 + 字幕)全部通过 import_doc / append_doc 存入笔记。

workspace/kb 存储策略

  • YouTube 视频:两个文件

- kb/YYYYMMDD_视频标题_总结.md — 精华摘要 - kb/YYYYMMDD_视频标题_字幕原文.txt — 完整字幕

  • 微信文章/网页:存到 kb/ 目录,文件名前缀 YYYYMMDD_
  • 纯文本:存到 kb/ 目录,文件名前缀 YYYYMMDD_
  • 附加 #tag 标签到文件名和内容中

执行脚本

python3 /home/xdl/.openclaw/workspace/skills/unified-kb/scripts/store_kb.py <content_type> <content> [tags]

YouTube 视频 content_type 为 youtube

python3 store_kb.py youtube "https://youtu.be/m8tpIGpXDBc" #kb #半导体

memory 记录格式

memory/YYYY-MM-DD.md 中记录:

- **KB入库**:[标题/摘要] | 来源:[来源] | 路径:`kb/文件名.md` | IMA笔记:note_id | IMA知识库:✅ | 标签:#kb #标签1

使用示例

  • #kb https://mp.weixin.qq.com/s/xxx → 自动下载 + 存 IMA 知识库 + 存 KB + 记录 memory
  • #kb https://youtu.be/xxx #半导体 → 下载字幕 + 生成总结 + 存 IMA笔记 + 存 KB + 记录 memory
  • #kb 这段话说的是能源托管... → 存 IMA 笔记 + 存 KB + 记录 memory
  • #kb https://example.com/article #暖通 #合同 → 抓取网页 + 存 IMA + 存 KB + 记录 memory(标签自动应用)

YouTube Cookies 配置

YouTube 字幕下载需要浏览器 cookies 绕过机器人验证:

  1. 在浏览器安装 EditThisCookie 插件
  2. 打开 YouTube 视频页面,导出 cookies 为 JSON
  3. 将 JSON 转换为 netscape 格式(/tmp/youtube_cookies.txt
  4. 脚本自动使用该文件

Cookie 文件路径/tmp/youtube_cookies.txt(固定路径)

注意事项

  • IMA 凭证从环境变量读取:IMA_OPENAPI_CLIENTIDIMA_OPENAPI_APIKEY
  • workspace KB 路径:/home/xdl/.openclaw/workspace/kb/
  • IMA 存储失败时,继续存入 workspace/kb,不中断流程
  • 微信文章下载内部调用 wechat-article-reader 脚本(用于下载),但 #kb 入口必须走 store_kb.py —— 它会在下载后自动同步 IMA 笔记 + IMA 知识库 + 本地 KB三重存储
  • 所有 string 字段存入 IMA notes 前必须做 UTF-8 校验(详见 ima-skill notes 模块说明)
  • ⚠️ API 路径注意:IMA Wiki API 路径为 openapi/wiki/v1/...,不是 openapi/knowledgebase/v1/...
  • ⚠️ YouTube 字幕过大处理:字幕原文 > 12000 字符时需分段 append_doc,每段 12000 字符

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

86.82%
按下载量换算694

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install unified-kb 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills