PocketSWPU/dsh-serendipity ↗★ 0
@pocket30/dsh-serendipity
工作奇遇:每次对话结束后有几率触发随机奇遇,持续养成你的主角属性;含 dsh 设置页可视化配置。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PocketSWPU/dsh-serendipity说明文档
阅读完整 README ↗配置项
在 profile 的 cordis.patch.yml 里按行覆盖:
- insert:
- id: serendipity
name: '@pocket30/dsh-serendipity'
config:
enabled: true # 奇遇总开关
triggerChance: 0.25 # 每次完成一轮用户对话的触发概率(0~1)
cooldownTurns: 3 # 两次奇遇之间最少间隔的用户对话轮数(>=1)
narrateMode: followup # followup | inject | none
theme: '' # 单选主题:非空时只从该主题抽事件('' = 按 disabledThemes 多选)
profileId: default # 档案 id,不同 id = 不同角色
characterName: 无名主角 # 新角色的默认名字
enableTools: true # 是否注册 serendipity_* 工具(组合层配置)
maxAdventureLog: 20 # 档案中保留的奇遇记录条数
设置页可改的字段会覆盖入口配置(设置层 > 组合层 > schema 默认值)。
自定义主题 / 事件示例
config:
extraThemes:
detective:
name: 侦探
description: 谜案、线索与推理。
events:
- id: locked-room
title: 密室谜案
description: 一桩看似不可能的密室案件摆在你面前,唯一的钥匙孔上留着淡淡的蜡痕。
effects:
intelligence: 6
luck: -1
exp: 15
minLevel: 2 # 可选:最低等级(也决定事件层级)
branches: # 可选:属性分支线
- id: sharp-mind
title: 一眼看破
description: 你凭着过人的洞察力,一眼看出密室钥匙孔上的蜡痕是伪装。
effects:
intelligence: 8
exp: 18
when:
attribute: intelligence
min: 50
- id: silver-tongue
title: 巧舌如簧
description: 你与唯一的嫌疑人周旋,三言两语便让他自己露出了马脚。
effects:
charisma: 7
luck: 2
exp: 18
when:
attribute: charisma
highest: true
- id: stroke-of-luck
title: 灵光一现
description: 你毫无头绪,却在整理证物时无意中碰倒了书架,滚出一封关键的信。
effects:
luck: 5
intelligence: 3
exp: 16
when:
always: true
extraEvents:
xianxia:
- id: my-custom-event
title: 自定义事件
description: 你自己的奇遇。
effects:
strength: 3
exp: 10
disabledThemes:
- urban
事件字段:id、title、description、effects(属性 id → 增减值)、
exp(经验)、minLevel(可选,最低等级,兼作层级门槛)。
属性 id:strength / intelligence / agility / charisma / luck / vitality。
事件层级(由 minLevel 决定,无需单独配置):
| 层级 | minLevel | 解锁条件 |
|---|---|---|
| 日常 | 1 | 初始可用 |
| 冒险 | 2 | 2 级解锁 |
| 史诗 | 4 | 4 级解锁 |
| 传奇 | 7 | 7 级解锁 |
分支条件(when)支持五种写法,按声明顺序匹配第一条命中:
{ attribute, min }:该属性 ≥ min 时命中;{ attribute, max }:该属性 ≤ max 时命中;{ attribute, highest: true }:该属性为六维最高(并列也算)时命中;{ attribute, lowest: true }:该属性为六维最低(并列也算)时命中;{ always: true }:无条件兜底,建议放在最后。
分支字段:id、title、description、effects、exp(可选,缺省用事件
exp)、when(命中条件)。未命中任何分支时按事件本体的标题/描述/属性结算。