SuperAPI AI 工具集

extract-service

编程与开发

查看项目

更新于 10-15 21:43

技能介绍

用途:Extract Service 面向“同一套操作机制被复制粘贴到 2 个以上处理器、动作或路由文件”的场景,例如 SDK 初始化、API 调用、文件系统访问、网络重试逻辑、认证样板代码。它把这些重复的“怎么做”抽到一个共享服务层,再逐个调用方迁移并验证,目标是不改变可观察行为。若某个 bug 需要在 N 处修复,或只修了部分位置,也适用。

主要能力:采用多智能体流程,包含 scanner、planner、migration、critic 四个子智能体,跨三层执行,并设操作员审批门。核心判断是“这是否纯结构性——行为相同,只是同一套 how 的副本更少”。抽取前需通过 grep 确认至少 2 个真实调用方(G6);服务层只保留共享的 how,编排与领域规则留在调用方(G7);测试或构建为红则阻塞(G8)。

使用方式:先读取 references/playbook.md 了解方法论与何时不应抽取;按 references/_shared/before-starting-check.md 检查 .forsvn/index/manifest.json、docs/forsvn/experience/technical.md、architecture/system-architecture.md 等前置产物。预算为 standard,≤3 个调用方时自动降级为单智能体回退,--fast 强制单智能体但安全门仍生效。计划需完整展示并询问 Apply this migration? [y/N],未确认前不编辑代码;无响应则只输出计划并结束。产物写入 docs/forsvn/artifacts/product-extract-service-<YYYY-MM-DD>-<slug>.md,含迁移计划与已应用迁移两部分。

适用场景:重复操作机制跨多个调用方、需要统一维护点、且行为必须保持不变的迁移。

限制:仅 1 个调用方不适用;编排或领域逻辑不属于抽取对象;行为清理应走 clean-code,新系统设计应走 architect-system;无测试且必须保持行为时需先写测试;测试基线为红则阻塞。反模式包括在 1 个调用方时抽取、服务中出现 if (caller === 'x')、批量迁移、领域规则滑入服务层。完成状态分为 DONE、DONE_WITH_CONCERNS、BLOCKED、NEEDS_CONTEXT。