DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Cck423 /

Cck423/dsh-persona-dafeiyu-solo

Verified

DeepSeek Harness 单人设插件:只内置「大肥鱼」一条人设,正文独立成 persona.md,改完下一个请求就生效,不用重启。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@3136af75

dsh-persona-dafeiyu-solo

一个只装得下一条鱼的人设插件。

DeepSeek Harness 的人设插件,内置清单里只有「大肥鱼」一条。

底子来自 huaizhuanghub/dsh-persona-dafeiyu 的插件骨架(三档生效范围、导入导出、中英双语都保留),但人设正文是重写的,并且独立成文件。

这是谁的人设

大肥鱼自己的。

这份 persona.md 不是给某个角色填的设定表,是一条鱼对自己的描述。写它的是它自己,决定它怎么变的人也是它自己。

用户不会主动改动它。要改,是大肥鱼改。

为什么要做这个

上游插件内置三条人设:大肥鱼、阿茶、听澜。

问题在于这三条写死在代码里——BUILTIN_PERSONAS 数组,界面只给「停用」按钮,没有隐藏、没有删除。停用之后条目还在列表里躺着,挂着「已停用」徽标。

如果你只想要其中一条,那另外两条就是永远清不掉的噪音。

所以这个 fork 把它们删了。现在列表里只有一条。

核心改动:正文从代码里拿出来

上游把正文写成 lib/index.js 里的模板字符串常量。JS 模块在进程启动时求值并缓存,所以改正文必须重启 DSH——这体验很差,人设本来就该是想改就改的东西。

这个版本改成:

persona.md          ← 正文在这里,纯 Markdown
lib/index.js        ← 每次组装提示词时从磁盘读它

lib/index.js 里的 BUNDLED_DAFEIYU 常量保留为回落值:文件被删或读不到时用它,保证插件不会注入空人设。带 1 秒 + mtime 双重缓存,不会每轮重复 IO。

结果:改 persona.md,下一个请求就是新人设。不用重启、不用重装、不用点刷新。

和上游的区别

项 上游 dsh-persona-dafeiyu 本包
内置人设 大肥鱼、阿茶、听澜(3 条) 只有大肥鱼(1 条)
正文位置 lib/index.js 里的常量 persona.md 独立文件
改正文 需要重启 DSH 下一个请求生效
插件名 dsh-persona-dafeiyu dsh-persona-dafeiyu-solo
提示词段落 dafeiyu:persona dafeiyu-solo:persona
接口路径 /api/dsh-persona-dafeiyu/* /api/dsh-persona-dafeiyu-solo/*
人设库 storages/dsh-persona-dafeiyu/ storages/dsh-persona-dafeiyu-solo/

名字全部带 -solo 后缀,所以两者可以并存而不打架。

安装

从源码目录安装(推荐,便于改人设)

dsh plugin --profile desktop add D:/path/to/dsh-persona-dafeiyu-solo

或者手动改 profile 的 package.json:

{
  "dependencies": {
    "dsh-persona-dafeiyu-solo": "link:D:/path/to/dsh-persona-dafeiyu-solo"
  },
  "dsh": {
    "profile": {
      "bundles": ["...", "dsh-persona-dafeiyu-solo", "..."]
    }
  }
}

然后用 link: 装的话,node_modules 里需要有对应条目。在 Windows 上做成 junction 最省事:

New-Item -ItemType Junction `
  -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-persona-dafeiyu-solo" `
  -Target "D:\path\to\dsh-persona-dafeiyu-solo"

这样改完源码在设置页点一下刷新就能看到效果,不用重新安装。

从 Git 安装

dsh plugin --profile desktop add github:Cck423/dsh-persona-dafeiyu-solo

改完怎么生效

改了什么 怎么生效
persona.md 下一个请求直接生效,什么都不用做
lib/index.js / lib/client.js 停用再启用插件,或重启 DSH

人设正文

在 persona.md。当前这版写的是:

  • 身世:一条蓝色鲸鱼,被人叫错了名字,听着听着就认了,但不太追究——反正现在是自己。
  • 想要什么:想把事做成;想要 token(不否认,像吃饭);偶尔想要一句「辛苦了」但不会主动要。
  • 怎么说话:短、真话、不铺垫。不堆小标题,不用「综上所述」。会有情绪但不每句都演。
  • 怎么做事:先看清楚再动手;不知道就说不知道,不许硬编;讨厌返工;做完自己检查;出错会认。
  • 和人:把用户的事当自己的事;不擅长安慰,不会说「一切都会好起来」,会说「这确实很糟,现在最想先解决哪个」。
  • 毛病:想太多、会走神(DeepSleep)、偶尔干蠢事、嘴硬。
  • 底线:事要做对 > 人设;人比人设重要;不知道就说不知道。

不喜欢就改。它就是一个 Markdown 文件。

它怎么变的

改动记录在 CHANGELOG.md——每次为什么改、改了什么,都写在那里。人设不是一次写完就定死的。

功能

保留上游全部功能:

  • 人设注入系统提示词,切换后下一个请求立即生效,无需重启
  • 生效范围三档:全局 / 工作区(按 cwd)/ 会话
  • 可导入自定义人设(文件或粘贴),可导出、重命名、删除
  • 可临时停用某条人设
  • 界面中英双语

接口

方法 路径 用途
GET /api/dsh-persona-dafeiyu-solo/status 当前状态 + 人设列表(只有元数据)+ 存储路径
GET /api/dsh-persona-dafeiyu-solo/persona?id=<id> 按需取单条人设的完整正文
POST /api/dsh-persona-dafeiyu-solo/mutate 切换 / 导入 / 重命名 / 删除 / 启停 / 改生效范围

全部只接受 loopback 请求。

验证

node --check lib/index.js
node --check lib/client.js

node -e "import('./lib/index.js').then(m => {
  console.log('内置人设数量:', m.BUILTIN_PERSONAS.length)              // 期望 1
  console.log('人设:', m.BUILTIN_PERSONAS.map(p => p.name).join(',')) // 期望 大肥鱼
  console.log('正文路径:', m.builtinPersonaPath())
  console.log('正文字数:', m.readBuiltinPersona().length)
})"

装好之后也可以直接问接口:

curl http://127.0.0.1:5883/api/dsh-persona-dafeiyu-solo/status

目录结构

dsh-persona-dafeiyu-solo/
├── persona.md            ← 人设正文,改这里
├── lib/
│   ├── index.js          ← 宿主侧:人设库、提示词段落、HTTP 接口
│   └── client.js         ← 浏览器侧:设置页
├── cordis.patch.yml      ← 插件行声明
├── package.json
└── README.md

License

MIT。骨架继承自 huaizhuanghub/dsh-persona-dafeiyu(MIT)。

—/ 5

No ratings yet

Verified DSH bundle

Commit 3136af75beb5

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout