大数跨境

AI提升:这款爆火的开源项目 OpenWiki,正被越来越多人使用

AI提升:这款爆火的开源项目 OpenWiki,正被越来越多人使用 51Testing软件测试网
2026-09-25
6
导读:最近技术圈有一个“OpenWiki”爆火!越来越多的人开始用它!它跟传统 Wiki 的区别在于:传统 Wiki 是写给人看的。OpenWiki 的读者不是人,是 AI Agent。
点击蓝字,关注我们

 

最近技术圈有一个“OpenWiki”爆火!越来越多的人开始用它!

有人不禁好奇:“Wiki 我知道,Confluence、语雀不都是 Wiki 吗?有什么新鲜的?”

这个“OpenWiki”还真不一样,跟传统 Wiki 的区别在于:

传统 Wiki 是写给人看的。OpenWiki 的读者不是人,是 AI Agent。

它解决的最核心的一个问题是:

很多团队在用上 AI 编程工具之后,都会遇到这个瓶颈:AI 的“短期记忆”够了,但“长期记忆”没有。

今天我们就带大家详细了解一下 OpenWiki,并探索它在测试领域对我们的应用启发!

阅读本文你将收获👇:

1、OpenWiki 是什么?
2、OpenWiki 的核心架构与理念
3、测试人如何上手:5 分钟跑通 OpenWiki
4、OpenWiki 测试领域探索
5、相比传统 RAG 的区别

一、OpenWiki 是什么?

OpenWiki 是 LangChain 出品的 Node.js CLI(MIT 开源,GitHub 1.58 万星),基于 LangChain 的 Deep Agents(多步骤 Agent 编排, https://github.com/langchain-ai/deepagentsjs)。

它是一个命令行工具,扫描你的代码库,然后用 LLM 生成一套 Markdown Wiki。

但它生成的 Wiki 不是给人读的“说明文档”,而是给 AI Agent 读的“上下文记忆”。

一句话说清:OpenWiki 是 AI 编程 Agent 的“长期记忆系统”——把代码库的结构、架构、依赖关系“编译”成一套 Agent 可以快速查阅的 Wiki,让 Agent 不用每次都从头翻代码。

LangChain 官方对 OpenWiki 的定位非常精准:“An agent reads your sources, synthesizes a linked Markdown wiki you own, and keeps it current on every change.”

二、OpenWiki 的核心架构与理念

一句话总结:三层结构 + 五步流程。

OpenWiki 的核心架构分为三层:

第一层:代码仓库层——只读不改,保留原始代码和 Git 历史。
第二层:Deep Agents 文档生成引擎——一个基于 LangChain Deep Agents 构建的 Agent,负责扫描代码、分析架构、生成 Wiki,并通过 Claims 机制保证每条事实都有据可查。
第三层:结构化知识层——生成在 openwiki/ 目录下的 Markdown Wiki,包含架构页、模块页、集成页等,每条事实都放在 openwiki/.claims/ 下进行溯源。

OpenWiki 建立在 LangChain 的 Deep Agents 之上,但它不是“把代码丢给 LLM 让它自由发挥”那么简单。它的工作流是 Agent 驱动 + 确定性工程的混合模式。


当你运行 openwiki --init 时,背后的流程是这样的:

第一步:代码扫描——扫描仓库结构,收集 Git 上下文(分支、提交历史、变更文件)。
第二步:架构分析——Deep Agents 会话读取代码库,识别模块划分、依赖关系、调用链路、集成点。
第三步:Wiki 生成——生成结构化的 Markdown 页面,包括架构概览、模块说明、集成指南等。
第四步:Claims 校验——每条事实性陈述关联一个 Claim,记录来源文件和行号,保证可溯源。
第五步:写入文件——Wiki 写入 openwiki/ 目录,同时在仓库根目录的 AGENTS.md 和 CLAUDE.md 中插入指针,让 AI 编程 Agent 知道“先读 Wiki 再干活”。

核心机制: openwiki --update 不是从头重新生成,而是增量更新。它会对比代码变更和 Wiki 中已有的 Claims,只更新过时的部分,重新校验受影响的页面。

这个机制的核心价值在于:Wiki 的维护成本随代码量线性增长,而不是指数增长。代码加了一个新模块,只需要更新相关的几页,不需要整个 Wiki 重写。

Claims 机制详解

Claims 是 OpenWiki 最值得测试人员关注的部分,因为它决定了 Wiki 里的内容“可不可信、能不能审、过期怎么办”。

Claim 可以理解为“一条可验证事实的最小单元”。它通常长这样:


   
   
   
   
    
   
   
   
   id: claim-order-depends-paymentstatement:"订单模块在创建订单后调用支付网关预授权"sources:-file: modules/order/service.tslines: 42-58status: active        # active / stale / revokedlast_checked:2026-09-18related_pages:- modules/order.md- integrations.md

它的工作方式可以拆成 5 点:

  1. 生成 :Agent 阅读源码后生成 Claim,每条事实必须绑定来源文件和行号,不能只写一句“系统依赖支付网关”却没有出处。
  2. 校验 : openwiki --update 对比 Git 变更,找到受影响的 Claim,标记为 stale ,重新读取源文件验证。
  3. 更新 :如果源码仍然支持该事实,就更新 last_checked ;如果不支持,就修改 statement,或者把 Claim 标记为 revoked 。
  4. 审核 :测试人员可以抽查 openwiki/.claims/ ,确认 Agent 有没有编造事实。CI 里也可以要求 Claims 变更必须走 Review。
  5. 过期处理 :文件删除、行号变动、依赖关系变化,都可能让 Claim 过期。Agent 遇到 stale 或 revoked 的 Claim 时,应该提示“不确定,需要重新验证”,而不是继续当真。

对测试团队来说,Claims 的价值是: Wiki 不再只是“看起来对”,而是每条关键事实都能追到源码。 这为后续做回归影响分析、缺陷根因定位、测试资产审计提供了基础。

三、测试人如何上手:5 分钟跑通 OpenWiki

1、你需要知道的前置条件

OpenWiki 是一个 Node.js CLI 工具,需要 Node 22 以上。


   
   
   
   
    
   
   
   
   npminstall-g openwiki

2、国内可用路径

OpenWiki 默认用 OpenAI API,但支持 13 个模型提供商。国内开发者可以在 --init 时选择以下路径:

  • Ollama 本地模型:选 OpenAI Compatible,Base URL 指向本地 Ollama 端点
  • 国内代理中转:Base URL 指向代理网关
  • AWS Bedrock:IAM 凭据 + DeepSeek 模型
  • Gemini Enterprise:Google ADC + Qwen 模型

选好提供商后配置一次,后续运行自动复用。

这里有一个实测经验值得参考:有开发者用蓝耘元生代平台跑 OpenWiki,先选的 DeepSeek-V3.2 能返回合法的工具调用,但先后撞上模型 ID 前导斜杠校验和实际推理通道 20K 输入上限。最终改用 deepseek-v4-flash 后, --init 、 --update 和 visualize 才完整闭环。

选型原则:模型详情页的理论上下文、聚合平台的元数据、某次请求实际命中的通道上限,是三件不同的事。不要只看模型榜单,要看实际通道限制和 Agent 约束。

3、初始化代码库 Wiki

在项目根目录运行:


   
   
   
   
    
   
   
   
   openwiki --init

首次运行会引导你选择推理提供商、输入 API Key、选择模型,然后自动扫描代码库并生成 Wiki。

生成后的目录结构:


   
   
   
   
    
   
   
   
   your-project/├── openwiki/│   ├── index.md              # 知识索引(OKF 保留文档)│   ├── quickstart.md         # 唯一入口│   ├── architecture/         # 架构概览│   ├── modules/              # 各模块说明│   ├── integrations.md       # 集成点│   ├── .claims/              # 事实溯源│   ├── .last-update.json     # 上次运行元数据│   └── INSTRUCTIONS.md       # 你写的文档 brief,OpenWiki 不会覆写├── AGENTS.md                 # Agent 指令(自动更新)└── CLAUDE.md                 # Claude Code 指令(自动更新)

每一页开头都带 YAML frontmatter,格式遵循 Google 的 Open Knowledge Format(OKF)v0.2:


   
   
   
   
    
   
   
   
   Architecture overviewtitle: OpenWiki Architecture Overviewdescription: Explains OpenWiki's layered CLI architecture...tags:[architecture, cli]---

INSTRUCTIONS.md 定义了 Wiki 的生成范围和质量标准,是你的“文档 brief”。写得不好会导致 Wiki 组织混乱。OpenWiki 读这个文件来决定 scope 和 priorities,但在正常的 --init 和 --update 中不会覆写它。

4、查看生成的 Wiki


   
   
   
   
    
   
   
   
   openwiki visualize

这会启动一个本地服务(127.0.0.1,默认 4321 端口),浏览器打开交互式节点图 + Markdown 阅读器。节点是 Wiki 页面,边是页面间的链接,点击节点在右侧读对应内容。编辑 Wiki 文件后自动刷新。

你也可以导出静态站点:


   
   
   
   
    
   
   
   
   openwiki visualize openwiki --export docs/openwiki-visualizer

产出 index.html + client.js + graph.json ,直接部署到 GitHub Pages 或任何静态托管。

5、在 Cursor / Claude Code 中运行

OpenWiki 支持在 Claude Code、Codex、OpenCode、Cursor 内部直接运行,不需要单独配 OpenWiki 的 API Key,编程 Agent 用自己已认证的模型 session。


   
   
   
   
    
   
   
   
   openwiki integrations install claudeopenwiki integrations install codexopenwiki integrations install cursor

安装后重启编程 Agent,在仓库里直接说:


   
   
   
   
    
   
   
   
   Initialize this repository's OpenWiki from the current source and tests.

或者更新已有 Wiki:


   
   
   
   
    
   
   
   
   Update this repository's OpenWiki for changes since its last successful run.

分工明确:编程 Agent 有完整的仓库访问权,负责研究源码、规划页面、逐页写作;OpenWiki 负责管理 Claims 的创建、更新、保留和撤销,以及页面持久化和验证。底层五步操作—— openwiki_begin 、 submit_plan 、 next_page 、 submit_page 、 openwiki_finish ——由 OpenWiki 暴露给编程 Agent,两端的职责完全分开。

6、安全、成本与限制

测试团队落地前,必须先确认这三件事。

安全:代码会不会上传?

  • 用 OpenAI、Gemini 等云端模型,代码内容会发送到对应服务商。
  • 用 Ollama 本地模型,代码不出本机,但生成质量和速度要实测。
  • 用国内代理、Bedrock、Gemini Enterprise,要确认数据留存、日志、合规策略。
  • 测试代码、配置文件中可能包含密钥、生产地址、用户数据。使用前确认 OpenWiki 是否遵循 .gitignore ,或是否支持独立忽略规则;如果没有,建议在 CI 中排除敏感目录。
  • CI 中运行 openwiki --update 时,API Key 要放 Secret,自动提交 Wiki 更新的 PR 要有人审核。

成本:初始化贵,增量更新便宜。

  • --init 会扫描整个仓库,大仓库 Token 消耗高、耗时长。
  • --update 只处理变更和受影响 Claims,成本低得多。
  • 不建议每次 PR 都跑全量更新。可以设在主分支合并后、每日定时、发布前跑。
  • 先拿一个中等规模仓库试点,记录初始化时间、Token 费用、更新延迟,再决定是否推广。

限制:不要只看模型榜单。

  • 模型详情页的理论上下文、聚合平台元数据、实际请求命中的通道上限,是三件事。
  • Agent 工具调用可能失败,模型 ID 校验、输入上限、推理通道限制都会影响闭环。
  • Wiki 很大时,Agent 仍然需要索引和路由。OpenWiki 是结构化知识层,不是无限上下文。
  • 建议先选一个模块,验证 Claims 准确率、更新延迟、Agent 回答准确率,再扩大范围。

四、OpenWiki 测试领域探索

OpenWiki 不直接替代 TestRail、Xray、Jira,但它可以作为“测试 Agent 的长期记忆层”。下面给 3 个具体场景和 1 个 Demo。

场景 1:测试资产 Wiki 化

测试资产不只在测试代码里,还包括接口定义、测试数据、环境配置、CI 流水线、Mock 服务、自动化脚本。

OpenWiki 扫描代码库后,可以生成:

  • 模块页:这个模块负责什么,依赖谁,被谁依赖。
  • 集成页:订单、支付、库存、风控之间怎么调用。
  • 测试入口页:怎么跑单测、集成测试、E2E,需要哪些环境变量。
  • CI 页:流水线有哪些阶段,失败后看哪里。

测试 Agent 读这些 Wiki 后,回答“支付模块怎么测”“订单回归要起哪些服务”时,不再靠猜。

场景 2:精准回归影响分析

代码变更后,测试最关心: 哪些用例要回归?

流程可以设计成:

  1. 开发修改 modules/order/service.ts 。
  2. CI 运行 openwiki --update 。
  3. OpenWiki 对比 Git 变更,把相关 Claims 标记为 stale ,重新校验。
  4. 测试 Agent 读取更新后的 Wiki、Claims、测试代码。
  5. Agent 输出:受影响模块、依赖方、建议回归用例、相关自动化脚本、风险点。

这比“每次全量回归”更精准,也比“只靠人工经验判断”更可追溯。

场景 3:缺陷根因与新人 Onboarding

缺陷根因定位时,测试 Agent 可以读:

  • 架构页:系统分层和调用链。
  • 模块页:订单状态机、支付回调、库存扣减。
  • 集成页:第三方网关、消息队列、定时任务。
  • Claims:每条关键事实的源码出处。

新人入职时,也可以直接问测试 Agent:

  • “订单创建失败,可能影响哪些模块?”
  • “支付回调幂等有哪些测试点?”
  • “库存并发扣减的自动化脚本在哪?”
  • “这次 release 改了哪些模块,回归范围是什么?”

Demo:电商订单变更影响分析

假设仓库里有:


   
   
   
   
    
   
   
   
   modules/order/service.tsmodules/payment/callback.tsmodules/stock/deduct.tstests/order.spec.tstests/payment.spec.tstests/stock.spec.ts

开发修改了 modules/order/service.ts 的创建订单逻辑。

运行:


   
   
   
   
    
   
   
   
   openwiki --update

OpenWiki 发现以下 Claims 受影响:

  • “订单创建后调用支付预授权”
  • “订单创建依赖库存扣减”
  • “订单状态从 CREATED 进入 PAYING”

这些 Claim 被标记为 stale ,重新读取源码后更新或撤销。

测试 Agent 读取 Wiki 和 Claims 后回答:


   
   
   
   
    
   
   
   
   受影响模块:order、payment、stock建议回归用例:- TC-ORDER-001 创建订单- TC-PAY-003 支付回调- TC-STOCK-002 库存扣减相关自动化:- tests/order.spec.ts- tests/payment.spec.ts- tests/stock.spec.ts风险点:- 支付回调幂等- 库存并发扣减- 订单状态机异常流转

再配合 AGENTS.md 里的指针:


   
   
   
   
    
   
   
   
   先读 openwiki/quickstart.md,再读相关 modules 和 .claims。

测试 Agent 就能把“代码变更”翻译成“测试影响范围”。

五、相比传统 RAG 的区别

对比维度
传统 RAG
OpenWiki(LLM Wiki)
知识组织
向量碎片
结构化 Markdown 页面
更新方式
每次查询重新检索
增量更新 Claims
可审计性
弱(黑盒检索)
强(Claims 溯源)
知识积累
用完即弃
编译一次、持续复用
Agent 友好度
需检索后拼接
直接读 Wiki

RAG 是“解释器模式”,每次执行都从头解析。OpenWiki 是“编译器模式”,编译一次、反复使用。

六、话题讨论

讨论 1:你觉得 OpenWiki 都可以应用在测试哪些方面?
讨论 2:OpenWiki 的思路可以说对我们是一个新的启发?你在使用大模型的过程中还遇到哪些不好的地方,觉得可以优化?


以上话题,任选其一,欢迎评论区留言。小编会在节后(2026 年 10 月12 日)下午,选取 1 位“关注+点赞+留言”的幸运用户,送出《Codex 快速入门 Harness 工程落地》1 本,快来评论区互动吧~

 


图片
END


图片
点点赞
图片
点分享
图片
点推荐

【声明】内容源于网络
0
0
51Testing软件测试网
博为峰51Testing软件测试网提供各种线上招聘、线上课程等网络服务,出版软件测试系列丛书及电子杂志,组织线上技术交流活动;同时还举办多种线下公益活动,如软件测试沙龙、软件测试专场招聘会等。
内容 3953
粉丝 0
51Testing软件测试网 博为峰51Testing软件测试网提供各种线上招聘、线上课程等网络服务,出版软件测试系列丛书及电子杂志,组织线上技术交流活动;同时还举办多种线下公益活动,如软件测试沙龙、软件测试专场招聘会等。
总阅读3.9k
粉丝0
内容4.0k