Repository navigation
Releases: hua2003-liu/dsh-stop-that-shit
Release list
v0.1.1
Arms the guard by default: set defaultMode and every new root session starts with a contract, so enforcement no longer depends on remembering to type a directive. Delegated sessions follow the root contract; /sts off releases one session. Mode names now match the vendored parser (open instead of watch; bare off for the off level).
v0.1.0
Stop That Shit for DeepSeek Harness — v0.1.0
First release of the unofficial DSH adapter. Two skills, the /sts command,
and a per-session tool-call contract enforced at tools/pre-execute.
Install
dsh plugin --profile <profile> add github:hua2003-liu/dsh-stop-that-shitOr, in the Desktop app: Plugins → Install, then paste
github:hua2003-liu/dsh-stop-that-shit.
Requires DSH >= 0.2.1-rc.2 and Node >= 22. New sessions pick up the skills;
an already-running profile needs a restart only when replacing an installed
copy.
What it does
- Unarmed sessions pass everything. The guard only acts once you arm a
contract with/stsor a$stop-that-shit …first line. - Per root session. Delegated and nested sessions are judged against the
root session's contract; an unresolvable root fails closed. - Real denials. The model receives
Error: STOP / …, not a polite
suggestion, anddeps=askbecomes a DSH approval card.
Verified end to end
Checked in a real DSH 0.2.1-rc.3 process, not only in unit tests:
$stop-that-shit review -- …denies a write withMODE_FORBIDS_MUTATION;
the file is not created.files=src/**allowssrc/x.tsand deniesdocs/y.mdwith
PATH_OUTSIDE_CONTRACT.deps=denydeniesnpm installwithDEPENDENCY_NOT_AUTHORIZED.- Both skills appear in a fresh session's skill catalog.
- Installing from
github:hua2003-liu/dsh-stop-that-shitcomposes thests
row and loads the plugin.
Known limitations
- Not a security boundary — DSH's sandbox owns isolation.
run_codebodies can write files directly; only nestedtools.*calls are
judged.- Shell write targets (
mkdir,echo >) can surface as
WRITE_PATH_UNPROVENunder afiles=boundary. askoutcomes are recorded as denials in the audit stream.
See CHANGELOG.md
and README.md.