示例:LLM Wiki
把一批异构来源编译成一套 Karpathy 风格、有出处、互相链接的 LLM Wiki:每一页有明确的检索目的,开头一句话直给结论,术语统一,关系显式,证据紧贴结论,并由一个 index.md 做导航入口。
这套 Skill 会按页面的检索目的挑选最合适的页面类型:
| 页面类型 | 用于 |
|---|---|
entity | 有稳定身份的具名事物(人、组织、产品、项目、系统、数据集、标准、事件……) |
concept | 可复用的思想、机制、模式、协议、心智模型 |
method | 有前置条件、有序步骤、可验证结果的可复用流程 |
comparison | 在明确维度上对两个及以上对象做并排评估 |
analysis | 围绕一个问题的跨来源结论 |
summary | 单一来源的忠实数字化摘要(仅当 --reason 明确要求时才生成) |
默认以 entity 和 concept 为主,其余类型只在满足各自的严格判定时才提升。产物是一个知识库,不是逐文档的摘要拼盘。
Skill 源码:examples/compile/ov-compile-skills/llm-wiki · 可视化脚本:examples/compile/graph-show/llm-wiki
第一步:准备来源
如果材料还没进 OpenViking,先导入。目录型来源用 ov add-resource,单文件可以用 ov write:
# 导入一个目录作为来源
ov add-resource ./my-research --to viking://resources/research --wait
# 或者写入单个文件
ov mkdir viking://resources/research
ov write viking://resources/research/notes.md \
--from-file ./notes.md --mode create --wait确认来源已就位:
ov ls -r viking://resources/research第二步:添加 Skill
把 LLM Wiki 的 Skill 装进服务。默认落到你的用户私有 skills 命名空间;想让团队共用就用 -p viking://agent/skills:
ov add-skill examples/compile/ov-compile-skills/llm-wiki --wait查看装好的 Skill URI:
ov skills list
# → viking://agent/skills/llm-wiki (或 viking://user/<你>/skills/llm-wiki)第三步:执行编译
ov compile \
--from viking://resources/research \
--to viking://resources/research-wiki \
--skill viking://agent/skills/llm-wiki \
--reason "面向团队检索整理成 Wiki,保留每条结论的出处" \
--wait--from可以重复或用逗号分隔,一次传多个来源。--to目录不存在时会自动创建。- 想要机器可读结果加
-o json;不想阻塞终端就去掉--wait,用返回的task_id轮询:
ov task status cmp_01abc # 查看进度与最终结果
ov task cancel cmp_01abc # 协作式取消第四步:看看产物
编译完成后目标目录里就是一套 Markdown 知识库。先看导航页,再按需钻进去:
ov tree viking://resources/research-wiki
ov read viking://resources/research-wiki/index.md典型结构(页面类型对应目录):
research-wiki/
├── index.md # 导航入口,类型 index
├── entity/
│ └── <标题>.md
├── concept/
│ └── <标题>.md
├── method/… comparison/… analysis/…第五步:可视化成交互式图谱
wiki_graph.py 会直接连接 OpenViking 服务读取 Wiki 页面(不需要先下载到本地),把页面按类型着色、按链接连边,生成一个独立的交互式 HTML:
python examples/compile/graph-show/llm-wiki/wiki_graph.py \
viking://resources/research-wiki \
-o research-wiki-graph.html \
--title "研究知识库"用浏览器打开 research-wiki-graph.html 即可。节点是页面(按 entity/concept/method… 分色),边是页面之间的链接,点节点能看正文。
连接配置的解析顺序和 ov 一致:命令行参数 → OPENVIKING_* 环境变量 → ~/.openviking/ovcli.conf。远程服务显式传参:
python examples/compile/graph-show/llm-wiki/wiki_graph.py \
viking://resources/research-wiki \
--url https://openviking.example.com \
--api-key "$OPENVIKING_API_KEY" \
-o research-wiki-graph.html --title "研究知识库"一次传多个 Wiki,可以把它们画在同一张图里对比:
python examples/compile/graph-show/llm-wiki/wiki_graph.py \
viking://resources/wiki-a viking://resources/wiki-b \
-o combined.html --title "两个知识库对照"