用途
re-extract 用于将旧版 Confluence 格式的 RouterOS 文档导出内容重新提取到 SQLite 数据库中。它面向数据库流水线的重建,而非 manual.mikrotik.com 的迁移。
何时使用
- 存在旧版 Confluence HTML 导出。
- 需要从零重建数据库。
- 模式变更需要重新提取。
- restraml GitHub Pages 中有新的 RouterOS 版本可用。
不适用场景
不要将此技能用作 https://manual.mikrotik.com 的迁移路径。MikroTik 新的 Docusaurus 手册和 CLI 参考需要重新设计提取器和 MCP/TUI 结果结构;请先阅读 DESIGN.md 和 briefings/B-0012-docusaurus-manual-migration.md。
使用方式
验证前置条件
- 已安装 Bun:
bun --version - 已安装依赖:
bun install - 旧版 HTML 导出存在于
box/documents-export-*/ROS/ - 对于命令:需要访问 https://tikoci.github.io/restraml/(或显式提供本地文档路径)
清理现有数据库
make clean
运行完整流水线(二选一)
单版本(快速,仅最新稳定版):
make extract
所有版本(较慢,全部 46 个 RouterOS 版本):
make extract-full
流水线顺序:
extract-html— HTML → pages + callouts 表extract-properties— 从 HTML 提取属性表 → properties 表extract-commands或extract-all-versions— inspect.json → commands + ros_versions + command_versionslink— 命令与页面映射
验证结果
make search query="firewall filter"
完整流水线的预期计数:
- 约 317 个页面,约 4860 个属性,约 1034 个 callouts
- 约 40K 命令(主版本),约 1.67M command_versions
- 46 个 ros_versions,约 92% 目录链接覆盖率
类型检查与 lint
bun run typecheck && make lint
故障排除
- 如果 HTML 目录发生变化,请更新根 Makefile 中的 HTML_DIR。
- 如果使用离线/本地数据,请向 extract-commands.ts 或 extract-all-versions.ts 传递显式源路径。
- 每个提取器都是幂等的——可以安全地单独重新运行。
- 外键删除顺序很重要:callouts → properties → pages。