PocketSWPU/dsh-serendipity0

@pocket30/dsh-serendipity

工作奇遇:每次对话结束后有几率触发随机奇遇,持续养成你的主角属性;含 dsh 设置页可视化配置。

包名
@pocket30/dsh-serendipity
版本
0.6.0
许可证
MIT
最近更新
2026年8月17日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PocketSWPU/dsh-serendipity

配置项

在 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

事件字段:idtitledescriptioneffects(属性 id → 增减值)、 exp(经验)、minLevel(可选,最低等级,兼作层级门槛)。 属性 id:strength / intelligence / agility / charisma / luck / vitality

事件层级(由 minLevel 决定,无需单独配置):

层级minLevel解锁条件
日常1初始可用
冒险22 级解锁
史诗44 级解锁
传奇77 级解锁

分支条件(when)支持五种写法,按声明顺序匹配第一条命中:

  • { attribute, min }:该属性 ≥ min 时命中;
  • { attribute, max }:该属性 ≤ max 时命中;
  • { attribute, highest: true }:该属性为六维最高(并列也算)时命中;
  • { attribute, lowest: true }:该属性为六维最低(并列也算)时命中;
  • { always: true }:无条件兜底,建议放在最后。

分支字段:idtitledescriptioneffectsexp(可选,缺省用事件 exp)、when(命中条件)。未命中任何分支时按事件本体的标题/描述/属性结算。