---
name: musepi-find-simplifications
description: 在 MusePi 找有证据的简化点：无生产消费者的 API、重复事实表示、投机通用化、重复中央工具或 Bun/Node 内置的实现；输出可评审候选。
---

# 找 MusePi 简化点

把宽泛的“找简化”变成有证据的候选清单。优先少数证据扎实的删除、折叠或降级，不把“看着复杂”当结论。

## 先核对约束

按范围读取根 `AGENTS.md` 和 `.agents/rules/`。GUI/daemon 还要读 owning docs。`omp-plugins` 与 `musepi-extensions` 并存、CLI/TUI/GUI 共用扩展系统是既有边界；合并它们需要单独证据，不是默认低成本候选。

## 强候选

候选必须指向真实存在的成本，并回答“谁在生产环境消费”：

- 公开方法、事件、配置、helper、包、命令或测试产物没有生产消费者；只有测试/文档在钉住非契约行为。
- 两个表示镜像同一事实，尤其是持久事件与瞬态事件、GUI 与 daemon 状态。
- 每个实现都被迫支持、却没有消费者调用的接口。
- 独立包只服务测试/演示，或抽象只服务没有产品主人的投机场景。
- 不变量、回滚和特例测试只保护无人使用的 API。
- 手搓实现重复中央 helper、Bun 或 Node 内置，替换能删除实现及专属测试。
- 简化后的行为更合理、更容易解释，且兼容损失被明确接受。

拼写修正、一次 knip 输出或无调用点证据的“复杂”不算强候选。

## 调查

从最大的生产代码和生命周期成本开始，不停在未使用符号。可按 agent/session、daemon/GUI、扩展、LLM/工具、进程执行、包/脚本分域。只有用户明确授权子代理时才并行委托，否则在当前会话顺序调查。

对防御拷贝、冻结、校验器和回调捕获，追踪值的来源与下一所有者。进程、worker、持久文件和线解码器通常需要拥有自己的数据；同进程只读服务调用通常不需要投机拷贝。

复杂异步代码画出所有权和结算路径。重复表达同一存活/结算事实时，候选应指向一个事务或生命周期控制器；同步回滚、回调隔离、首终结仲裁、进程所有权和静默 dispose 仍是不同职责。

引入依赖也属于合法简化：核对精确覆盖表面、未覆盖语义、维护健康度、传递体积和引擎底线；内置能力优先。

## 产出

按“证据 → 位置 → 建议动作 → 影响”列出候选，说明消费者、兼容损失和验证方式。删除行为时保留契约级回归测试，并按 `.agents/rules/release.md` 更新 `packages/coding-agent/CHANGELOG.musepi.md`。是否实施、提交或合并由用户请求决定。
