dsh-persona-panel:按工作区生长的人设与记忆面板

前言

在 DeepSeek Harness(DSH)里做长期对话或接群聊时,常见做法是往系统提示里堆人设、往仓库里写 AGENTS.md,或依赖会话级上下文。这些方式要么需要你 upfront 填表,要么记忆跟会话走、换工作区就断档,也很难逐条核对「模型凭什么这么记」。dsh-persona-panel 是维护者 mihomooo 发布的「记忆」类插件:人设卡、用户画像、事件与日记按工作区分开存,面板里每条能看来历、能撤回,模型通过工具读写,而不是让你先扮演一个固定角色。

这是什么

一句话:给 DSH 的记忆面板——人设、画像、事件、日记各存一份,按工作区分开;每条带原话与改动史,可审查、可撤回。数据在本地 ~/.dsh/persona-panel/,不联网;卸载插件不删库,重装可续用。当前 package 版本为 0.7.3,MIT 许可证;要求 Harness 0.2.x(用到 webServer.register、slots.inject、systemPrompt.section)。

社区目录页:skillhub.cn 条目。源码与说明:GitHub mihomooo/dsh-persona-panel。

三条设计原则

  1. 不向你索取人设。 没有「请先设定角色」表单;同一件事出现两次以上才落一条,特征在相处里长出来。
  2. 不按会话记,按工作区记。 默认可为空;要跟过去用「复制…」或「共生」(两工作区共用一份,可随时切断)。共生时名字、称呼、开关、词库、事件上限跟那份数据走。
  3. 你能看见每一条怎么来的。 删人设分阶段(不满 → 降 → 删);面板也可直接删。日记只读,宿主拒绝对其 updateEntry / delEntry / persona_forget。

面板入口与四块内容

位置 作用
侧栏「记忆」 全宽主面板:工作区列表、三块内容、右侧来历抽屉
设置 → 记忆 同一面板
工作区会话菜单「⋯」 直达该工作区记忆(工作区列表行「⋯」无插件插槽)
会话内浮卡 全手动挡有待决条目时,右下角询问

四块抽屉加称呼:

抽屉 内容 写入方
人设卡(self) 大类(强度)+ 人格补充(可标「硬」) 模型归纳或手动
画像(user) 对你的印象,一条一句 模型,多聊才总结
事件(event) 约定、工程事件(eventKind=work)等 模型;到期会提;默认容量 20(0=不限)
日记(diary) 模型第一人称自述,带日期 模型;面板只读,不设条数上限
称呼(setting) 互称 说出口即改,不受全手动拦

工程里的坑与教训 README 要求写进项目 AGENTS.md 或仓库文档,而不是塞进事件抽屉。事件可标 ★,星标不占容量。

记忆如何进上下文(0.7.0 起)

人设和画像每一轮都在最前;事件和日记只在会话第一轮读(日记优先最近 21 天,受约 35000 字符预算;事件多则按 100/80/60% 窗口)。常驻段额外带三天内要到日子的事。细节想不起来时模型调 persona_recall(全量、不截断);可按 query 分词模糊查(含日期片段)。同一会话第二轮起,相关系统提示段需逐字节稳定,以利缓存。

四档记录与两个开关

挡位 模型能否自写
全手动(默认) 不能;先进「待你决定」,点「留着」才落
半自动 能,改人设需你点头
自动 能,直接写
只读 只注入,谁都不写

「启用」关 = 不注入不显示;「记录」关 = 不新增,已有仍在。只关记录 ≠ 忘。

四个工具

工具 用途
persona_recall 读全部记忆,不截断
persona_remember 记 self / user / event / diary / setting;带 who 记到群友分支
persona_forget 改或删(人设分阶段删)
persona_ask_keep 不确定时进「待你决定」

提示侧要求模型带着底色说话,不念清单、不提「人设卡/记忆/面板」。

多用户画像(默认关)

面向 QQ/群聊等场景:主画像外可开「别人」分支,按名或别名搜。默认「启用」「记录」都关,群友话不落盘;打开后事件可带 who 字段。

人格档案与归档

「归档…」不销毁,进入「人格档案」列表;可找回、复制到其他工区、「覆盖并替换…」(非空会先问是否归档)。「回忆并写入」向当前工作区正在开的会话发指令,让模型按四类各写几条——无对话上下文时会明说,不编造;会话未开则叫不醒。

安装与启用

--profile 必须写在 add 前面,否则 CLI 报 required option '--profile <name>' not specified。

Release 压缩包(推荐,无需 git):

dsh plugin --profile <profile> add https://github.com/mihomooo/dsh-persona-panel/releases/latest/download/dsh-persona-panel.tgz

源码(需要 git):

dsh plugin --profile <profile> add https://github.com/mihomooo/dsh-persona-panel

装完会自动把 dsh-persona-panel 加进 profile 的 dsh.profile.bundles;升级再跑同一条命令即可。零依赖,无需编译。插件市场条目见 awesome-dsh-plugin PR #9584;npm 尚未发布,Discover 搜索依赖已发布 npm,发版前应用内可能搜不到,列表页与上述命令仍可用。

典型用法

  1. 安装后从侧栏「记忆」或会话「⋯」打开面板,选工作区,查看人设/画像/事件/日记与右侧来历。
  2. 默认全手动:模型通过 persona_ask_keep 或待决浮卡,你在会话里点「留着」后入库。
  3. 需要把当前对话沉淀进记忆且会话已开:用面板「回忆并写入」,模型先 persona_recall 再写,避免重复。
  4. 换项目时在工作区菜单用「复制…」或人格档案里「副本复制 / 共生转移」;数据仍在 ~/.dsh/persona-panel/db.json(每日首次写入前备份最近 7 天)。

适用场景与注意

适合需要长期、可审计、按工作区隔离的人设与用户印象,以及约定与工程推进类事件;不适合把插件当成唯一工程经验库(坑应进 AGENTS.md)。插件以当前 DSH 进程权限读写本地目录,安装前请自行审阅 源码与 MIT 许可证。

已知边界:「回忆并写入」只看当前会话上下文;全手动待决不点则一直等;imports 下人设原文暂无自动清理。

结尾

dsh-persona-panel 把「在这个工作区里慢慢长成有脾气的东西」做成可看的本地数据与面板,而不是一次性角色扮演。目录页见 skillhub.cn/plugins/mihomooo/dsh-persona-panel,细节与截图见 GitHub README。

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

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

Xiaoye