dsh-persona-memory:跨工作区会话摘要与用户画像、陪伴人格注入

前言

在 DSH 里开发或日常使用智能体时,会话分散在各个工作区,偏好、纠偏和协作习惯很难被稳定记住。常见做法是手抄笔记,或在单个项目里塞一段 system prompt,但前者难维护,后者无法跨 workspace 汇总,也缺少「上次哪一步错了、下次改哪」这类可执行的教训层。

下面介绍社区插件 dsh-persona-memory(维护者 PaangGaaSam,分类:记忆)。它按日读取 $DSH_HOME/sessions 下的全量会话日志,经多阶段摘要 growing 用户画像(profile.md)、陪伴侧自我叙述(persona.md)和 只追加的教训列表(lessons.md),并在每次请求的 system prompt 中按预算注入;数据仅落在本机 $DSH_HOME/persona-memory/,插件自述不会上传到别处。

这是什么

  • 定位:Daily cross-workspace session digest that grows a user profile, a companion personality and a lessons list, then injects them into every prompt — with a settings page to inspect and steer it.
  • 版本(package.json):0.3.2;许可证:MIT。
  • 运行环境:DSH 桌面端,且需具备 web client platform(设置页为 dsh.client bundle);Node ^22.19.0 || >=24.0.0。摘要使用主机已配置的模型,插件自身不要求独立 API key,也无构建步骤、无原生依赖。

核心功能

每日摘要流水线

默认 每天 17:00(可在设置中改)执行:

  1. 读取窗口内所有 workspace、所有 session 的日志(含多帧 zstd)。
  2. Stage 1:每个 session 一张卡片——主题、用户需求、观察(偏好 / 风格 / 思维 / 纠偏 / 摩擦)、助手当时的判断(self)、可疑雷点、未决事项等。
  3. Stage 2:合并为 persona-memory/daily/YYYY-MM-DD.md;「我的判断」原文进 ## 我的判断,可疑项进 ## 可疑雷点;空回答记为「(无)」。
  4. Stage 3:由观察生成画像建议,合并进 profile.md(近重复检测、证据链、锁定项受保护)。
  5. 每周:仅以助手判断为第一人称素材,整理进 persona.md(我认为我是谁 / 我和你相处时的样子 / 还没想清楚的),同样遵守证据规则。
  6. 日终:当日可疑点与已有 lessons 文本交模型一次;由代码决定上限、近重复合并、90 天过期、哪些规则待审批,写入 lessons.md。
  7. 每次 prompt:注入 persona-memory 段,顺序为 facts(占位)→ lessons → profile → persona;默认总长约 1200 字符,profile / lessons / persona 基准占比 55 / 25 / 20;某层不够则把份额让给可截断层;lessons 硬顶 40%,因其每轮都会出现。

画像与自我叙述回答「你是谁 / 我是谁」;lessons 单独回答「上次哪里错了、下次改哪一步」,不进入 profile 与 persona。

lessons 如何累积

分区 上限 衰减 合并 谁可增删
铁律 (rule) 5 永不 永不 仅人;须经人审批
时效经验 (exp) 5 90 天无确认则退役 同类陷阱 0.85 合并 系统可退役,人亦可
已作废 (archive) 不限 — — 只追加备查

只追加、只作废,不改写已有句;若写入前后任一既有条目的 id / 句 / scope / anchor 被改,写入会被拒绝。人仅在设置页通过 replace 改写:旧句进已作废,新句追加。

教训来源包括:日报中的 ## 可疑雷点;后果信号(工具失败、当场纠偏、返工、未解失败)触发时重读近三日日报;用户说「记一下」作为候选写入日报(无新工具)。模型提议步骤与分区,代码裁定 cap、合并、过期与 新铁律待审批。scope v1 仅 当前 workspace (cwd) 与 global。

persona 如何沉淀

Stage 1 在用户观察旁单独记 self(助手当时判断):observations 只喂 profile,self 只喂 persona。要求第一人称、禁止第三人称舞台说明与语气类形容词;无「我」或仍像舞台说明的行留在文件但不进 prompt。升级后若旧 persona.md 全是脚本式描述,注入层会暂时安静,待新证据累积——属预期行为。

条目先落 还没想清楚的(默认不注入);满足 personaMinEvidence(默认 3 个不同 session)可进 我和你相处时的样子;另满足 personaCoreMinDates(默认 3 个不同日期)可进 我认为我是谁。矛盾时模型可标 supersedes;无新证据超过 personaDemoteAfterDays(默认 30 天)回退候选。用户定义的规矩进 profile(手动锁定 / 雷区),不混入自我叙述。

安装与启用

先做插件安装,再重启桌面端:

dsh plugin add github:PaangGaaSam/dsh-persona-memory

重启 DSH 桌面应用后,打开 设置 → 插件 → 记忆与画像(英文:Settings → Plugins → Memory & persona)。在此可改调度、模型、预算或 scope;可点 立即运行 做首次摘要,或用 强制合并自述 演练 self-account 合并。

本地数据目录:

$DSH_HOME/persona-memory/

典型用法

  1. 安装并重启后,在设置页确认模型与每日时间(默认 17:00),需要时执行 立即运行。
  2. 日常对话在各 workspace 正常进行;插件自动读 $DSH_HOME/sessions。
  3. 查阅 daily/YYYY-MM-DD.md、profile.md、persona.md、lessons.md 或在设置页审阅;铁律类 lesson 在审批前不生效。
  4. 若需显式记录教训意图,在对话中说「记一下」,由日报流程承接。
  5. 新请求中会自动带上 persona-memory 段;可在设置页调节预算与范围,避免 lessons 挤占过多每轮额度。

适用场景与注意

适合:长期在多个 DSH workspace 协作、希望画像与协作教训跨目录沉淀、又需要本机可控与可审阅证据链的开发者。

注意:

  • 插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估是否安装。
  • 依赖主机已配置 LLM;Node 版本需满足 ^22.19.0 || >=24.0.0。
  • 社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文事实以仓库 README 与 package 为准。

结尾

dsh-persona-memory 把跨 workspace 会话变成可审计的日报、画像、第一人称自我叙述与硬上限的 lessons,并在每轮 prompt 中按预算注入;设置页负责调度、审批与人工替换。进一步细节见仓库 README(含 lessons / persona 细则)。

  • 目录页:https://www.skillhub.cn/plugins/PaangGaaSam/dsh-persona-memory
  • GitHub:https://github.com/PaangGaaSam/dsh-persona-memory
羽毛球分组比赛记分
小程序二维码

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

Xiaoye