Skip to content

使用 CI 自动更新 Wiki

官方来源:Automate updates

OpenWiki 可以按计划刷新仓库文档,并在 Wiki 发生变化时自动打开 Pull Request 或 Merge Request。

GitHub Actions

使用官方示例 openwiki-update.yml,放到 .github/workflows/openwiki-update.yml。

GitLab CI

使用 openwiki-update.gitlab-ci.yml,放到 .gitlab-ci.yml 或从现有 Pipeline include。

Bitbucket Pipelines

使用 openwiki-update.bitbucket-pipelines.yml,并调度 openwiki-update custom pipeline。

官方示例位于 OpenWiki 仓库 examples。

Terminal window
openwiki code --update --print

CI 不需要先执行 --init。只要工作流提供 Provider 和模型环境变量,--update 在没有 openwiki/ 时也能生成初始文档。

典型凭证和配置包括:

Provider API Key 或 Copilot OAuth / 云凭证
OPENWIKI_PROVIDER
OPENWIKI_MODEL_ID
LANGSMITH_API_KEY 可选
OPENWIKI_LANGSMITH_API_KEY 使用 LangSmith Connector 时需要

凭证应放在仓库 Secret 或 CI Variables 中,不要提交到仓库。

定时工作流会把这些变化纳入文档变更:

  • Wiki Markdown 页面
  • openwiki/.claims/
  • AGENTS.md 和 CLAUDE.md
  • 工作流文件本身

如果 Markdown 和 Claims 都没有变化,CI 不会创建 PR/MR。

一次干净的 no-op 更新只会刷新:

openwiki/.last-update.json

它用来记录“这次新鲜度检查已经发生过”。

持久化工作区可以通过:

openwiki/.run.json
openwiki/.page-manifest.json

恢复页面队列和源码检查点。临时 CI Runner 如果失败后工作区被销毁,就会从头开始;如果部分页面已经完成,OpenWiki 仍可能发布部分进度。

定时和 CI 运行会使用共享的 CI 标识发送匿名可靠性遥测。需要关闭时设置:

Terminal window
OPENWIKI_TELEMETRY_DISABLED=1

本地遥测和收集边界见自定义 OpenWiki。