图像与设计
需要可视化/图形化/预览/探索 OKF bundle 时…
当被要求可视化、图形化、预览或探索 OKF bundle 时,将其渲染为单文件交互式 HTML 图。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要可视化/图形化/预览/探索 OKF 特定
解决思路
- 生成目标 bundle 的自包含交互式 HTML 图(`viz.html`);bundle 目录必需,未给路径时显式传入 `.okf`。无后端、无需安装,bundle 内容不离开页面;但查看器需要网络访问,`cytoscape`、`marked` 和 `dompurify` 从 `cdn.jsdelivr.net` 加载。
- 运行:`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`
- 详情面板显示每个概念的 `type`、`description`、`tags`、`status`、`generated`、`verified`、`stale_after`、`sources`(含可信度信号、`usage_count` 以及框定它的 `usage_window`)和渲染后的正文;指向 bundle 内另一个概念的 `sources` 条目也会成为图边。
- v0.1 的 `timestamp` 被读取为 `generated.at`,因此旧版 bundle 仍可完整渲染。
- 两个徽章是派生而非直接读取的:§5.3 信任层级(*unverified* / *machine-confirmed* / *human-reviewed*,根据 `verified[].by` 中的 `human:` 前缀判断)和过期性(`now >= stale_after`)。它们是咨询性信号——报告 bundle 时应说明概念处于哪个层级,而不是把它们中的任何一个当作门禁。
- 使用 `-o <path>` 指定输出文件(默认 `<bundle>/viz.html`)。
- 使用 `-t, --title` 指定图标题(默认 `parent/bundle` 目录名)。
- 使用 `-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 个概念时,警告页面加载缓慢且看起来像毛球,并建议渲染子目录。
- 在任意浏览器中打开生成的页面;`${CLAUDE_SKILL_DIR}` 在作为 `okf` 插件的一部分或作为独立 `skills.sh` 技能运行时都能解析。页面可深度链接:`?select=<concept-id>` 或 `#<concept-id>` 打开该概念,`?layout=<name>` 预设布局。
适用边界 · 注意事项
- 没有 OKF bundle 目录时,该技能只可视化 OKF bundle。
- 运行环境无法访问 `cdn.jsdelivr.net` 时,页面依赖的 `cytoscape`、`marked` 和 `dompurify` 无法加载。
- 概念数超过 5,000 时,页面加载缓慢且可读性差,建议改为渲染子目录。