logo
0
0
WeChat Login
Add README for CNB knowledge base demo

Battle for Wesnoth Wiki - CNB 知识库示例

本仓库使用 CNB 知识库 能力,将 Battle for Wesnoth Wiki 的全量页面构建为可检索的 RAG 知识库,演示如何快速为任意文档站搭建智能问答服务。

数据来源

通过 MediaWiki API 批量抓取 Wesnoth Wiki 全部页面(过滤翻译子页、用户页、Talk 页等),转为带 YAML frontmatter 的 Markdown 文件:

---
title: "AbilitiesWML"
source_url: "https://wiki.wesnoth.org/AbilitiesWML"
date_fetched: "2026-05-15"
---

共收录 1200+ 篇文档,覆盖游戏机制、WML 脚本、战役攻略、单位图鉴等。

知识库构建

仓库已配置 .cnb.yml 流水线,代码推送时自动通过 knowledge:update 任务完成文档切片、分词与向量化:

main:
  push:
    - stages:
        - name: build knowledge base
          type: knowledge:update
          options:
            include: "**/**.md"

可调参数

参数默认值说明
chunkSize1500文本分块大小
chunkOverlap0分块重叠 token 数
exclude排除文件(Glob 模式)
issueSyncEnabledtrue是否同步仓库 Issue
forceRebuildfalse是否全量重建

更多参数详见 知识库文档

API 检索

知识库构建完成后,可通过 Open API 检索:

curl -G "https://api.cnb.cool/{slug}/-/knowledge/base/query" \
  -H "Authorization: Bearer ${token}" \
  --data-urlencode "query=Wesnoth 中如何定义单位能力"

返回结果包含匹配片段、相关性分数和来源元数据,可直接用于 RAG 应用。

目录结构

wesnoth-wiki/
├── _page_list.json          # 抓取页面索引
├── Abilities.md              # 各 Wiki 页面...
├── AbilitiesWML.md
├── ActionWML.md
├── ...
scrape_wiki.py                # Python 爬虫脚本
scrape_wiki.js                # Node.js 爬虫脚本
.cnb.yml                      # 知识库构建流水线

相关链接