# 参与 dsh-model-router [English](./CONTRIBUTING.md) 感谢你考虑参与这个项目。这是维护者第一次做开源项目,因此非常欢迎清楚的解释、最小复现、耐心的代码审查,以及对项目协作方式的建议。 ## 参与方式 - 提交可以复现的问题; - 审查代码、安全边界、DSH 接口假设或文档; - 补齐中英文对应内容; - 在修改行为前,先增加能够复现真实问题的测试; - 从[公开路线图](./ROADMAP.md)中选择任务。 欢迎先提问题,不要求一开始就给出完整解决方案。 ## 提交 Issue 前 1. 先搜索已有 Issue; 2. 删除 API Key、设置文件、签名地址、生成媒体、本机绝对路径及单位或客户资料; 3. 写明 DSH 版本、Node 版本、操作系统、最小复现、预期行为和实际行为; 4. 安全问题请按照[安全策略](./SECURITY.zh.md)私下报告。 ## 开发环境 - Node.js `^22.19.0` 或 `>=24.0.0`; - 通过 Corepack 使用 pnpm 11.21.0; - 使用锁文件中的 DSH 0.1.0-rc.6 对等依赖。 ```bash corepack enable pnpm install --frozen-lockfile pnpm test pnpm check:secrets pnpm build ``` ## 修改规则 - 每个 Pull Request 聚焦一个问题; - 行为修改先写能按预期原因失败的测试,再实现最小修复; - `lib/` 为直接安装而提交,修改 `src/` 后必须提交对应生成产物; - 不要重新引入重复的文字模型适配器,文字模型和凭据由 DSH 管理; - 不要在自动化持续集成中运行 `pnpm accept:models`,它可能产生费用; - 面向用户的英文文档必须有完整中文对应,中文文档也应提供英文入口。 ## Pull Request 要求 请说明: 1. 问题及其影响; 2. 根因或设计理由; 3. 修改的文件和行为; 4. 已运行的测试与命令; 5. 兼容性、安全、成本或迁移影响。 欢迎用草稿 Pull Request 提前讨论。维护者可能建议缩小范围,这是为了便于审查,并不等于否定想法。 ## 审查方式 技术问题可以直接指出,但请尊重参与者。尽量说明为什么不安全或不正确,有条件时提供依据,并区分必须修复与个人偏好。