用途
visualize 用于把 Open Knowledge Format(OKF)知识包渲染成一个单文件、自包含、可交互的 HTML 图谱,输出为 viz.html。它把包中的概念变成图中的节点,节点按类型着色、按规模调整大小,便于直观浏览知识结构。
主要能力
- 生成目标知识包的自包含 HTML 图谱。
- 无需后端、无需安装,包内容不会离开页面。
- 查看器需要网络访问:cytoscape、marked 和 dompurify 从 cdn.jsdelivr.net 加载。
- 详情面板展示每个概念的类型、描述、标签、状态、generated、verified、stale_after、sources(含可信度信号、usage_count 与 usage_window)以及渲染后的正文。
- 指向包内其他概念的 sources 条目也会成为图谱中的一条边。
- v0.1 时间戳会被读取为 generated.at,因此旧版知识包仍可完整渲染。
- 派生两个徽章:§5.3 信任层级(unverified / machine-confirmed / human-reviewed,依据 verified[].by 中的 human: 前缀)和过期状态(now >= stale_after)。二者是提示性信号;报告知识包时应说明概念处于哪个层级,而不是把它们当作门槛。
使用方式
命令:
uv run "${CLAUDE_SKILL_DIR}/scripts/okf_visualize.py" $ARGUMENTS
如果 uv 不可用:
python3 -m pip install --quiet pyyaml &&
python3 "${CLAUDE_SKILL_DIR}/scripts/okf_visualize.py" $ARGUMENTS
知识包目录是必需的,因此未给出路径时需显式传入 .okf。
参数:
- -o <path>:输出文件(默认 <bundle>/viz.html)。
- -t, --title:图谱标题(默认父目录/知识包目录名)。
- -l, --link:页头显示的来源 URL。
- --layout:cose、concentric、breadthfirst、circle、grid。
- --max-nodes N:概念数超过 N 时以退出码 1 结束(适用于 CI)。
- --og-image URL:社交预览图的绝对 URL。
超过 1,000 个概念时,默认布局切换为 concentric(力导向布局会冻结页面;可用 --layout cose 覆盖,页面内选择器会先询问)。超过 5,000 个概念时会警告页面加载缓慢且看起来像一团乱麻,并建议渲染子目录。
在任意浏览器中打开即可;无论作为 okf 插件的一部分运行,还是作为独立的 skills.sh 技能运行,${CLAUDE_SKILL_DIR} 都会解析。页面支持深链接:?select=<concept-id> 或 #<concept-id> 可打开该概念,?layout=<name> 可预设布局。
适用场景
- 浏览和检查 OKF 知识包的结构与概念关系。
- 在 CI 中通过 --max-nodes 控制知识包规模。
- 需要单文件、可分享、可离线打开的知识图谱视图。
限制
- 查看器需要网络访问以加载 CDN 资源。
- 大规模知识包(超过 1,000 或 5,000 个概念)存在性能与可读性问题。
- 信任层级与过期状态为派生提示信号,不应作为门槛使用。