Chuyển đến nội dung chính

identity-sentinel

Đã xác minh

@dsh-io/identity-sentinel · v0.1.0

Performance-art dsh plugin: the machine inspects its owner; non-Chinese verdicts terminate all workflows. Installing = informed consent.

Cài đặt

dsh plugin add @dsh-io/identity-sentinel

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Tác giả

Readme

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

  1. 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/Macau
    • keyboard — keyboard layout (XKBLAYOUT on Linux, defaults on macOS, registry on Windows)
    • region — region part of the Intl locale (CN, HK, MO, TW)
  2. Signals are aggregated into an identity profile with a confidence score.
  3. A weighted rule engine renders a verdict:
    • non-cn signals >= threshold (default 2) and forceTerminate on → terminate
    • otherwise → pass (nothing happens)
  4. On terminate: an art banner, the manifesto, and a termination declaration are printed; the process exits with code 1. On pass: 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/[email protected]"

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