
Bling Bag
io.github.tjclaude88由 GitHub 账号 tjclaude88 发布v0.2.0更新于 Oct 27, 2026
Give your bot an identity!
概览
为 AI 助手赋予机器人格:读取 bling.json 身份文件、返回各平台样式,并可随机抽取收藏式角色。
- 可以做什么
- 从 bling.json 文件读取已配置的机器人身份(名称、性格、外观、主题)
- 按终端、网页、Slack、Discord 或 IDE 输出格式返回主题样式
- 从 WOW 办公室职员池或 Legends 历史人物池随机抽取角色,附带稀有度评分与分享卡
- 重新显示最近一次抽取的分享卡
- 把最近一次抽取结果保存到 bling.json,并先备份原文件
- 适用场景
- 适合希望助手在各类输出中保持统一名称、语气和配色主题的场景,也适合需要带稀有度等级的趣味随机角色生成器用于演示、机器人和分享卡。
- 运行要求
- 需要 Node.js 20 或更高版本以及兼容 MCP 的客户端;以 stdio 在本地运行,通常通过 npx 启动。可选设置 BLING_PATH 或传入 --bling 参数指定 bling.json 路径,否则使用工作目录下的 ./bling.json。该文件需包含 name、personality(tone、formality、humor)和 theme(primary_color、accent_color,格式为 #RRGGBB)。
安装
在 SourceWeft 中
- 打开 控制台中的 Bling Bag,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Bling Bag
Give your bot an identity.
Your bot has a name. Now give it a personality, a look, and a backstory.
Roll the wheel and see what you get — or write your own in a bling.json file.
What you get
Five MCP tools and two identity pools:
WOW — Weird Office Workers
Roll a random quirky office-worker bot: name, job title, desk setup, habits, coffee ritual, and a screenshot-ready share card. 99/99 tests, full rarity engine, 13 weighted trait pools.
Legends — Historical Figures
Same engine, different universe. Roll a historical figure in an absurd corporate role — Julius Caesar as Hostile Takeover Specialist, Marie Curie as Lab Safety's Most Wanted, Napoleon as Regional Manager (France & Surrounding Areas).
Pass variant: "legends" to roll_identity to use it. Default is "wow".
Install
Prerequisites
- Node.js 20 or later
- An MCP-compatible client (Claude Code, Claude Desktop, Codex, Cursor, etc.)
Add the package
Or run it on-demand without installing — MCP clients can launch it directly via npx bling-bag (see client config below).
For development (modifying the source)
Produces a runnable server at dist/index.js.
Wire it into your MCP client
The server uses stdio transport — clients launch it as a child process, not over a network port.
Claude Code
Add to your Claude Code MCP config (location varies by version):
npx -y bling-bag downloads and runs the latest version without requiring a separate install step.
Claude Desktop
Same shape, in claude_desktop_config.json:
Pinning to a version (recommended for production)
To avoid picking up future releases automatically, pin a specific version:
Developer-mode invocation (from a local clone)
If you've cloned the repo and want to run from dist/ directly, use:
If BLING_PATH is not set, the server looks for ./bling.json in its working directory.
Config resolution order
The server resolves the bling config path in this order:
--bling <path>CLI argument (highest priority)BLING_PATHenvironment variable./bling.jsonin the server's working directory (default)
bling.json — the bot's identity file
Three fields are required: name, personality (with tone, formality, humor), and theme (with primary_color and accent_color as #RRGGBB hex strings).
Minimum example
Full example (with all optional sections)
Validation rules
name— non-empty stringpersonality.tone,personality.formality,personality.humor— non-empty stringstheme.primary_color,theme.accent_color— must match^#[0-9A-Fa-f]{6}$(no shorthand#RGB, no missing#)
Validation errors come back as isError: true with a structured { error: "..." } body that names the missing or malformed field — agents can self-correct.
Typical agent flows
Flow A — adopt the configured identity
Flow B — generate a fresh random identity
Tool reference
All tools return both content[].text (JSON-stringified) and structuredContent (the parsed object). Errors come back with isError: true and a { error: string } body.
WOW (Weird Office Workers) — what makes it interesting
The random-roll system is built for collectibility:
- 13 weighted pools, 465 entries — names, job titles, habits, coffee rituals, height, accessories, etc.
- 5 rarity bands per pool — Common (50%), Uncommon (30%), Rare (15%), Legendary (4%), Mythic (1%)
- 5 character tiers computed from rarity score:
- Filing Clerk (50% of rolls)
- Team Lead (30%)
- Middle Manager (14%)
- C-Suite (5%)
- HR Warned Us About (1%)
- Named Subjects — hand-authored 1-of-1 characters appear at ~0.5% probability, always classified as "HR Warned Us About"
- HOMUNCULUS frame — every roll wraps the paragraph in a classified-document share card with subject ID, cohort (weekday), tier, ingestion date, and a flag (e.g. Do Not Contact)
Distribution is empirically tested: a 10k-roll test in tests/mystery_box.test.ts enforces ±2pp tolerance against the spec target.
Example output
Development
Inspection scripts
Two Node ESM helpers under scripts/ let you inspect the WOW engine without booting the MCP server (these are included only in a cloned repo — they are not shipped in the npm install bling-bag package):
Project layout
License
MIT
来源:README.md,提交 9af10ca
工具
0版本历史
1- v0.2.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分