swaylq/dsh-wildmon
你的真实工作就是草丛:野生小灵随机冒头,扔球捕捉,28 格图鉴、6 只队伍、夜行种与传说条件,宝可梦式收集,零 token | Collect-em-all safari for DSH — your work rustles the grass.
Listed
1
Fun
Bundle verified
Preview
What it does
Pokemon-style catch-em-all: your real work is the tall grass — turns, tool calls and errors spawn wild encounters; throw balls, fill a 28-slot dex, walk a team of six. Zero tokens, invisible to the model.
Best for
- DSH users who want random encounters and collection gameplay driven by normal work events.
- Players who prefer filling a 28-slot dex and managing a six-member team over raising one pet.
- Users who want a local, network-free game with no model-visible context or token overhead.
Not ideal for
- Users who need separate collections per profile, session, or subagent; one DSH home shares one dex.
- Players who need proactive encounter notifications; encounters must be checked with `/mon` and expire after ten minutes.
- Multi-process setups requiring conflict-safe saves or players needing configurable probabilities and thresholds.
README
dsh-wildmon · 野生小灵
你的真实工作就是草丛 —— 回合、工具、报错都会惊动它,野生小灵随机冒头,扔球捕捉,集满图鉴。
你写代码,锻造窟里有动静;你查资料,墨书林有影子掠过;你天天报错 —— 恭喜,故障岭的稀有种只认你这种人。还有一只传说小灵,只应深夜的报错声。
| 中文 | English |
野生的 绒电鼠 Volttuft 出现了!◈ 少见 · 常野原
⟋⟍ ⟋⟍
(⚡ᴥ⚡)
c( )ɔ
⌁⌁
图鉴里还没有它的记录。
它大约还会停留 10 分钟
球 ×9 —— /mon throw 投球 · /mon run 撤退

30 秒上手
dsh plugin --profile web add github:swaylq/dsh-wildmon
# 重启 dsh,然后在任意会话里:
/mon start
选一只御三家气质的同伴、领 8 颗捕灵球,然后正常干活就行。每个回合、每条消息、每次工具调用、每次报错都有几率惊动草丛;越久没遇到,几率越高(保底机制)。/mon 看一眼草丛 —— 野生小灵只等你 10 分钟;/mon throw 扔球,越稀有越难抓,连续脱手会越投越准,但它也可能跑掉。
集齐 28 格图鉴、带一支 6 只的队伍:捕到的前 6 只自动入队,1 号位的「气场」让它老家的遭遇率 ×1.5,/mon swap 随时换阵。异色个体存在,概率 1/64。
栖息地:工作方式决定你遇见谁
| 栖息地 | 惊动它的事 | 住着谁 |
|---|---|---|
| 🌾 常野原 | 消息、回合、叫不出名字的工具 | 绒绒虫、点点雀、绒电鼠…… |
| ⚒️ 锻造窟 | 写文件、跑命令 | 锤头蟹、齿轮獾、熔芯蜥…… |
| 📚 墨书林 | 读代码、查资料 | 书签蛾、索引鸮、典藏龙…… |
| 👾 故障岭 | 工具失败、agent 报错 | 碎屏蛙、栈迹蜈、惊叹魟…… |
| 🌙 夜阈 | 00:00–05:59 的任何动静 | 月痕猫、枕梦貘、星屑水母 |
外加御三家(没选的两只会在野外出没)和 3 只传说小灵:一只每 250 个回合浮出水面一次;一只只应深夜的报错声;最后一只,只肯见集齐前 25 格的收藏家。图鉴里它们只有谣传。
球的经济:出发 8 颗,每完成一个回合 +1(上限 30),抓到图鉴里已有的小灵会把球换回来(+2)—— 所以重复遭遇也不亏。

为什么做这个
DSH 生态的宠物赛道已经不少:二十多个桌宠是状态镜像(agent 思考宠物就做思考动作),dsh-digipet 补上了养成(一只宠物吃工作长大、分支进化)。
但收集这一格还是空的:没有遭遇、没有捕捉、没有「为了集齐图鉴而期待下一次报错」。2026-08 检索 dsh-plugin 话题(2800+ 仓库)与四个精选列表,pokemon / pokedex / 捕捉 / gacha 全部零命中。dsh-wildmon 补的就是这一格 —— 把捕捉收集游戏的完整循环(遭遇 → 捕捉 → 图鉴 → 队伍)架在你的真实工作流上。
和 digipet 是互补而非替代:digipet 是一只宠物的深度养成,wildmon 是一群小灵的广度收集。两个插件同装共存(不同命令、不同存档)。若 /mon 与别的插件撞名,在 profile patch 里改 config.command。
命令
| 命令 | 作用 |
|---|---|
/mon |
看草丛:有遭遇显示遭遇卡(立绘、稀有度、剩余停留),没有显示状态卡 |
/mon start |
选御三家开始旅程(不带参数看三只候选) |
/mon throw |
对当前遭遇投出 1 颗捕灵球 |
/mon run |
从对峙中撤退 |
/mon dex |
图鉴:捕获 ● / 目击 ◐ / 未知 ○,传说只给谣传 |
/mon team |
队伍与盒子(编号供 swap / name 用) |
/mon swap <甲> <乙> |
换位:队内重排,或队伍↔盒子交换(1 号位是带头) |
/mon name <编号> <名字> |
给捕到的小灵起名(16 字以内) |
/mon story |
旅程大事记 |
/mon about |
机制说明与信任立场 |
原理
整个插件是四个事件监听 + 一个斜杠命令,监听器只掷骰子:
| 挂载点 | 基础遭遇率 |
|---|---|
agent/turn-stopping(回合完成,顺带 +1 球) |
9% |
agent/inbox/claimed(你的消息) |
5% |
tools/result(按工具名分入锻造窟/墨书林/常野原;失败算故障岭) |
6% / 失败 16% |
agent/error |
20% |
在此之上:每个没出货的事件 +0.8%(上限 +25%),带头小灵的老家 ×1.5,深夜 70% 概率改抽夜阈池。捕捉判定 = 稀有度基础成功率(65% / 45% / 28% / 12%)+ 每次脱手 +12%,封顶 95%;脱手后小灵有稀有度对应的逃跑率。所有数字都写在 core.js 顶部的常量里。
存档在 $DSH_HOME/wildmon/state.json,写盘走「临时文件 + fsync + 原子 rename」(与官方 JSON 存储后端同款),事件再密集也只按 1.5 秒节流落盘一次。
关键不变量:模型可见即已记录 —— 而这个插件干脆什么都不让模型看见。 不注册工具(工具 schema 是每轮固定 token 税)、不 agent.inject()、不写会话事件。整个游戏只活在命令结果卡里,对每一次模型请求的贡献是零字节。
信任立场
- 读:只读它自己的存档文件。不读你的代码、不读会话内容 —— 监听器只用到「发生了什么类型的事」,消息与工具的具体内容从不落存档。
-
写:只写
$DSH_HOME/wildmon/state.json。 - 网络:无。
- 模型可见面:无。零 token 开销,KV cache 不受任何影响。
- 随机性:只影响游戏本身。监听器不否决、不改写、不延迟任何真实流程(挂载的全是通知型事件)。
- 故障半径:所有监听器包在 try/catch 里,命令处理器有自己的错误兜底 —— 草丛塌了也砸不到你的工作。
已知限制
- 一个 DSH home 一份图鉴,同机的所有 profile、会话、子 agent 共享一片草丛(这是特性也是限制)。
- 多个 dsh 进程同时跑时,存档是「后写者胜」—— 与官方 JSON 后端同样的单进程立场。
- 遭遇不会主动通知你(零模型可见面的代价),得
/mon去看 —— 好在小灵会等 10 分钟,错过的会记在 story 里。 - 工具分类靠名字的正则启发,第三方工具起了奇怪的名字就归常野原。
- 夜阈按机器本地时间算 00:00–05:59;出差调时区,夜行小灵跟着你倒时差。
- 概率与门槛不可配置:改了数字,图鉴和存档就没有共同语言了。
验证记录
在 dsh 0.1.0-rc.6(macOS,web profile)上真机验证:
-
dsh plugin --profile web add <本仓库>安装,--dump-config出现 wildmon 层; -
dsh web启动无异常; - 真浏览器里
/mon start选同伴 → 出发卡渲染(等宽、换行保留); - 无 API key 连发 6 条普通消息 —— 模型请求全部失败,但
inbox/claimed与agent/error是真事件:存档记录messages:6, mishaps:6,保底涨到 10 后第 6 轮真的刷出了 碎屏蛙(报错事件 → 故障岭,与食谱一致); -
/mon throw第一球脱手(卡片提示「已投 1 球」)、第二球捕获 —— 队伍 2/6、图鉴 2/28、球 ×6 = 8 − 2 投,存档与事件逐项对账吻合; - 实测注记:rc.6 下 MISSING_CREDENTIAL 失败回合不触发
agent/turn-stopping,所以「每回合 +1 球」的补给未在真机观察到(需要能成功完成的回合),该路径由单元测试覆盖; - 61 个单元 / 集成测试(
node --test),覆盖纯逻辑、渲染、存档与假 ctx 集成。
致敬与边界
玩法致敬捕捉收集类游戏的传统(草丛遭遇、投球摇三下、图鉴、御三家、电气鼠、异色)。「Pokémon / 宝可梦 / 精灵宝可梦」是任天堂 / Creatures / Game Freak 的商标,本项目与其无任何关联;全部 28 只小灵的命名、立绘、文案均为原创,不包含任何官方名称、角色或素材。捕灵球是个会摇的球,但它属于所有热爱收集的人。
许可
MIT
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:swaylq/dsh-wildmon in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.