website-rebuild-skill 源码化阶段:如何把逐字移植的机器产物重构成人能读的工程
【免费下载链接】website-rebuild-skill复刻网站的 Agent Skill抓只读镜像、从压缩代码逐行还原、自动比对验收。An agent skill that mirrors a website, rebuilds it from the minified code, and verifies the result with automated diffs.项目地址https://gitcode.com/gh_mirrors/we/website-rebuild-skill点击查看免费下载website-rebuild-skill是一个复刻网站的 Agent Skill抓只读镜像、从压缩代码逐行还原、自动比对验收。它的最后一个阶段——源码化内部编号 M(n1)把逐字移植得到的已证明正确、但人读不了的机器产物重构成一个能读、能改、复制到任何机器断网也能跑的真实工程。这篇文章讲清楚这件事是怎么做到的。 文章假设你已了解 skill 的整体流水线判级 → 镜像 → 逆向 → 移植 → 验收聚焦最后一步完整流程见 README.md。一、为什么需要源码化验收阶段结束时产物长什么样以 lusion 项目为例实测数字如下维度实际状态文件数1 个文件14,271 行类名 / 方法名保留压缩器动不了这些局部变量e出现 2,962 次、t出现 2,164 次注释34 行占比 0.2%打开它就像打开一台机器的内脏结构是真实的但没有一行是人能读的。源码化阶段的目标就是让它变成像工程师写的源文件一样的工程模块划分清楚、变量有名字、有必要注释而且复制到任意位置断网可跑。⚠️ 有一条不可协商的前置条件必须先有全绿的验收门。没有裁判的重构是盲改有了逐像素精确的裁判meanAbsDiff 0.00每一步拆分、每一次改名都能被当场证伪。这是重构能有的最好条件也是它必须排在最后的原因。二、三阶段产物契约单向依赖不可逆流整个项目的产物是一条三段接力依赖只能朝一个方向mirror/——只读证据源站字节快照永不修改port/——逐字移植由--check守着字节一致永不手改src/——人写的工程可读、可改、自包含人在这里工作两条铁规则src/的每个符号都必须能指回port/的声明port/的每一行都必须能指回镜像的行号——坐标系是三段接力的。在src/里发现行为不对答案在port/或mirror/里不在src/里。就地改到对会把一个移植 bug 变成无法追溯的本地补丁而且门会变绿因为你确实调对了。port/在src/建成之后不删除——它是等价性的另一端删了就没有可对照的基准。完整契约见 references/readable-source.md。三、四类操作按风险从低到高排序拆模块先判断产物形态粒度不是自由选择三种产物形态各有各的拆法产物形态正确策略扁平拼接几百个声明挤一个文件拆成真实 ESM 模块树受三条硬约束约束webpack / rollup 模块边界是打包器写下的边界免费拿到难点整体平移到叫什么Vite / esbuild scope-hoisted边界被抹掉不重写只切片部件是原 chunk 的连续字节区间按序拼接逐字节等于原件对扁平产物决定粒度的三条硬约束是互相引用引用环不能拆到两个模块、求值顺序裸语句在改原型顺序变了行为就变且安静、import 绑定不可赋值构建直接失败。正解是让每个模块成为源码上连续的区间求值顺序被精确保持而不只是拓扑等价。实测数字lusion 项目塌缩强连通分量后得到 138 个模块但最大模块仍吃掉 79% 的行通过延迟绑定少数文件末尾构造的单例共 6 个最终落到389 个模块、中位数 18 行三条路由依旧逐像素一致。而过程中那次分解下界做不到的结论后来被证明是自家工具的 bug——当结论是这件事做不到时先怀疑测量它的工具再怀疑对象。命名错的名字比哈希更糟webpack 模块的 id 是内容哈希如2439ebf272610f59b73f不携带任何信息。tools/name-modules.mjs 按 0–4 级证据给模块提名人工裁决 / 模块自己注册的名字 / 两个以上消费方的同名字段 / 常量值与命名前缀 / 报错信息里的主语并把提名所依据的那句话一起写进清单存档。⚠️ 规则比给变量改名更硬没有证据就保留哈希 id。一个错的名字比哈希更糟——哈希会让人去看错名会让人以为自己已经知道了。实测 46 个模块只有 19 个拿到名字覆盖 52% 的行数这是正确结果不是欠账。变量重命名则要求作用域安全工具在 tools/正则改名会误伤同名局部变量、遮蔽、字符串里的同名标识符构建通过、运行时才炸是常态。lusion 项目 6,881 个混淆局部变量中 63% 没有任何机械证据——大多是函数参数和只被引用一次的变量。目标不是消灭所有单字母而是给读者必须追踪的绑定命名最终 1,083 个有证据的拿到名字2,875 个保持原样。补注释三个档位写进注释里必须可区分注释是我们发明的所以只允许出现在src/里。内容分三档事实从代码本身直接读得出的直述。如每帧把 fbm 位移写进共享 uniform溯源指回坐标系的。如port/engine.gen.js L6001-6042 ← mirror/_pretty/xxx.js L21883推测⛔ 必须显式标注如推测这里的 2 是振幅上限未验证工具写不出的恰恰是它是干什么的而那正是禁止猜的东西。所以模块头默认只有事实与溯源并显式声明不含推测——留白比一句听起来合理的假话有价值。结构性重写默认禁止合并重复代码、提取公共函数、改算法、顺手优化——默认一律不做。理由这一阶段的全部合法性来自等价可判定结构性重写会让门从证明等价退化为没测出不等价。⭐ 纪律 4 在这里依然有效port/里照抄的 bug、死代码、怪写法src/里继续照抄。现在你能读懂它了这明显是个 bug的冲动会比任何阶段都强——但它依然可能是行为本身。想修就逐条登记不要静默修。四、自包含契约交付物必须拷到哪都能跑定义很直白把src/整个目录复制到任意路径断网执行npm install --offline与npm run dev站点完整跑起来。几个实测踩过的点按账本复制不能按文档引用复制——文档扫描看不见脚本在运行时请求的东西。airpodspro 项目第一次按文档引用复制副本有 17 条页面错误改用资产账本1,047 个文件后探针与源站逐项相同资产路径不要再套一层——资产目录的层级就是 URL 空间契约套一层样式表直接 404而页面能出来、门也不一定报必须复制出去跑——自包含门 verify-standalone.mjs 把src/复制到临时目录、断网、安装、构建再跑验收门原地跑会命中项目根的node_modules和镜像——那恰好是自包含要证伪的东西验证钩子要跟着走——确定性 shim 没跟着走副本就是能跑但测不了交付物生成时tools/make-standalone.mjs 会写入字节清单byte-manifest.json每次启动前逐文件重验 sha256——副本从验过一次变成随时自证。五、门体系让每一步重构都能被证死现有五层门控制台 / 网络 / DOM / 几何 / 像素原样复用目标从port/的构建产物换成src/的构建产物判据、容差、自比带宽全部不变容差不许因为重构了所以有点差异而放宽——放宽容差等于放弃这一阶段唯一的合法性来源。两道新增的门门它问的是符号映射门 verify-symbols.mjsport/每个顶层声明在src/有且仅有一个对应符号双向单射、零孤儿——新发明的代码会在这里现形自包含门 verify-standalone.mjs复制出去、断网、安装、构建整条链在干净环境跑通⚠️ 要防两种假绿编造的变量名名字不影响求值所有门永远全绿——这是门抓不到的唯一一类错只能靠人工抽查档位。实测抽查 425 条命名查出三类假陈述它们全部通过了此前每一道门包括逐像素 0.00两侧都白屏、差异报 0.00门有非空帧前置条件拒绝在空帧上给出比较结果——实测正是它抓住了一次完美收官形态的拆分失败还有一条值得记住的经验新门第一次跑在真实数据上时先假设红灯是门自己的 bug。实测符号门首跑 3 条红灯里 2 条是它自己的 bug自包含门 4 条里 3 条是误报。红灯先分诊别先归因。六、工具链一条按阶段划的零依赖线源码化阶段与之前阶段的分界是阶段线不是目录线scripts/ —— 验收门与之前的全部工序零依赖需要真正的 parser 时spawn一个钉死版本的 npx而不是 importtools/ —— 源码化阶段的重构器允许 devDependencies作用域安全改名需要babel/parser这类真正的 parser理由门是用来证明的必须能被独立审查、在任何环境跑起来重构器是用来改的改错了有门兜着。还有一条铁规任何门不许 import 任何重构器——检查者不能是生产者。这条规矩曾只写在文档里被违反了八个版本才被发现现在由 verify-zerodep.mjs 双向看守。七、执行顺序每一步单独提交每一步跑全部门步骤做什么门的判据0把每条门固化成仓库脚本并跑一遍确认是真绿⚠️ 绿灯会随输入过期必须重跑1建src/骨架 构建配置全绿2复制资产 建ASSETS.md账本 自包含门3拆模块先出划分方案给人过目再切不改任何标识符全绿 符号门4重命名按依赖序逐模块推进每个模块提交前全绿5补注释全绿应当零变化6写src/README.md 复制走实测自包含门在干净机器上过⛔ 第 3 步和第 4 步必须分开提交门一旦变红你无法区分是切错了边界还是改错了名字——而这两者的排查路径完全不同。八、实战结果一览项目源码化结果Lusion14,271 行自研 WebGL 引擎389 个模块、中位数 18 行三条路由meanAbsDiff 0.00可独立复制运行AirPods Pro565 个 webpack 模块565 个模块文件模块 token 门与打包器字节逐一对上仓库外断网重建仍 0.00Hashgraph VC44.9 万行 Nuxt/Vite2,043 个语义命名部件逐字节重拼一致按域折进 scene / camera / wave 等目录Raycast Keyboard判级到源码化单次会话跑完61 chunk / 879 模块 token 门 61/61完整的实证记录包括所有失败形态在 case-studies/readable-source.md阶段定义与六条纪律在 SKILL.md。九、延伸阅读源码化阶段主指南references/readable-source.md实证战史每条规则为什么存在case-studies/readable-source.md重构器速查表tools/README.md版本演进CHANGELOG.md源码化阶段的终点可以用一句话概括到人能读懂的真实为止。拿产出去做你自己的项目是你的工程不是它的阶段但交付物自带的字节清单与重拼门会让你 fork 之后精确地知道自己每一步偏离了源站什么。赞分享【免费下载链接】website-rebuild-skill复刻网站的 Agent Skill抓只读镜像、从压缩代码逐行还原、自动比对验收。An agent skill that mirrors a website, rebuilds it from the minified code, and verifies the result with automated diffs.项目地址https://gitcode.com/gh_mirrors/we/website-rebuild-skill点击查看免费下载相关推荐security-audit-skill用六阶段多 Agent 流水线把代码审计变成可验证的机器可读证据security audit skill用六阶段多 Agent 流水线把代码审计变成可验证的机器可读证据 security audit skill 是一个把AI 技能应用安全GSD 阶段产物逐字归档深入解析 gsd:mempalace-capture 的跨会话记忆捕获机制GSD 阶段产物逐字归档深入解析 gsd:mempalace capture 的跨会话记忆捕获机制 gsd:mempalace capture 是 GSDGKnip 源码映射机制详解如何把 dist/outDir 构建产物还原回源码Knip 源码映射机制详解如何把 dist / outDir 构建产物还原回源码 Knip 的核心职责是分析源码找出未使用的文件、依赖与导出。但现实中的项目代码质量静态分析CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

基于SpringBoot的大健康养老公寓管理系统:从毕设选题到答辩全攻略

基于SpringBoot的大健康养老公寓管理系统:从毕设选题到答辩全攻略

1. 为什么选“大健康养老公寓管理”这个题目每年到这个时间点,总有同学来找我聊毕业设计的事,问得最多的就是:有没有合适的题目推荐?要求还五花八门——好过审、工作量够、技术栈主流、最好还能润色到简历里。我通常会反问一句&am…

2026/10/13 13:52:38 阅读更多 →
CAD二次开发中点在多边形内的高精度实时判断方案

CAD二次开发中点在多边形内的高精度实时判断方案

1. 这不是数学题,是CAD里每天都在发生的“位置判断”实战在CAD二次开发的实际项目中,“点是否在多边形内”绝不是教科书里一个画个示意图就能打发的几何问题——它是某高校土木系BIM协同平台里构件自动归类的触发条件,是某工业设计公司电缆布…

2026/10/13 13:52:41 阅读更多 →
动态规划空间压缩实战:前缀和与后缀最大值求解两段不重叠子数组最大和

动态规划空间压缩实战:前缀和与后缀最大值求解两段不重叠子数组最大和

1. 从一道“数学考试”题看动态规划的空间压缩技巧“数学考试”这个标题乍一看像是讲备考策略,实际上它是一道经典的算法题,出现在某在线编程平台的每日一题栏目中。题目的核心是:给定一个长度为 n 的整数序列,要求选出两个不重叠…

2026/10/13 13:45:03 阅读更多 →

最新新闻

线上复试全流程复盘:电子信息专硕面试准备与避坑指南

线上复试全流程复盘:电子信息专硕面试准备与避坑指南

2020年的复试,对很多考研人来说都是一个特殊的节点。那年我报考了某所985高校的电子信息专硕,初试成绩出来后,一边担心复试线,一边第一次面对“线上复试”这个几乎没有先例可循的新玩法。整个复试从通知到正式进行只有不到两周的准…

2026/10/13 21:13:03 阅读更多 →
均匀分布与Wasserstein距离:40行MATLAB代码实现1D与2D计算

均匀分布与Wasserstein距离:40行MATLAB代码实现1D与2D计算

简介:这份资源是一套面向概率统计、机器学习与最优传输方向学习者的紧凑MATLAB代码,用于计算一维离散均匀概率分布之间的1-Wasserstein距离与2-Wasserstein距离。代码基于累积分布函数及其伪逆的阶跃函数表达实现,假定输入样本已按升序排列&a…

2026/10/13 21:13:03 阅读更多 →
阿里云ACP认证备考全攻略:从报名到拿证避坑指南

阿里云ACP认证备考全攻略:从报名到拿证避坑指南

进入正文。杭城某个周五晚上,我在某互联网公司做运维,群里忽然有个同事甩来一条消息:“要不要一起考个阿里云ACP?公司能报销考试费。”当时我第一反应是“考这玩意儿干啥?又不可能靠它涨工资”。后来真香了——不是因为…

2026/10/13 21:13:03 阅读更多 →
Spring Boot+Vue高校教师科研管理系统:从设计到部署全流程解析

Spring Boot+Vue高校教师科研管理系统:从设计到部署全流程解析

简介:基于 Spring Boot 与 Vue 构建的高校教师科研管理系统,是一套面向管理员、教师、学院三级用户的毕业设计源码案例,覆盖科研课题、软件著作权、论文、专利及科研成果的提交、校审与归档全流程,适合计算机相关专业学生做课设/毕…

2026/10/13 21:13:03 阅读更多 →
健身博主从零到一:定位、内容运营与变现的完整指南

健身博主从零到一:定位、内容运营与变现的完整指南

1. 健身博主从零起步的真实困境:缺的不只是内容能力这几年做博主孵化,我见过太多健身领域的内容创作者,在最初的三到六个月里就选择了放弃。他们中很多人本身练得不错,专业知识也能聊,甚至有些人已经在线下带过不少学员…

2026/10/13 21:13:03 阅读更多 →
R语言回归实战:首尔自行车需求预测与Cubist模型调优

R语言回归实战:首尔自行车需求预测与Cubist模型调优

简介:这份资源面向具备一定R语言基础、希望上手真实回归建模的数据分析学习者与从业者,围绕首尔自行车共享系统的每小时租赁需求预测展开。数据源自首尔自行车共享计划,核心目标是借助温度、时间、假期、季节等变量,预测每小时所需…

2026/10/13 21:12:02 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →