用途:在 ego-lite 仓库中查找并实施有证据支撑的简化,目标不仅是减少代码行数,而是减少概念与维护面。适合代码库审计、清理死代码、消除重复状态或 API、移除无生产消费者的导出与兼容层。
主要能力与做法:
- 先建立契约:阅读 AGENTS.md 与拥有相关行为的设计文档,检查 git status 并保留无关的用户改动。区分“审计”与“已授权的实现”,不把清理变成未经明确的产品决策。
- 确定边界:globalThis.ego 由闭源应用提供,外部契约记录在 docs/native-bindings-api.md;运行时存在 CLI 与嵌入式 SDK 两条启动路径;公共 agent API 需在实现、测试、help() 与 skills/ego-browser/SKILL.md 之间保持一致;浏览器状态可能比短生命周期的 Node.js 进程存活更久。
- 候选方向:无生产消费者的导出、辅助函数、事件、选项、回退、包或状态字段;仅被测试或文档消费的行为;同一页面、任务空间、会话、ref、生命周期或输出状态的多重表示;只增加词汇而无策略、隔离或测试接缝的透传层;显式破坏性分支上不必要的兼容代码;无当前产品用途的通用性;仅为保护可移除表面而存在的特例、回滚路径或校验;可用 Node.js 内置或健康依赖以更少总代码替代的手写解析器、队列、重试逻辑或工具。把逻辑搬进包装器不算简化,需估算净结果。
- 证明候选:先用 rg 搜索确切的符号、方法形式、事件名、配置键、错误码、协议字符串和动态注册点,阅读调用方而非仅依赖静态分析。证据分类为生产、契约、非生产、模糊。当存在真实生产调用方、原生契约不确定、变更只是搬移复杂度或删除需要无关改动时,拒绝或降级该候选。小的局部清理可直接实施;行为或 API 决策应先在所属设计文档中确定。
- 广泛删除前先报告:列出要移除或折叠的表面、调用点与契约证据、用户可见行为变化(或无)、消失的复杂度与保留的替代、置信度、风险与最小验证。需要用户决策的候选应与保持行为的清理分开列出。
- 安全实施:变更代码时遵循规范驱动的 TDD。需保持现有行为时,更新或新增特征测试;有意改变行为前,先更新所属设计或 API 契约;连同实现与已过时的测试、夹具、导出、JSDoc、help 条目及技能文档一起移除。注释用英文,只解释非显而易见的约束。优先删除一个状态或转移,而非在它周围再加一层抽象。
使用方式(命令保持原样):从 package/ego-browser/ 目录开始,运行时改动运行 npm test,真实任务空间与浏览器行为运行 npm run e2e,学习相关改动运行 npm run validate:site-skills;最后运行 git diff --check,并报告任何无法运行的验证。
限制与注意:绝不把生成的构建输出当作简化的源来编辑。在理解其信任或生命周期边界之前,绝不移除防御性路径。资料未提供具体支持的平台、收费或价格信息。