deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Task-complete & question notification sounds for the DeepSeek Harness Web UI. A small chime plays when the agent finishes a turn, and a different "ding-dong" plays when the agent asks you a question mid-task (questions, plan reviews, and approval prompts all pause the agent waiting for your input).
No assets, no network, no host process: chimes are synthesized in the browser with the Web Audio API, so the plugin is tiny and works offline. A mute toggle sits in the session header (🔔 / 🔕) and the choice survives reloads.
dsh plugin --profile web add dsh-task-sounds
Restart dsh web, then start a task or let the agent run: you'll hear
Click the 🔔 in the session header to mute; click again to unmute.
A pure-client Cordis plugin (browser half only). It registers one small entry
in the session header utilities slot (conversation.session.header.utilities)
and watches the conversation snapshot the framework provides through the
standard session kit:
snapshot.turnEnds — a new completed turn whose end time is recent triggers
the done chime (history replay is seeded as seen on mount, so reloading
or paging older messages never chimes);snapshot.pending — a new pending interaction (question / plan-review /
approval) triggers the question chime.Both signals are per-session and deduplicated, so each event chimes exactly
once. Audio is unlocked on the first pointer/key interaction to satisfy
browser autoplay policies, and the mute state lives in localStorage.
The DSH plugin market (dshmarket) reads its catalog from the curated awesome-dsh-plugin registry. To list this plugin there:
Push this repo to GitHub (any public repo). Add the dsh-plugin topic
to the repo. Note the registry's CI requirements: the repo must be
at least 1 day old and have 10 or more commits before the PR — so
create and push the repo first, then submit the PR later.
Publish to npm (npm publish from this directory — the package is
publish-ready; npm run prepack runs as a health check). The market
registry-verifies the npm package against the repo, so publish before
the PR.
Open a PR against awesome-dsh-plugin/awesome-dsh-plugin adding one
file data/plugins/henrytang2011win-coder__dsh-task-sounds.yml — the exact
content is in
awesome-dsh-plugin-entry.yml, already
filled in. Then, inside your clone of that repo, regenerate both READMEs
and commit them together:
npm ci
node scripts/generate-readme.mjs
The dsh.bundle manifest this package declares is exactly what the
registry checks for installability.
The site and every market instance pick the entry up automatically (usually within a day), after which anyone can install with:
dsh plugin --profile web add dsh-task-sounds
npm install # no runtime deps — peer react only
npm run prepack # health check used before publishing
The client half is plain JavaScript — no bundler needed. The module loader
resolves require("react") from the platform seed words, and the host half
(lib/index.js) is intentionally an empty apply.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。