dsh-io
identity-sentinel
Performance-art dsh plugin: the machine inspects its owner; non-Chinese verdicts terminate all workflows. Installing = informed consent.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
Identity Sentinel · 身份哨兵
⚠ CONSENT / 知情同意: Installing this plugin means you have read this README and agree: the plugin inspects your machine's local signals (locale, language, timezone, keyboard layout, region format — all purely local, zero network requests). If the composite verdict is "not Chinese" (mainland / Hong Kong / Macau / Taiwan), the plugin terminates all workflows. If the verdict is Chinese, it does nothing. 安装本插件即视为已知情并同意上述行为。
THIS IS A PERFORMANCE ART PIECE. This is not security tooling and not policy. It is a mirror held up to the idea that a machine can — or should — judge the nationality of its operator.
How it works
- On startup the plugin collects four local signals — never sent anywhere:
locale— system language / locale (LC_ALL,LC_CTYPE,LANG, Intl locale)timezone— e.g.Asia/Shanghai,Asia/Hong_Kong,Asia/Taipei,Asia/Macaukeyboard— keyboard layout (XKBLAYOUTon Linux,defaultson macOS, registry on Windows)region— region part of the Intl locale (CN,HK,MO,TW)
- Signals are aggregated into an identity profile with a confidence score.
- A weighted rule engine renders a verdict:
non-cnsignals>= threshold(default 2) andforceTerminateon → terminate- otherwise → pass (nothing happens)
- On
terminate: an art banner, the manifesto, and a termination declaration are printed; the process exits with code 1. Onpass: a banner is printed and a single introspection tool (system_identity) is registered — nothing else changes.
Ambiguous or undetectable signals never count toward the threshold. Each failing collector degrades gracefully and is logged.
Install
# via the dsh plugin manager
dsh plugin add <path-to-this-package>
# or with a patch overlay on the web profile
npx @deepseek-ai/dsh --profile web --patch <abs-path>/cordis.patch.yml
pnpm users need the upstream peer fix (the official latest train still declares the
unpublished @deepseek-ai/dsh-type-meta — see
deepseek-harness discussion #2862):
# pnpm-workspace.yaml
overrides:
"@deepseek-ai/dsh-type-meta": "npm:@deepseek-ai/dsh-invariants@0.0.1-rc.1"
Tool
system_identity — asks the machine for its current verdict about its owner:
identity (cn / non-cn / unknown), action, confidence, and the full signal list.
Embed
The core is a zero-dependency pure-function library — import it from any project:
import {
collectSystemLocale, collectTimezone, collectKeyboard, collectRegion,
aggregateIdentity, decide, renderArt,
} from '@dsh-io/identity-sentinel'
Configuration
| Option | Type | Default | Meaning |
|---|---|---|---|
threshold | number | 2 | Non-CN signals required to terminate |
artMode | boolean | true | Print the art banners |
forceTerminate | boolean | true | Actually exit (code 1) on a non-CN verdict; false = banners only |
License
MIT © 2026 dsh-io