贡献指南
August 17, 2026 · View on GitHub
感谢参与 Flowboard。这个仓库交付的是一个由 DSH 托管的官方插件;设计和实现应保持 @flowboard/dsh 单一公开安装边界。
开始之前
- Bug、兼容性问题和功能建议请先创建 Issue;安全漏洞请按 SECURITY.md 私密报告。
- 大型功能、协议变化、数据库结构变化或新增平台运行时,请先通过 Issue 对齐范围。
- 参与项目即表示同意遵守 CODE_OF_CONDUCT.md。
开发环境
要求 Linux x64、Node.js 22.19+ 或 24+、pnpm 11.7.0、DSH 0.1.0-rc.6 和 Git LFS。
git lfs install
git lfs pull
corepack enable
pnpm install --frozen-lockfile
pnpm run check
本地运行使用:
pnpm dev
该命令构建真实 npm tarball,并通过 dsh plugin add 安装到隔离的 .dsh-dev。不要向 DSH profile 创建 workspace 软链接,不要用临时 patch 代替插件安装。
实现约束
- 产品界面与文档使用中文,代码标识符使用英文。
- Host 与 Client 分别编译,浏览器代码不得引入 Node.js 能力或读取 API Token。
- Agent 工具、MeetingCoordinator 和浏览器 Remote 调用同一个
FlowboardService。 - 所有写操作必须经过授权、运行时校验、幂等、乐观锁、审计和事务。
- 只有
packages/dsh可以公开发布;内部 workspace 包必须保持private: true。 - Whisper 二进制、共享库和模型的变化必须更新
SHA256SUMS、第三方声明和平台说明。
提交与 Pull Request
提交信息建议使用 feat:、fix:、refactor:、docs:、test:、build: 或 chore: 前缀。每个 Pull Request 应说明问题、实现边界、验证结果和用户可见变化,避免混入无关格式化或生成文件。
提交前至少运行:
pnpm run check
pnpm run plugin:pack
pnpm run plugin:install-check
git diff --check
涉及用户可见行为或公共包内容时更新 README、相关架构文档和 CHANGELOG.md。涉及较大模型文件时确认 git lfs ls-files 能识别它,禁止提交 LFS pointer 作为构建输入。
发布
Alpha 阶段由维护者通过与 packages/dsh/package.json 版本一致的 v*-alpha.* tag 触发发布。发布工作流会重新执行完整检查、真实 DSH 安装启动测试、以 npm alpha dist-tag 和 provenance 发布,并生成标记为 prerelease 的 GitHub Release。内部包永不单独发布。