Thanks for helping make the DSH interface calmer and more dependable. Small, well-evidenced changes are preferred over broad visual rewrites.
- Search existing issues and open a focused issue for behavior or design changes.
- Never attach real conversations, credentials, account details, or private paths.
- Keep the host entry point inert and avoid new runtime dependencies unless the benefit and trust-boundary impact are documented.
- Do not add third-party fonts, logos, screenshots, or icons without a clear redistribution license and attribution.
Ivory follows the same Node.js baseline as DeepSeek Harness.
git clone https://github.com/ZJUZhiyuCai/dsh-ivory.git
cd dsh-ivory
npm ci
npm testFor browser QA, link the checkout into a disposable or backed-up DSH web profile:
dsh plugin --profile web add link:$PWD
dsh web
npm run qa:r2The browser suite expects DSH at http://127.0.0.1:3080. Set
DSH_QA_CHROMIUM when Chrome or Chromium is not installed in a standard path.
- Edit
src/skin.cssorsrc/client.template.js. - Run
npm run build; commit the resultinglib/client.js. - Run
npm test. - For UI changes, run
npm run qa:r2in light and dark mode and attach privacy-safe before/after screenshots to the pull request. - Explain any new selector, observer, storage key, asset, or permission.
Do not hand-edit lib/client.js. It must exactly match the deterministic build.
DSH client bundles intentionally use its classic window.__ModuleLoader__
bootstrap rather than a Node-style module body.
- The change has one clear purpose.
-
npm testpasses on a clean checkout. -
lib/client.jsis regenerated and committed. - Keyboard, 375px mobile, dark mode, and reduced motion were considered.
- No network, telemetry, host capability, or asset-license boundary changed without documentation.
- User-facing changes are reflected in both READMEs and
CHANGELOG.md.
By participating, you agree to keep discussion respectful, specific, and welcoming. Maintainers may remove spam, harassment, private data, or unsafe reproduction material.