Contributing to dsh-web-ui-notify
August 14, 2026 · View on GitHub
Focused fixes, tests, and documentation changes are welcome. By participating, you agree to follow the Code of Conduct.
Before you start
- Read README.md — install, usage, and troubleshooting.
- Search existing issues and pull requests before opening duplicate work.
- Open an issue before changing the notification surface (which events notify, the settings row, locales) or the bundle manifest.
- Keep each change narrowly scoped. Do not mix a feature or fix with unrelated refactoring or generated-output churn.
Architecture and scope
dsh-web-ui-notify is an out-of-tree DeepSeek Harness Web client plugin. Contributions must preserve these responsibilities:
- The plugin is a standard DSH bundle with a node half (no-op, so it appears in the Loader) and a browser half (
dsh.clientdeclaration +exports["./client"]) that does the notification work. - It notifies only while the tab is hidden; foreground prompts belong to DSH itself.
- Each event notifies once; reconnects and session history must not replay notifications.
- Locales follow the DSH language (zh/en); the settings row lives in Settings → General.
Development
pnpm install
pnpm run build # tsc + tsdown -> lib/ (committed)
pnpm test # vitest: browser-plugin + settings-row suites
Keep the bilingual README in sync (edit both README.md and README.zh.md, then node scripts/verify-i18n.mjs --write).
Commit and release
- Bump the version and update
CHANGELOG.md(Keep a Changelog format) in the same change that ships a user-visible difference. - Tag releases with a semantic version (
v0.1.3) and push tags with the release.