SKILL.md 3.1 KB


name: knowhub

description: 查询和上传知识到 KnowHub 知识库。当用户需要检索已有调研成果、工具知识,或上传新的调研结果时使用。

KnowHub 知识库

自包含单脚本,三种模式覆盖全部典型用法:

模式 做什么 何时用
ask 深度回顾 —— 调远端 Librarian Agent 做规划+检索+整合 需要一个有引用的自然语言答案
search 快速检索 —— 语义搜索 + LLM 精排 只想拿结构化条目列表,快
save 保存知识 把调研结论/工具使用经验写库

自包含: 本 skill 目录下 knowhub.py 是独立脚本,不依赖 cyber-agent 安装,只需 pip install httpx

环境变量

变量 作用 默认
KNOWHUB_API KnowHub 服务器地址 http://43.106.118.91:9999
KNOWHUB_OWNER save 的默认所有者;search 留空=不过滤,传 --owner=$KNOWHUB_OWNER 限定自己的 sunlit.howard@gmail.com

也可以在 skill 目录下放 .env 文件覆盖默认(仅认 KEY=VALUE 纯文本,不依赖 python-dotenv)。

用法

ask —— 深度回顾

# 调 remote_librarian(默认,快,基于已入库知识)
python /Users/sunlit/.claude/skills/knowhub/knowhub.py ask --query="ControlNet 相关的工具"

# 调 remote_research(深,全网调研 + 入库,慢,分钟级)
python /Users/sunlit/.claude/skills/knowhub/knowhub.py ask --query="..." --deep

# 复用上下文(用上次返回的 sub_trace_id)
python /Users/sunlit/.claude/skills/knowhub/knowhub.py ask \
    --query="基于刚才的结果补充..." \
    --continue_from=65298f18-7cc4-4bc0-9fb8-6f2dd048df31

返回 {"mode","agent_type","sub_trace_id","status","summary","stats","error"}summary 字段是带引用的自然语言回答。

search —— 快速检索

python /Users/sunlit/.claude/skills/knowhub/knowhub.py search \
    --query="图片批量生成" \
    --top_k=5 \
    --min_score=3 \
    --types=strategy,tool

按关系过滤(只看某 capability/tool/requirement 关联的):

python /Users/sunlit/.claude/skills/knowhub/knowhub.py search \
    --query="..." --capability_id=CAP-008

返回 {"query","count","results":[...]}results 每项含 id / task / content / eval.score / types

save —— 保存知识

python /Users/sunlit/.claude/skills/knowhub/knowhub.py save \
    --task="在用 flux 生成海报图时, 怎么让文字不错乱" \
    --content="把文字用 [] 显式标出, 并在 prompt 末尾加 'clean typography, legible text'" \
    --types=strategy \
    --score=4 \
    --source_name="flux 实测 2026-04" \
    --source_urls=https://example.com/post-1

默认 owner = $KNOWHUB_OWNERscopes=["org:cybertogether"]。需要覆盖用 --owner=... / --scopes=...

注意

  • ask 是同步阻塞的,timeout 600s;searchsave 都在 60s / 30s 内返回
  • 所有命令返回标准 JSON,失败时 error 字段有值且退出码 1
  • --tags 接 JSON 字符串(如 '{"project":"xyz"}');其他逗号分隔的参数接 CSV