代码改了文档要全量重跑?CodeWiki 增量更新指南:--update 如何省下 98% 生成成本
【免费下载链接】CodeWiki[ACL 2026] Open-source framework for holistic, structured repository-level documentation across multilingual codebases项目地址https://gitcode.com/gh_mirrors/co/CodeWiki点击查看免费下载CodeWiki 是一个用 AI 生成整个代码仓库级文档的开源框架ACL 2026。针对代码一改文档就得全量重跑的痛点它的 2.0 版本提供了--update增量更新机制只刷新受代码改动影响的文档页。官方在 svelte约 12.5 万行 JavaScript上实测一次提交后的增量更新仅花费 $0.34相比全量构建的 $21.48 省下约98%。 全量重跑为什么是 AI 代码文档最大的开销CodeWiki 生成文档的方式是解析仓库构建依赖图 → 递归切分成模块树 → 每个模块页都让 LLM Agent 独立读代码、写页面。仓库越大全量构建的页面越多Token 花费和时间就越夸张——svelte 一次全量构建要$21.48、2 小时 46 分钟。如果每次提交都全量重跑文档成本会随提交次数线性膨胀而实际上一次提交通常只改动几个函数或类绝大多数文档页其实不需要动。这正是 2.0 引入的组件级增量更新要解决的问题。 增量更新在省什么看懂全量构建留下的底稿CodeWiki 的完整流水线分三个阶段仓库分析与模块切分、递归文档生成、层级组装与汇总关键在于全量构建会在输出目录留下一套底稿--update正是靠这些文件做增量判断的文件作用module_tree.json模块层级树每个叶子模块记录了它包含的组件 IDtemp/dependency_graphs/*.json完整依赖图每个组件的源码、签名和依赖边增量比对的核心metadata.json构建信息包括上次生成时的 commit IDmodule.md/overview.md已生成的文档页面也就是说--update不需要重新理解整个仓库它只需要回答一个问题和上一版依赖图相比这次改动碰到了哪些组件完整原理可查阅官方指南 guides/incremental-updates.md。 --update 的六步增量流程只改该改的整个流程由 orchestrator.py 串起来核心逻辑在 codewiki/src/be/updater/ 目录图对图diff the graphs加载旧依赖图为当前代码重建新图按组件 ID 对齐。每个组件会被判定为未变、函数体变了、签名变了、新增、删除或重命名。只改了注释的文件不会产生任何变更组件后续流程完全无感。修复模块树重命名的组件 ID 被改写删除的组件退出原模块新增组件按规则归位同文件、同目录、图邻居占多数规则搞不定的交给一个小路由 Agent 决定必要时新建叶子模块某模块膨胀过大时其父模块会被重新聚类。为每个受影响的叶子模块生成一份变更报告包含它自己变更的组件、它依赖的上游接口变化、它的页面里提到的已变更内容以及进出该模块的组件见 change_report.py。判断增量是否值得改动太多就放弃增量直接全量构建并记录原因。每个活跃叶子模块派一个 Agent按依赖顺序执行Agent 读取变更报告和现有页面后三选一——原地打补丁、整页重写、或判定无需改动并写明理由。它可以顺带修正祖先页、依赖方页面中提到本模块的部分但无权写其他任何页面见 leaf_agent.py。收尾为新增的父模块补生成缺失页面扫描所有未触碰的页面清理失效的名称和死链接保存新图、新树和本次每个决策的记录。写作集之外的页面一个字节都不会被碰描述未变代码的正文也不会被无谓刷新。 增量不值得时怎么办自动回退全量在启动任何 Agent 之前会先检查两个比例超过阈值就回退到全量构建并把两个比例写进记录指标阈值对应参数活跃叶子模块 / 全部叶子模块0.5--tau-full新增 删除 重新聚类的模块/ 全部叶子模块0.3--tau-tree如果保存的旧图损坏无法加载同样会回退全量并标记为detector_failure。两个实用场景CI 或 squash merge 后旧 commit 找不到了用codewiki generate --compare-to commit-hash手动指定基准提交自动隐含--update。Git diff 完全不可用更新器仍能工作——直接拿保存的旧依赖图与新建的新图做比对不依赖 Git。⚡ 快速上手两条命令跑通全量到增量# 安装需要 Python 3.12 pip install githttps://gitcode.com/gh_mirrors/co/CodeWiki.git cd /path/to/your/project codewiki generate # 首次全量构建输出到 ./docs/ # ... 改代码、提交 ... codewiki generate --update # 增量刷新只更新受影响的页面几个新手友好的细节用--update但自上次生成后没有任何提交时会直接提示文档已是最新并退出不花一分钱。--update会沿用原文档的语言和目录布局中文文档不会被突然翻回英文。所有参数定义见 generate.py更细的阈值与--update-rung消融档位0~3b可查 guides/incremental-updates.md。 98% 怎么来的实测数据与可审计记录官方在 svelte约 12.5 万行 JavaScript上用同一模型测得运行方式成本耗时全量构建$21.482 小时 46 分钟一次提交后的--update$0.343 分钟($21.48 − $0.34) ÷ $21.48 ≈98.4%的成本节省耗时缩短约 55 倍。而且更新成本与代码改动量成正比而不是与仓库大小成正比——100 万行的仓库只改一个函数花费和 1 万行的仓库差不多。更难得的是每次更新可审计每步决策都会写入docs/update_record.json包含运行结果no_change/incremental/full_fallback/detector_failure、每页的裁决patch / rewrite / no-op及理由、每次 Agent 调用的时间与 Token 开销。事后可解释为什么某页被改、某页没动——实现见 record.py 与死链清理的 stale_scan.py。✅ 质量不降级顺手看一眼 2.0 的基准成绩文档保持常新的前提是质量经得起检验。CodeWiki 2.0 在 CodeWikiBench 七个仓库上的平均加权得分 82.23比 1.0 提升 12.44 分其中 C/C/Java/C# 等此前依赖图结构缺失严重的语言提升最大Electron C 从 42.12 提升到 71.59 记住这三点就够了--update的单位是组件不是文件只改注释不会产生任何文档改动成本花在刀刃上。增量不是无脑省钱改动面超过阈值活跃叶子 50% 或结构变化 30%会自动回退全量构建宁可贵也不出错。每次更新都有update_record.json留痕哪页改了、为什么改、花了多少 Token全部可追溯。文档和代码一样是需要持续维护的活资产。用codewiki generate --update把它放进你的常规工作流让文档刷新成本从仓库规模变成这次改了多少。赞分享【免费下载链接】CodeWiki[ACL 2026] Open-source framework for holistic, structured repository-level documentation across multilingual codebases项目地址https://gitcode.com/gh_mirrors/co/CodeWiki点击查看免费下载相关推荐CodeWiki完全指南AI如何为百万行代码仓库自动生成结构化文档CodeWiki完全指南AI如何为百万行代码仓库自动生成结构化文档 还在为接手一个百万行的代码仓库而头疼翻不完的源码、过时的注释、缺失的架构说明让新人上如何用CodeWiki一条命令生成项目文档codewiki generate实战教程如何用CodeWiki一条命令生成项目文档codewiki generate实战教程 CodeWiki 是一个开源的 AI 仓库级文档生成框架 codewi突破千亿代码壁垒DeepWiki-Open分阶段文档生成与增量更新全攻略突破千亿代码壁垒DeepWiki Open分阶段文档生成与增量更新全攻略 大型代码仓库的文档生成一直是开发者面临的严峻挑战。随着项目规模增长至数十万甚至数百万AI 应用人工智能RAG文档创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

微信小程序名片管理系统实战:数据库设计与高频踩坑排查

微信小程序名片管理系统实战:数据库设计与高频踩坑排查

简介:这是一份微信小程序名片管理系统的完整源码与数据库工程,定位为毕业设计模板与业务型小程序开发参考,适合学生、个人开发者以及需要快速搭建员工名片库的企业技术团队。项目覆盖普通用户与管理员两类角色,包含员工名片、联系…

2026/10/11 11:34:08 阅读更多 →
OpenHarmony投屏难?scrcpy替代方案与HDC调试全攻略

OpenHarmony投屏难?scrcpy替代方案与HDC调试全攻略

先说结论:有,但和安卓生态那种“开箱即用”的体验还有差距。如果你做过安卓开发或者日常用手机调试,大概率对scrcpy不陌生——一条命令把手机屏幕投到电脑上,还能用鼠标键盘反向控制,不需要root,延迟低到能…

2026/10/11 11:34:08 阅读更多 →
YOLOv5 到 YOLOv11 模型升级迁移实战指南

YOLOv5 到 YOLOv11 模型升级迁移实战指南

简介:这份资源面向计算机视觉初学者与目标检测方向的开发者,围绕YOLOv5与YOLOv11相关实现展开,可用于自动驾驶、视频监控等实时检测场景的学习与实验。压缩包共143个文件,约1.71MB,以53个Python脚本、49个YAML与11个YM…

2026/10/11 11:34:08 阅读更多 →

最新新闻

2026年详解腾讯企业邮箱购买方式,通过购买电话咨询套餐配置

2026年详解腾讯企业邮箱购买方式,通过购买电话咨询套餐配置

腾讯企业邮箱面向企业用户提供专业邮局服务,企业配置自有域名后即可生成以企业域名为后缀的账号,并自主组织、管理和分配。2026年,企业选购时的核心问题集中在两点:通过何种方式完成购买,以及如何借助购买电话把套餐配…

2026/10/11 13:31:00 阅读更多 →
在Linux命令行中运行Python脚本的流程步骤

在Linux命令行中运行Python脚本的流程步骤

前言 把写好的 .py 文件在 Linux 命令行上跑起来,是运维与开发里最常见的一步,但这一步能踩的坑比想象中多:脚本明明在终端能跑,放进计划任务就报「找不到模块」;输出全混在一起,分不清是正常结果还是报错&…

2026/10/11 13:31:00 阅读更多 →
在Python中使用colorama库给输出添加颜色

在Python中使用colorama库给输出添加颜色

前言 终端里给输出加颜色,靠的是一串控制字符,不是字体、不是样式表。最典型的一串长这样:\033[31m。它由三部分组成——转义字符 ESC(八进制写作 \033,十六进制是 0x1B)、左方括号 [、以及参数 31m。终端读…

2026/10/11 13:31:00 阅读更多 →
ext-7.2.0.67.zip 部署实战:从校验解压到版本排查全流程

ext-7.2.0.67.zip 部署实战:从校验解压到版本排查全流程

简介:ext-7.2.0.67 压缩包对应的是 Sencha 公司推出的 Ext JS 7.2.0 框架交付文件,面向需要开发数据密集型、跨平台 Web 与移动应用的前端工程师,特别适合在企业级管理系统、后台仪表盘以及数据看板等场景中使用。框架内提供了 140 多款预集成…

2026/10/11 13:31:00 阅读更多 →
神龙卡新一代驱动实战:稳定加载、调优参数与避坑指南

神龙卡新一代驱动实战:稳定加载、调优参数与避坑指南

简介:神龙卡新一代驱动是面向使用神龙卡硬件设备的用户推出的最新驱动程序包,适用于游戏娱乐、图形处理及高性能计算等场景,可帮助系统正确识别硬件、释放设备性能并改善兼容性。压缩包共收录141个文件,整体约15.05MB,…

2026/10/11 13:31:00 阅读更多 →
ESRGAN超分辨率实战:从heyo整理版解压到分块推理放大4K老照片

ESRGAN超分辨率实战:从heyo整理版解压到分块推理放大4K老照片

简介:本资源为基于ESRGAN的图像超分辨率增强项目源码包,面向深度学习入门者、图像处理研究者及需要提升低分辨率图像清晰度的开发者。项目在原版ESRGAN基础上由作者crewxbh维护,并疑似加入waterpck相关的水印处理或图像修复功能,可…

2026/10/11 13:29:59 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →