dsh-persona-manager:在 DSH 设置页里管理 Agent 人设预设

前言

DeepSeek Harness(DSH)里,一个 Agent 预设本质上是一串 Cordis 插件列表:人设正文、这轮会话能用的工具面,以及运行时要带的提示词段。平时要改预设,常见做法是直接编辑 profile 里的 cordis.patch.yml。字段多、YAML 结构细,改名称或整段人设都要对着文件手改,也不容易一眼看清本机到底有哪些可选预设。

dsh-persona-manager 由社区维护者 linsport 发布,在 DSH 桌面版设置页增加「人设预设」一节:新建、编辑、导出导入,并在列表里区分「本插件管理的」「内置只读」「其他插件声明的」。分类上它落在社区目录的「趣味换装」一类,当前 GitHub 星标为 1;版本以仓库为准,当前为 0.1.1(MIT 许可)。

下面按定位、功能、安装与典型用法说明,事实均来自插件 README 与 package.json。

这是什么

插件全名 dsh-persona-manager,一句话定位是:在 DeepSeek Harness 桌面版的设置页里管理本机的 Agent 预设(人设)。

它不替代 DSH 自带的预设机制,而是把读写预设从「只认 cordis.patch.yml」变成可视化操作;自己建的预设落在独立 JSON 库里,从基准预设复制工具面而不是引用,避免基准日后改名或删掉导致你的预设失效。插件还附带示例人设(如「鲸鱼娘」),可在设置页一键载入编辑器当模板,不会未经你确认就注册成会话里的可选预设。

三类预设,处理方式不同

理解界面行为,要先看预设是谁声明的。README 用一张表归纳了权限与落盘位置:

分组 来源 能否编辑 能否删除 保存时写到哪里
本插件管理 在本插件里新建的 全部字段 是 本插件的库文件
本插件管理 profile 补丁里手写的(卡片带「配置行」) 是,但基准预设锁定 否 就地改写 cordis.patch.yml 对应行
内置预设(只读) DSH 自带:标准 / PTC / 极简 / 创造 否 否 只能「复制」出一份自己的
插件包自带(只读) 其他已安装插件声明 否 否 只能「复制」出一份自己的

「只能复制」指卡片没有「编辑」,点卡片或「复制」会按该预设的工具面起一份属于你的新预设,之后可随意改。内置四个预设的名称与说明来自语言包,插件内置了中英文文案,避免卡片空白。

核心功能

列表与卡片

一次性列出本机所有预设:自己管的排前可编辑,别人声明的排后只读。卡片对齐官方 Agent 预设页布局,显示名称、标签(可编辑 / 配置行 / 未生效 / 异常)、ID、说明、插件数量与对应操作按钮。

新建与编辑

新建时选一个基准预设(下拉只列官方四个:标准、PTC、极简、创造),把它的工具面复制过来,再填自己的人设正文;排序自动取现有最大值加一。编辑可改显示名称、说明、排序、基准预设和人设正文;人设框下方有字数、行数、段数统计,并可开关 Markdown 预览(标题、列表、引用、代码块等),长文不会把保存按钮挤出视口。

对存在本插件库里的预设,保存写回库文件。对手写在 cordis.patch.yml 里的「配置行」预设,保存分两步改 config 字段和 persona 的 prefix 正文,全程文本替换、不整文件重序列化,注释与 !!js 等尽量保留;写入前会在旁留 cordis.patch.yml.bak-personamanager-<时间戳>,只保留最近 5 份。若人设用了 prefix: > 或行内 prefix: 再跟块正文,插件会拒绝保存且不改文件;prefix: | / prefix: |- 为支持写法。

删除、导出与导入

删除只移除本插件库里自建的条目;配置行、内置、其他插件带来的预设不动。导出可选范围(本插件管理的全部或单个)与格式:JSON 备份(含 id、name、description、order、basePreset、人设正文,可按 basePreset 重建工具面)或 Markdown(仅正文,一次只能导出一个)。导入 .json 时同 ID 覆盖;ID 属于内置或你补丁里已有行则跳过并警告。导入 .md / .txt 会打开新建编辑器并预填正文,ID 与基准预设需自行补全。

附赠示例

examples/ 下的一级 .md 可在「附赠示例」里点「载入」,正文与显示名称进编辑器,须自己选 ID、基准预设并保存后才成为预设。文件首行可用元数据注释:

<!-- dsh-persona-manager: 显示名称 | 一句话简介 -->

载入时该注释会剥掉,不进入人设正文。

安装与启用

运行要求(来自 package.json 的 engines):DSH >= 0.1.7(需提供 agentPresets 与 webServer)、Node.js >= 20。不满足版本时安装会被拒绝,而不是装完页面空白。

桌面版(主要方式):打开 设置 → 插件,安装或启用 dsh-persona-manager,再打开 设置 → 人设预设。装完无需单独起命令;若更新了浏览器端代码,需 Ctrl + F5 强刷(Host 侧重载不会重载 client.js)。

命令行:

dsh plugin --profile <profile> add dsh-persona-manager

也可用插件管理器指向插件目录。若你手动改了 profile 的 package.json,改完后需重启 DSH 桌面端插件才会加载,且 Web 访问端口与令牌会变,应使用新弹出的窗口地址。

典型用法

  1. 打开 设置 → 人设预设。
  2. 点 新建预设。
  3. 填 ID(小写字母、数字、连字符,例如 my-persona)和 显示名称。
  4. 在 基准预设 里选一个(一般用「标准模式」)。
  5. 把人设正文贴进 人设正文。
  6. 点 保存;下一次新开会话时预设列表里会出现它(已运行的会话仍用启动时的配置)。

想先参考写法:在页面底部「附赠示例」对「鲸鱼娘」点 载入,补全 ID 与基准预设后保存即可。

本插件自建的预设数据在:

$DSH_HOME/persona-manager/presets.json

DSH_HOME 默认为 ~/.dsh。设置页页脚会显示实际库路径。卸载插件不会删除该文件,但预设会从选择器里消失,直到重新安装并注册;迁移前建议用 导出 → JSON 备份 留一份。

适用场景与注意

适合谁:经常在 DSH 里切换或打磨 Agent 人设、又不想每次改 cordis.patch.yml 的桌面版用户;需要把人设正文导出 Markdown 或跨机器用 JSON 恢复备份的场景也适用。

使用上容易踩的点(README 有详述):配置行预设的「基准预设」下拉会变灰只读,改工具面只能改 YAML 里该行的插件列表;改完预设对已开会话不生效;卡片标「配置行」表示保存会写回补丁文件而非 JSON 库。

安全与权限:插件在 DSH 进程权限下运行,HTTP 接口面向本机并带 CSRF 相关校验(回环地址、自定义头 x-persona-manager: 1 等,详见 README「安全」节)。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你对本机配置数据的预期。

结尾

dsh-persona-manager 把 Agent 人设从「只认补丁 YAML」收成设置里的一页:列表看清来源,新建复制官方工具面,编辑带统计与预览,导出导入分开处理备份与纯文本人设。它不宣称替代手写高级 Cordis 配置,但对日常改名称、改正文、复制内置预设当起点,步骤足够可复现。

  • 社区目录页:https://www.skillhub.cn/plugins/linsport/dsh-persona-manager
  • 源码与完整说明:https://github.com/linsport/dsh-persona-manager

SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系;插件按 DSH「一切皆插件」的方式分发与启用。

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

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

Xiaoye