huaizhuanghub/dsh-persona-dafeiyu
dsh-persona-dafeiyu
Persona library plugin for DeepSeek Harness: built-in personas, import your own, switch without restart.
Install
npx @deepseek-ai/dsh plugin --profile <profile> add dsh-persona-dafeiyuRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-persona-dafeiyu)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from huaizhuanghub/dsh-persona-dafeiyu, cleaned of badges and images.
dsh-persona-dafeiyu · 人设库插件
启用后,系统提示词里会注入当前选中的人设 —— 全局、按工作区或按会话,都不用每次手动粘贴。
- 内置人设:大肥鱼、阿茶、听澜(写死在代码里,不可删除、不可覆盖;正文可以展开查看)。
- 导入人设:在设置页里用文件导入或直接粘贴文本,自动生成可选条目。
- 导出人设:自导入 / config 人设可一键存成
.md——格式与「导入」一致,导出的文件能原样再导入回来。 - 设置页「人设」小节:查看当前人设、切换、启用 / 停用、重命名、删除、导入、导出。
- 中英双语界面:设置页与输入框小条跟随 DSH 的界面语言切换(
zh/en); 内置人设的名字与简介按当前语言显示,用户自己导入的人设名照原样显示。 - 免重启切换:人设段落的
text是动态函数,提示词每次组装都会重新求值, 所以切换后下一个请求就用新文本,无需重启、无需重新加载插件。 - 正文按需下发:状态接口只给元数据(内置人设额外带一句简介),点「查看全文」才拉那一条的正文。
- 全局 / 工作区 / 会话三档生效范围:整个 profile 共用一个、按项目目录各用一个、 或只给当前会话单独挑一条;越细越优先,且三档可以叠着用。
- 新会话开场就能挑人设:还没发第一条消息的起始页上有一个
🐟 人设chip, 选完立刻对这条会话生效,不用先去设置页改全局。
目录结构
dsh-persona-dafeiyu/
├─ package.json dsh.bundle.patch / dsh.client 声明 + peer 依赖
├─ cordis.patch.yml 组合包 patch:把本插件的行插进 profile
├─ lib/
│ ├─ index.js 宿主半侧:人设库 + 动态提示词段落 + 三档生效范围 + 三条回环接口
│ └─ client.js 浏览器半侧:设置页「大肥鱼」小节 + 输入框小条 + 居中选择浮层 + 新会话起始页 chip
├─ test/verify.mjs 不依赖 DSH 运行时的自检(跑一遍会打印项数)
├─ scripts/privacy-check.mjs 本机信息自查:推送前跑一遍
├─ examples/
│ ├─ persona.example.md 人设文件格式示例
│ └─ config.example.yml 插件 config 示例
├─ .github/workflows/ci.yml CI:自检 + 隐私自查
├─ .gitignore / .gitattributes
├─ CONTRIBUTING.md
├─ LICENSE MIT
└─ README.md
安装
前置条件
- Node.js ≥ 20
- DSH —— 已实测的版本见文末「兼容性」
方式 A:从 npm 安装(推荐)
本包已发布到 npm,不需要克隆仓库、不需要构建。
界面上装:侧边栏 → 插件 → 添加插件 → 输入包名:
dsh-persona-dafeiyu
命令行装:
dsh plugin --profile <profile> add dsh-persona-dafeiyu
<profile> 换成你自己的 profile 名。DSH 随安装自带的模板只有
acp / web / headless / sdk / sdk-minimal,你自己建的那个叫什么就用什么。
本包是纯 JavaScript、没有构建脚本,所以不会触发 pnpm 的「允许运行构建脚本」提示—— 输入包名即可装好,这是最省事的方式。
方式 B:从源码目录安装(改代码时用)
git clone https://github.com/huaizhuanghub/dsh-persona-dafeiyu.git
cd dsh-persona-dafeiyu
(Get-Location).Path
最后一行打印的绝对路径,下面安装命令要用到。然后:
dsh plugin --profile <profile> add "<本仓库绝对路径>"
或者在插件页「添加插件」里填这个绝对路径。
本包没有运行时依赖(@deepseek-ai/* 全是 optional peer,由 DSH 运行时提供),
所以克隆后不需要 npm install 就能直接跑自检。
两种方式都会把本包写进 profile 的 dsh.profile.bundles。
生效时机与「免重启」的边界
- 切换人设不需要重启:那是运行中的插件按需重算段落文本,下一个请求立即生效。
- 但插件代码本身(
lib/index.js/lib/client.js)更新后,要让宿主与浏览器拿到新版本, 仍需重启 DeepSeek Harness(客户端 bundle 至少要刷新页面)。这是加载机制,不是人设切换。
安装位置提醒
本地目录安装是 link:(pnpm 建软链接指向本目录),所以别把本目录删掉再重启。
想彻底自包含,可以先 npm pack 出 tgz 再安装。
使用(设置 → 大肥鱼)
| 区域 | 能做什么 |
|---|---|
| 当前生效 | 看当前人设名、来源(内置 / 导入 / config)、启停状态、段落位置、字数、人设库文件路径;内置人设显示简介,自导入人设提示去列表看全文 |
| 生效范围 | 三档开关:全局 / 工作区 / 会话(越细越优先,见下一节) |
| 工作区生效规则 | 列出已知的工作目录,每个目录一个下拉框挑人设,默认「跟随全局」;在某个项目里发过消息后,该目录就会出现 |
| 人设列表 | 每条显示名称 + 来源徽标 + 字数;可「设为当前」「启用 / 停用」;导入的还可以「重命名」「删除」(删除需二次确认) |
| 内置人设 | 大肥鱼、阿茶、听澜:只读——没有删除 / 重命名按钮,列表里标注「内置人设不可删除或重命名」;正文可以展开查看 |
| 自导入人设 | 每条都有「查看全文」:按需拉取并展开完整提示词(含换行),再点收起;另有「导出」把正文存成 .md |
| 导入人设 | 选 .md / .markdown / .txt 文件(自动填入正文与名称),或直接把提示词粘贴到文本框,点「导入」 |
正文展示的分工:
- 正文一律按需拉取:
/status只给元数据,点「查看全文」才走/persona?id=取那一条的正文, 内置 / 自导入 / config 一视同仁。开启很多条人设时状态接口也不会被撑成几 MB。 - 内置人设额外带一句简介:它们是插件自带的那几条,列表里直接说明是什么性格; 正文同样可以展开查看,但只读(不可删除、不可覆盖),也不提供导出—— 想改就先自己导入一份。
规则说明:
- 「设为当前」会自动启用该人设(停用状态下点它就会恢复注入)。
- 停用当前人设 → 系统提示词里不注入任何人设段落(状态显示「当前人设已被停用」)。
- 停用非当前人设只影响它自己,当前人设照旧。
- 删除当前人设会回落到大肥鱼。
- 人设名不能为空、不能超过 60 字符、不能与其他人设重名。
- 人设正文不能为空、上限 64,000 字符。
…

