关于 voicestudio-maintainer
voicestudio-maintainer 是维护 VoiceStudio 仓库的技能,面向贡献者和维护者,涵盖问题排查、实现、评审与发布准备。它强调遵循仓库规则、基于证据验证,并避免未经授权的合并或发布。
主要功能
- 01先检查仓库政策与现有改动
- 02复现问题并实施小范围修复
- 03审查差异、CI 和评审意见
- 04验证授权合并及发布流程
- 05遵循 VoiceStudio 架构与本地优先要求
适用场景
- 01排查并修复 VoiceStudio 问题
- 02审查拉取请求和 CI 失败
- 03准备打包并验证构建产物
- 04在授权后核实合并或发布结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ debpalash/ voicestudio --skill voicestudio-maintainer安装后在 Claude Code 中输入/voicestudio-maintainer确认已加载。
详细介绍
VoiceStudio 维护
首先阅读目标代码库的 AGENTS.md、CLAUDE.md、贡献指南和发布文档。这些文档中的政策优先于此通用工作流。安装此技能并不意味着获准合并、发布、关闭议题或向贡献者发送消息。
分类与实现
- 在重复修复已报告的问题之前,先检查当前代码和现有 PR。如果贡献者的工作能够解决问题,就复用该工作;保留署名。
- 尽可能复现已报告的行为。区分已确认的故障和诊断结论,并在 PR 中记录重要限制。
- 以最小且完整的改动修复根因。对可能回归的可观察行为进行测试;不要把对源文本的断言误当成端到端测试。
- 保留本地更改。如果切换分支会影响这些更改,请使用隔离的工作树。
- 重新运行工作前,先查看现有 CI 故障和审查者评论。重试前先诊断故障;绝不要用成功的管道命令掩盖失败的检查。
- 确保面向用户的文档和必需的翻译与实现保持一致。
审查与经授权的合并
根据当前 main 检查当前 diff、机器人发现的问题和必需检查。在合并前,于 PR 分支上解决重要问题;不要先合并,再承诺后续处理。按照代码库政策更新过时的分支,并保留贡献者提交。
在获准合并前,确认必需检查均已通过、分支头未发生变化,且 PR 可以合并。合并后,检查 main 自身的运行结果;立即调查回归问题。报告剩余阻碍,不要捏造验证成功的结果。
发布准备
准备 CI 或打包与发布是两回事。除非该操作已获授权,否则不要打标签、升级版本、启用发布或创建版本。
遵循代码库中版本的唯一权威来源、变更日志格式、支持的平台和分发渠道。在任务范围要求的情况下,验证打包和工作流,但不要发布。经授权发布后,核实实际构件、发布说明、更新器元数据和指定的注册表渠道;构建通过本身并不能证明已完成分发。
沟通
先说明结果和证据。肯定贡献者的具体工作。不要仅因议题过时就关闭,也不要声称报告者已确认问题(如果并未发生)。对于经授权的关闭,说明解决方案以及足以支持重新开启的证据。
VoiceStudio 专用处理指南
维护 debpalash/VoiceStudio 时,请参考当前规则,不要依赖过时的架构假设:
- Electron 开发和打包:
electron/README.md、electron/package.json和.github/workflows/。 - 后端契约:运行中的
/openapi.json、backend/api/和针对性测试。 - 发布渠道和版本所有权:
docs/RELEASING.md和 CLAUDE.md。绝不要根据修复请求推断需要升级版本。 - 合并前阅读 CodeRabbit/Greptile 的发现和必需的 CI 检查。遵循 main 合并后的 CI 流程。
- 保留本地优先行为、跨平台行为、模型安装许可、合成音频标记和本地化要求。
当前开发命令
从仓库根目录运行:
bun install
bun run setup:api # prepare the source Python runtime explicitly
bun run dev # Electron + supervised backend
bun run typecheck # Electron main, preload, and renderer
bun run test # Electron tests
bun run check:electron # types, tests, build, packaging contract
bun run dist # local installers; publishing disabled
electron/src/main/ 负责生命周期、IPC、本机辅助功能和后端监督;electron/src/preload/ 提供渲染器桥接;electron/src/renderer/src/ 包含 React 应用。请勿在渲染器中处理特权文件系统或进程操作。
electron/src/shared/ 存放与浏览器构建共用的模块;它不是可运行的应用。backend/ 提供共享的 Python API;native/desktop-bridge/ 提供本机功能。frontend/ 仅接收浏览器构建的输出(bun run build:web → frontend/dist/,由 Docker 中的后端提供服务)。请勿以品牌清理为由重命名内部 omnivoice 包、环境键或数据路径。
Electron 是唯一的桌面应用和 Web UI。Tauri 外壳已移除;请勿恢复。其最终版 v0.5.3 更新源是不可变的兼容性资源,旧版 Tauri 安装通过 docs/electron-migration.md 迁移。
使用 electron-build.yml 进行仅构建产物的打包演练;检查 Windows x64、Linux、macOS Intel 和 macOS Apple Silicon 的结果(Windows ARM64 是实验性目标,即使失败也不应阻塞流程)。
请勿调度发布工作流来测试打包。签名、更新器迁移和成功安装是与构建通过相互独立的检查。
应用版本来自根目录的 package.json(并同步至 pyproject.toml 和 backend/core/version.py);除非有明确的版本更新任务,否则请勿提升版本号。
对于后端测试,请使用仓库的 CI 依赖和一个空的临时 HF_HUB_CACHE,并设置 HF_HUB_OFFLINE=1;已安装的开发者模型不得掩盖缺失的测试夹具。编辑时运行针对性测试,并在合并前完成要求的全部检查。现有 CI 失败仍是阻塞项,不代表已获豁免。