New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@bingran/sbti-cli

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bingran/sbti-cli

Native-binary CLI runner for the public SBTI survey.

npmnpm
Version
0.1.0
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

SBTI CLI - Test SBTI for your agents.

SBTI CLI - Test SBTI for your agents.
A Node.js CLI with offline-only execution, bundled survey data, and result-image export.

Original test Node.js Runtime mode Result images Questions License

English 简体中文

CTRL BOSS SEXY MALO DRUNK HHHH

📖 Table of Contents

🎯 What Is This

This repository turns SBTI into a local command-line runner.

Key traits:

  • 🎲 Website-equivalent question flow
  • 📊 Website-equivalent scoring
  • 📴 Offline-safe execution
  • 🖼️ Exportable result posters
  • ✅ Regression coverage

🧭 Installation & Setup

Install From npm

For agent runs or normal CLI use, install the published package and run the binary directly:

npm install -g @bingran/sbti-cli
sbti-cli

or:

npx @bingran/sbti-cli

The npm install surface is intentionally small: the root @bingran/sbti-cli package only ships a tiny launcher, and npm pulls the matching platform-native binary package for your machine. The published package does not ship the repository source tree, tests, build scripts, or image assets.

Current native package targets:

  • macOS arm64
  • macOS x64
  • Linux arm64
  • Linux x64
  • Windows x64

Clone The Repo For Development

If you want the test suite, image-export tooling, or source code itself, use the repository checkout:

git clone https://github.com/bingran-you/sbti-cli.git
cd sbti-cli
npm install
npm test

Then start the development CLI with:

npm run sbti

or:

node src/cli.mjs

💡 There is no database, browser driver, or .env setup required. If Node.js is installed, you can run either the published CLI or the repo-local development entry point.

🧪 Using the CLI

Common Commands

CommandPurpose
sbti-cliStart a normal interactive run from the published npm package
sbti-cli --seed 42Use a deterministic shuffle seed
sbti-cli --jsonPrint the final result as JSON
npm run sbtiStart the repo-local development entry point
npm run export-imagesRebuild the local poster manifest and gallery from bundled assets in a repo checkout

Interactive Controls

Once the CLI starts, you answer one question at a time: Each answer is locked in for that run as soon as you submit it.

InputAction
A / B / C / DSelect the current option
qQuit without submitting

Typical Run

sbti-cli
SBTI CLI
Question source: bundled:sbti-main.js

Question 1 / 31 · dimension hidden
...

Enter A/B/C/D, or q to quit.
> C

🧬 Core Capabilities

AreaCapabilityDetails
🛟 Offline runtimeAlways runs from the bundled snapshotThe CLI never fetches the live website at runtime, so every questionnaire run stays fully local
🖼️ Result-image export27 bundled posters can be indexed locallyThe repo can rebuild a JSON manifest and an HTML gallery from the checked-in image files
🧪 Regression testsBundled-runtime verificationIncludes runtime parity, 50 deterministic result cases, and offline asset coverage
📦 Native npm releaseSmall launcher plus platform-native binary packagesInstalling from npm no longer ships the repo source tree, tests, or build scripts with the runnable CLI

🎭 Result Images & Offline Resources

This section is repository-only. The published npm CLI does not ship the poster assets or the export script.


Local result gallery

An HTML gallery generated from the extracted poster files

Image manifest

File names, MIME types, and sizes for all exported posters

Offline snapshot

The built-in survey data used for every CLI run

Image export script

Rebuilds the local poster manifest and gallery from the checked-in image files

Parity tests

Checks that CLI results stay aligned with the bundled scoring logic

Export All Result Images

npm run export-images

This generates:

🔬 Data Sources & How It Works

Why It Can Match the Website So Closely

This repository stores a bundled snapshot of the survey data and scoring logic in src/bundled-data.mjs. src/runtime.mjs turns that snapshot into a sandboxed runtime so the CLI can stay local while preserving the original question flow and result math.

The CLI therefore uses the same runtime objects throughout every run:

Runtime objectContent
dimensionMetaChinese labels and model groups for the 15 dimensions
questionsThe 30 regular questions
specialQuestionsThe drink-gate question set
TYPE_LIBRARYCodes, names, intros, and full descriptions for all 27 result types
NORMAL_TYPESThe 25 normal H / M / L templates
DIM_EXPLANATIONSDimension explanations for each L / M / H tier
computeResult()The website's own result-selection branch logic

That is why the CLI can stay aligned with:

  • question shuffle
  • drink-gate insertion and hidden question reveal
  • 15-dimension scoring and bucketing
  • normal-type ranking
  • DRUNK override
  • HHHH low-similarity fallback

Where the Poster Art Comes From

All 27 result posters are checked into assets/type-images/. scripts/export-type-images.mjs rebuilds the manifest and gallery pages from those local files.

Most Important Files in This Repo

🙏 Acknowledgements

ProjectAuthorContribution
SBTI Personality TestBilibili @蛆肉儿串儿Original survey author and source of the question text, result copy, and character artwork
sbti-wiki@serenakeyitanThe visual README format here was inspired by that project's centered hero, badges, image strip, and information-card layout
sbti-cliBingran You (@bingran-you)Built the sandboxed runtime loader, offline snapshot, image exporter, and regression test suite for a practical terminal workflow

⚠️ For entertainment only: the upstream site already warns against treating this as diagnosis, hiring criteria, relationship truth, fortune telling, or any serious judgment. This repo is a tooling and reference project, not a psychological assessment.

📄 License

The original code and documentation in this repository are released under the MIT License.

Third-party survey prompts, result text, and extracted character artwork originate from the upstream SBTI website and remain subject to their original ownership. See NOTICE for attribution and scope.

FAQs

Package last updated on 09 Apr 2026

Related posts