dsh-cultivation:为 DSH 会话绑定可长期养成的 AI 角色

前言

在 DeepSeek Harness(DSH)里做角色扮演或陪伴类对话,常见做法是给模型一段固定的 Persona Prompt:每次开聊都重新声明「你是谁、怎么说话」。模型没有跨轮、跨会话可依赖的内部状态,关系与「对你的认识」无法随互动积累。

dsh-cultivation(GitHub:leonardwwq/dsh-cultivation,社区分类:记忆)是 maintainer leonardwwq 维护的 DSH Web 插件。它把互动记成事件、在角色视角下评价、更新关系与带置信度的用户判断,并在回复生成与定期整理中实际使用这些状态——目标不是更长的 Prompt,而是一条本地持久化的状态闭环。

这是什么

一句话:面向 DSH Web 的 AI 角色养成插件,通过长期互动为角色提供持久关系与可演进的用户模型(User Beliefs)。

  • 包名:dsh-cultivation,npm 发布,许可证 MIT
  • 运行形态:纯 JavaScript,零运行时依赖;单 JSON 本地持久化 + 原子写
  • 数据版本迁移:v1 → v7(资料中明确)
  • 工程状态:Active development;README 标注 153 tests passed / 0 failed

DSH 生态采用「一切皆插件」;社区目录页(https://www.skillhub.cn/plugins/leonardwwq/dsh-cultivation)为独立站点,与 DeepSeek / 幻方无官方从属关系。

与传统固定 Persona 的差异

传统路径是用户 → AI,每轮重复人设指令。本插件的设计路径是:

用户 → Event → Appraisal → Relationship → Belief
        ↓
  Response Generation → Belief Consolidation → 下一轮继续理解用户

各层含义(与 README 一致):

层 作用
Persona 用户定义的角色人格与背景
Event 一次完整互动流水,只记录、不评价(cap 40)
Appraisal 角色视角下「这件事对我意味着什么」
Intimacy 0~100 关系状态,语气随阶段调整
Memory 独立长期记忆(分区 + 日志归档),不由 Consolidation 直接接管
Belief 对用户的长期判断,带 confidence 与 evidence(cap 30),不是事实
Consolidation 定期整理碎片化或冲突的 Belief(当前每 10 轮触发)

Belief 与 Memory 的区分:前者是「我认为用户可能怎样」,后者是「用户说过什么」类事实记录。

状态更新原则:LLM 提议 → 代码验证 → 确定性执行;LLM 不能直接改持久化数据。

核心功能(已核实)

README Status / Features 中列出的当前实现包括:

  • Persistent Persona:会话级绑定,绑定后锁定;角色库支持新建、编辑、头像、默认、JSON 导入导出、AI 设计助手
  • Event Log、Role-specific Appraisal、Relationship / Intimacy State
  • User Beliefs 与 Belief-aware Response Generation(最多 5 条高置信度信念进入回复上下文;当前对话明确表达优先于历史 Belief)
  • Belief Consolidation:merge 相近信念、conflict 时对冲突对各自 confidence × 0.8(保留两条、不武断删一条)
  • 角色成长、情绪(「此刻心情」)、口吻保持、子代理隔离(角色段仅注入根会话)
  • Persistent local storage:默认 $DSH_HOME/persona-studio.json(即 ~/.dsh/persona-studio.json);头像在同目录 persona-studio-avatar-<id>.<ext>

代码结构:lib/core.js(状态逻辑)、lib/index.js(DSH 集成与编排)、lib/client.js(Web UI:角色库、关系展示等)。

安装与启用

前提:可运行的 DSH Web;本包为 DSH bundle,package.json 声明 dsh.bundle.patch,安装后登记为 profile 的 bundle 层,无需手改 YAML。

需要 DSH 0.3.0-beta.6 或更新:更早版本没有 dsh.bundle 声明时,安装只会成为普通依赖,不会作为 profile 层挂载。插件当前 package 版本为 0.3.0-beta.6(以 package.json 为准)。

下面介绍官方安装方式。

CLI(推荐):

dsh plugin add dsh-cultivation

安装 beta 通道:

dsh plugin add dsh-cultivation@beta

本地开发(checkout 目录):

dsh plugin add /path/to/dsh-cultivation

Web UI:设置 → 插件 → 安装,填入包名 dsh-cultivation。

安装完成后重启 DSH,确认 bundle 已登记:

dsh --profile web --dump-config | grep persona-studio

「设置 → 角色养成」出现即表示安装成功。

若曾按旧 README 在 $DSH_HOME/profiles/web/cordis.patch.yml 手写 id: persona-studio 的 insert 段,应删除以免与 bundle 自带行冲突。

安全与权限:插件以当前 DSH 进程权限读写本地 JSON;安装前建议查看源码与 MIT 许可证。插件不提供云端状态同步;DSH 与所配置的 LLM Provider 仍可能产生网络请求。

典型用法

经过上面的步骤启用后,用法如下(来自 README Usage):

  1. 新建会话:在输入框工具行选择角色(或新建角色)
  2. 对话:以该角色身份进行;会话页右上角可开关角色
  3. 管理角色:设置 → 角色养成(设默认 / 编辑 / 导出 / 删除 / 导入)
  4. 编辑角色:表单 + AI 设计助手 + 角色卡预览 + 头像
  5. Memory、Intimacy、Event、Appraisal、Belief 由系统自动维护;Belief Consolidation 在长期互动后自动触发——无需手动操作

Consolidation 失败不影响正常对话;当前实现为「最小的 Belief Consolidation」,不是完整长期人格 / 用户画像系统。

适用场景与已知限制

适合:需要在 DSH Web 里做会话级角色扮演或陪伴,并希望关系、亲密度与「对用户的认识」在本地跨轮保留、并参与回复生成的开发者或自用部署。

注意(README Limitations,节选):

  1. 运行期 userId 默认为 local(多用户存储结构已就绪,真实用户体系尚未接入)
  2. Belief 是 LLM 提议 + 校验的结果,不代表真实用户画像
  3. Consolidation 的相近 / 冲突语义仍依赖 LLM
  4. 当前无完整时间衰减、无云端同步
  5. Beta:不保证超长对话中角色一致性始终完美
  6. DSH 快速迭代时,插件兼容性可能随 DSH 版本变化

结尾

dsh-cultivation 把 DSH 里的 AI 角色从「每轮重读 Prompt」推进到「事件—评价—关系—信念—回复—整理」的本地闭环,适合在可控环境下实验长期角色状态。查阅与安装可参考社区目录页 https://www.skillhub.cn/plugins/leonardwwq/dsh-cultivation 与仓库 https://github.com/leonardwwq/dsh-cultivation 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜