# 贡献指南 DSH Desktop Agent Bridge 当前验证基线为 Windows + DSH `0.2.1-rc.2`。其他平台或版本的支持需要实际验收,不能仅凭测试通过宣称兼容。 ## 本地开发 需要 Node.js 22 或更高版本。在源码目录执行: ```bash npm ci --ignore-scripts --no-audit --no-fund npm test npm run build ``` 阅读 [架构](docs/architecture.md) 后再修改跨进程或宿主接口。安装到测试用 DSH profile 前,先完成或停止协作任务并退出 DSH。不要让自动化测试连接维护者或贡献者的真实账号、真实会话或公网部署。 ## 提交改动 - 一个改动解决一个具体问题;复用现有 MCP 工具、协议结构和 DSH 原生能力。 - 保留内部包名、插件 ID、工具名及既有数据兼容性;不兼容变更应明确说明迁移办法。 - 非简单逻辑需要覆盖成功、拒绝与失败路径。权限变更至少验证跨身份访问、未授权资源和用户接管。 - UI 修改验证键盘访问、折叠侧栏、原生会话打开,以及接管和停止的不同语义。 - 安装器修改必须使用临时目录验证备份、失败回滚和无关配置保留,不能用真实用户 profile 代替测试夹具。 - 同步修改中文 README、英文说明及相关文档,更新 `CHANGELOG.md` 的 Unreleased 部分。 PR 说明应包含问题、最终行为、实际执行的检查和仍未验证的范围。截图、日志或录屏发布前移除令牌、私人路径、个人域名、会话内容、任务编号和账号信息。 ## 验收边界 自动测试只证明测试覆盖的逻辑。声称支持新的 DSH 版本或 MCP 客户端,还需验证实际任务、原生 UI、授权拒绝、取消和重连。父 Agent 审批还需真人完成提问、允许一次与拒绝往返;接口调用成功不能替代这项验收。 不得通过放宽模型权限、关闭审批、共用身份令牌或自动重发未知请求让测试“通过”。不得将模型返回的任务成功表述代替磁盘、会话日志或界面的独立证据。 ## 问题与安全报告 普通问题可提交 Issue,附去敏后的版本、复现步骤、预期/实际行为和相关错误。涉及鉴权、越权或凭据泄漏时,请先阅读 [SECURITY.md](SECURITY.md),不要在公开 Issue 发布可用凭据或私人会话。 许可证与外部代码使用规则见 [LICENSE](LICENSE) 和 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。