deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:thanhdz235123-commits/nyx-dsh-plugins
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Two plugins for DeepSeek Harness,
in one repository, both built the way the harness's own plugins are built —
lib/index.js for the host half, lib/client.js for the client half, and the
contract in package.json (main, exports["./client"], dsh.client,
dsh.bundle.patch).
| package | what it does |
|---|---|
nyx-file-panel |
File links open a right-side panel — preview, changes, review, files, edit — instead of the OS default app. Exact paths only: a link opens what it names, or says it cannot. |
nyx-message-edit |
Edit a user message in place: the surface replaces it, everything after it is cut, and one turn regenerates from that exact point. Model picker in the frame, every attempt traced. |
Each package installs itself into a DSH profile: it copies its halves into the
profile's node_modules and writes the profile patch that activates them.
From a clone — this is the one path that needs nothing published anywhere, and the one that is verified end to end:
git clone https://github.com/thanhdz235123-commits/nyx-dsh-plugins
cd nyx-dsh-plugins
npm run install:plugins # both plugins; or run one package's bin yourself:
# node packages/nyx-file-panel/bin/nyx-file-panel.mjs install
# node packages/nyx-message-edit/bin/nyx-message-edit.mjs install
From npm — no clone, no build:
npx nyx-file-panel install
npx nyx-message-edit install
npx reads the npm registry only (it never looks at GitHub), so this path needs
the packages to be published — which the publish workflow keeps true. Installing
needs no account: only publishing does.
Flags both installers understand: --force to overwrite an existing install,
--home <path> when the harness home is not the default, --dep to install as
a profile dependency instead of a copy. uninstall takes it back out.
Host halves load at boot: after installing, restart DSH Desktop. Client halves are picked up with a window reload (⌘R / Ctrl-R).
Both plugins are local software: no network calls of their own, no telemetry, and nothing about you written to disk unless you ask for it.
Two things do touch disk, deliberately:
nyx-file-panel caches a per-session diff index under
<DSH_HOME>/nyx-file-panel-index/, which is what makes reopening a file
instant. Delete that folder to clear it.NYX_FILE_PANEL_DIAG=1 or
NYX_MESSAGE_EDIT_DIAG=1 set, the plugin appends a local JSONL trail to the
harness home. Message text is never written — only lengths and ids.tools/leak-scan.mjs scans every tracked file for credentials, home paths,
personal addresses and machine names. It runs in npm run check and in the
publish workflow, so nothing of that shape can reach the registry through this
repository.
packages/nyx-file-panel/ lib/index.js lib/client.js lib/types/** bin/ docs/
packages/nyx-message-edit/ lib/index.js lib/client.js lib/types/** bin/ tools/
Both packages are independent: install one, the other, or both.
.github/workflows/publish.yml publishes whichever package carries a version
the registry does not have yet, then skips it on every later run — so the two
packages version independently, and a failed job is safe to re-run.
git tag v0.6.4 && git push origin v0.6.4 # tag push
gh workflow run publish # or manual: Actions → publish → Run workflow
It needs one repository secret, NPM_TOKEN: an npm Automation token (or a
granular token with bypass 2FA enabled). npm refuses npm publish with an OTP
challenge when the account has two-factor auth on, and an automation token is
the supported way around it — see npm's
tokens docs.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: monorepo。