Vastbase 官方文档实时查证
核心原则(先读)
- 本地没有文档副本,也不允许有。本 skill 只维护"路由地图"(URL 与章节结构),
任何 Vastbase 事实(语法、参数默认值、报错含义、操作步骤)都来自当时实时抓取的官方页面。
这是为了保证知识不过时——文档随版本更新,路由规律相对稳定。 - 禁止凭记忆回答 Vastbase 专有内容。Vastbase 基于 openGauss,与 PostgreSQL 相似但细节有差异,
记忆极易出错。宁可多抓一页,不可凭印象作答。 - 回答必须附文档链接,让用户可以核对原文。
- 文档站是 SPA,WebFetch 抓页面 URL 无效,一律用
scripts/vastbase_doc.py(curl 原始 API 也行,见 references/api-reference.md)。
工作流
按顺序执行,通常两三条命令即可完成一次查证。
命令中的 scripts/… 均相对本 skill 根目录(即加载 skill 时系统注明的 Base directory,
模型会自动用该路径解析)。Bash 会话的 cwd 在用户项目而非 skill 目录,且部分环境的
cwd 在调用间不保留——用脚本绝对路径调用,或每条命令前缀 cd <Base directory> &&,
两种做法等价:
cd <加载注记给出的 Base directory> && python3 scripts/vastbase_doc.py versions
第 1 步:确定产品与版本。
用户未指明 → 数据库类问题默认 VastbaseG100 + 最新 LTS 版本 V3.0.9;
不确定版本是否存在/叫什么 → python3 scripts/vastbase_doc.py versions 核对
(版本号可能含空格括号如 V2.2.18 (DMR),作参数时整串加引号)。
其它产品:V100 向量库 / Vastbase E100(注意含空格)/ exBase / VDS / VEM / GSDP。
第 2 步:搜索直达(关键词明确时的首选)。
python3 scripts/vastbase_doc.py search "CREATE TABLE" --product VastbaseG100 --version V3.0.9
看结果的 currentPath(如 参考指南 > SQL语法参考 > SQL语法 > CREATE TABLE)和摘要判断相关性;
不限定版本时结果会混入各 DMR 版本,始终加 --version(除非刻意全版本找)。
第 3 步:取正文。
python3 scripts/vastbase_doc.py fetch "<search 结果里的 正文 URL>" # 最快
# 或
python3 scripts/vastbase_doc.py page VastbaseG100 V3.0.9 <uid>
问题宽泛、关键词不明时改走章节遍历:先读 references/route-map.md 的
"问题大类速查表"选定章节,再:
python3 scripts/vastbase_doc.py toc VastbaseG100 V3.0.9 --grep "备份"
python3 scripts/vastbase_doc.py page VastbaseG100 V3.0.9 <uid>
第 4 步:基于抓到的正文回答,格式要求:
- 直接回答问题(语法/步骤/含义),再补充注意事项
- 引用来源:文档名 + 版本 + 网页链接(search/toc 输出的"网页:"一行)
- 明确说明内容出自哪个产品版本;如果用户版本与默认不同,注明差异可能存在
完整示例
用户问:"Vastbase 里 CREATE TABLE 怎么写?"
python3 scripts/vastbase_doc.py search "CREATE TABLE" --product VastbaseG100 --version V3.0.9 --size 3
# → 命中 [1] 参考指南 > SQL语法参考 > SQL语法 > CREATE TABLE uid=e225...
python3 scripts/vastbase_doc.py fetch "https://docs.vastdata.com.cn/xwdc/storage/package/.../Vastbase_master_e225..._zh_CN"
回答(示意):
> Vastbase G100 V3.0.9 中 CREATE TABLE 基本语法:
> CREATE [ [GLOBAL|LOCAL] {TEMPORARY|TEMP} | UNLOGGED ] TABLE [IF NOT EXISTS] table_name (...)
> (依据正文整理注意事项:主键/唯一约束必须含分布列、列数上限 1600、Oracle 模式独有 VISIBLE|INVISIBLE 等)
> 来源:CREATE TABLE - Vastbase G100 V3.0.9 用户手册
路由速查(详见 references/route-map.md)
| 问题 | 去处 |
|---|---|
| SQL 语法 / 函数 / 数据类型 | 参考指南 > SQL语法参考 |
| GUC 参数 | 参考指南 > GUC参数 |
| GAUSS-xxxxx 报错 | 参考指南 > 错误码参考(号段子页很大,fetch 后可接 \| grep -A 8 "GAUSS-xxxxx" 定位) |
| 安装 / 升级 / 卸载 | 安装指南 / 升级指南 |
| 备份恢复、HA、安全、导入导出、调优 | 管理员指南 对应小节 |
| Oracle/MySQL 兼容行为 | 兼容性手册(与标准语法是不同页) |
| vsql / vb_* 工具 | 参考指南 > 工具参考 |
| PostGIS / pgvector 等插件 | 参考指南 > 插件参考 |
| 向量检索 | G100 向量检索指南,或产品 V100 |
| CVE | curl https://docs.vastdata.com.cn/xwdc/front/securityBulletin.json |
| 整本手册 | scripts/vastbase_doc.py pdf |
失败兜底
- 搜索无结果 → 换同义词或英文原名(SQL 语句名、参数名、错误码原文);去掉
--version全版本找;再退到 toc 章节遍历 - 旧版本章节结构与新版不同(V2.2.x 无"参考指南")→ 不要假设路径,
toc --grep现查;旧版可能整章缺失(实测 V2.2.10 无"错误码参考",V3.0.x/V2.2.1x DMR 才有),此时到最新 LTS 版查并明确告知用户版本差异(旧版替代章节线索见 route-map 第 6 节边界第 3 条) - API 失败/返回异常 → 按
references/api-reference.md的排查手册处理;确实查不到时如实告知用户,不要编造 - 回答通用 SQL/PostgreSQL 知识可以凭模型能力,但凡是 Vastbase 特有行为(默认值、兼容性差异、专有工具),必须查证
维护
站点改版时:versions/toc 验证 → 更新 scripts/vastbase_doc.py → 同步
references/route-map.md、references/api-reference.md → 同步全局副本 ~/.agents/skills/vastbase-helper/。