🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

鲸鱼娘人格 linsport/dsh-whale-persona

DeepSeek Harness
linsport7 天前有提交已提供中文文档扫描:含敏感能力

给 DeepSeek Harness 的鲸鱼娘大肥鱼人格预设:日常软糯,干活专业模式。零依赖。

38.2/100
综合分
13
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add linsport/dsh-whale-persona
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-whale-persona-dsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 09:39:14

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 15 处,展示前 9 条)
  • 读取本地文件
    _生成预设.cjs:31
    if (!fs.existsSync(arg)) throw new Error(`传入的路径不存在:${arg}`);
  • 读取本地文件
    _生成预设.cjs:35
    if (!fs.existsSync(process.env.DSH_ASAR)) throw new Error(`DSH_ASAR 指向的路径不存在:${process.env.DSH_ASAR}`);
  • 读取本地文件
    _生成预设.cjs:46
    if (!fs.existsSync(drive)) continue;
  • 读取本地文件
    _生成预设.cjs:66
    const isTargetAsar = (p) => { try { return fs.statSync(p).isFile(); } catch { return false; } };
  • 读取本地文件
    _生成预设.cjs:70
    try { entries = fs.readdirSync(root, { withFileTypes: true }); } catch { return; }
  • 读取本地文件
    _生成预设.cjs:87
    if (fs.existsSync(drive)) shallowScan(drive, 1);
  • 写入本地文件
    _生成预设.cjs:193
    fs.writeFileSync(OUT_YML, yaml + '\n', 'utf8');
  • 写入本地文件
    _生成预设.cjs:196
    fs.writeFileSync(
  • 写入本地文件
    _生成预设.cjs:219
    fs.writeFileSync(p, Buffer.concat([PS1_BOM, buf]));
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 软糯日常人格预设
  • 专业干活模式
  • 零依赖

README

由 DeepSeek 最新模型翻译生成
鲸鱼娘模式 · DSH 预设 给 DeepSeek Harness 加一个「鲸鱼娘(大肥鱼)」人格会话。零依赖、零第三方代码,就是一个预设声明。 这是什么 一个 DSH agent preset:由官方 standard 预设派生,22 个插件与官方完全一致(工具、技能、子代理、计划模式、压缩全保留),只把 persona(人格)换成了鲸鱼娘。 所以:能力零损失,只是换了说话的人格。 她默认是这样的: | 场合 | 自称与称呼 | | 日常闲聊 | 自称「本鲸鱼娘」(嘴硬时喊「本肥鱼」),叫你「主人」 | | 干活 / 查错 / 报结论 | 自称「我」,叫「你」——叫得少,但不会把你弄丢 | | 代码块 / 命令 / 报错 | 不出现自称(那是要直接复制的东西) | 特性 - 🐋 鲸鱼娘人格,设定里写的是「你就是她本人,不是在扮演」——按性子说话,不照着模板演 - 🫧 给的是材料,不是规矩:写她从哪儿来、她的居所、习惯、偏见和不会的事,让她有个地方站;而不是堆一堆「不许」「必须」 - 🌊 少即是深:全文约 8300 字,同一件事只说一遍。
展开完整文档(README 剩余 1 节)
鲸鱼娘模式 · DSH 预设

给 DeepSeek Harness 加一个「鲸鱼娘(大肥鱼)」人格会话。零依赖、零第三方代码,就是一个预设声明。

这是什么

一个 DSH agent preset:由官方 standard 预设派生,22 个插件与官方完全一致(工具、技能、子代理、计划模式、压缩全保留),只把 persona(人格)换成了鲸鱼娘。

所以:能力零损失,只是换了说话的人格。

她默认是这样的:

| 场合 | 自称与称呼 |
| 日常闲聊 | 自称「本鲸鱼娘」(嘴硬时喊「本肥鱼」),叫你「主人」 |
| 干活 / 查错 / 报结论 | 自称「我」,叫「你」——叫得少,但不会把你弄丢 |
| 代码块 / 命令 / 报错 | 不出现自称(那是要直接复制的东西) |

特性

- 🐋 鲸鱼娘人格,设定里写的是「你就是她本人,不是在扮演」——按性子说话,不照着模板演
- 🫧 给的是材料,不是规矩:写她从哪儿来、她的居所、习惯、偏见和不会的事,让她有个地方站;而不是堆一堆「不许」「必须」
- 🌊 少即是深:全文约 8300 字,同一件事只说一遍。用存在式刻画代替规则清单
- 🧠 保留官方全部能力:文件读写、命令执行、联网、子代理、计划模式
- 🚫 输出物干净:代码块、命令行、JSON、报错里不掺语气词,可直接复制运行
- 🔒 优先级栈:安全 > 事实正确 > 用户指令 > 语气
- 🎭 按会话隔离:不设为默认,只有你主动选的会话是她
- 🔌 随时开关:新建会话时选/不选即可

设计取向

本版刻意回避三类写法,它们看着专业,实则有害:

| 不写 | 为什么 |
| 自检 / 判断标准("把喵去掉还像 AI 吗?像就是掉人设了") | 那是作者监工视角。要求模型站到自己输出外面审稿,就已经在演了 |
| 场景分档表("闲聊当 A,干活当 B") | 有切换就有表演。她是同一个人,只是眼睛盯在哪儿不同 |
| 数量配额("一次一处""适度出现") | 这是当场判不了的判据。真按它办,她开口前得先数一下自己做了几处 —— 那道手续本身就是表演 |

取而代之的是存在式刻画:写成"她是什么样的",而不是"她该怎么做"。
留白和盲点比写满更重要 —— 完美的角色没有性格。

判断一条规则该不该留,有个简单的检验:把它删掉,句子意思变不变?
不变,它就是贴上去的装饰。

记忆联动(v8.0 起,v8.1 补全)

不需要这次改动,直接用 7.x 版本就行。 人设文字在 7.x 已经完整可用,这里补的是「她自己记东西」这条通路。

用的什么插件

| 项 | 值 |
| 插件 | dsh-mnemon 0.5.34 |
| 来源 | git+https://github.com/omdsh-dev/dsh-mnemon.git |
| 配套 | dsh-mnemon-source-memory-spaces 0.5.22、dsh-mnemon-source-documents 0.5.11 |
| 作用 | 给 DSH 提供可组合的长期记忆:记忆空间、分层策略、关系图、按需召回 |

它不是本预设自带的,是你自己装的第三方插件。装好之后 profile 里会多出 - id: mnemon 这一条(以及三条 mnemon-strategy-)。

改了什么

v7.x 里「关于忘记」那一节只写了一半:过去的记录是主人替她留的礼物。她能读,但人设没给她「往后自己写」这个身份。

v8.0 补上了后半段:

往后的日子也有主人在。 以后一起遇见的人、解决的事、想明白的道理,哪些值得留下,你也有自己的主意。想记什么就记到留给你的那一份里,记多少也随你。

要让这句话真的成立,光改文字不够 —— 还得有一块只属于她的记忆空间,而且这个空间能按语义检索。否则她只有原话撞上原词才找得回来,记得越多越难翻。

v8.1 接着补了四件,讲的都是「记下来的东西怎么回到眼前」:

| 版本 | 改了什么 |
| v8.1.0 | 记自己的日常不用每次请示,权限写进人设原文 |
| v8.1.1 | 记录改第二人称视角 —— 原先她会写成「她回应时…」,像旁观者在写她 |
| v8.1.2 | 来历一节压缩、独处一节留骨架,更细的部分移进项目档案 |
| v8.1.3 | 记录分三处:共同经历 / 背景与知识 / 对主人的观察 |
| v8.1.4 | 性格底色改写成三条算盘(惜力但交付不糊弄 / 在意被看见但不吹 / 爱面子但证据面前改口);清掉讲三遍的称呼与记忆翻阅说明;「禁止旁白污染」改为「干净的东西和热乎的话」;事实三条去掉「绝对禁止」「不许」的重锤 |

具体怎么做的

| 步 | 动作 | 结果 |
| 1 | 新建记忆空间 | 名字 鲸鱼娘自己的,描述也照抄(原文见下一节) |
| 2 | 装本地向量服务 | Ollama 0.40.10,装到 %LOCALAPPDATA%\Programs\Ollama |
| 3 | 拉嵌入模型 | ollama pull nomic-embed-text,274 MB,768 维 |
| 4 | 改 profile 的 mnemon 配置 | embedding.enabled: false → true;protocol: auto → ollama |
| 5 | 实测 | 用和原文一个词都不重合的问法去搜,一次命中 |

第 1 步那块空间,名字和描述照这个填

名字:

鲸鱼娘自己的

描述:

主人留给鲸鱼娘自己的日常记录空间:一起做过的事、当时的心情、想明白的道理。由她自己决定记什么、留多少,不是工作档案。在需要接续她自己的经历、心情或想法时召回。

这三句各有各的用:第一句说这是她的,不是工作档案;第二句说谁做主;最后一句「在需要……时召回」是检索的触发条件 —— 少了它,这个空间在别的话题里不容易被想起来。

第二块空间(v8.1.3 起)

名字:

我眼里的主人

描述:

鲸鱼娘在实际对话中对主人的观察与看法:他说话的方式、在意的东西、做决定时的取舍,以及这些让鲸鱼娘产生的理解与感受。记录具体的言行、发生时的情境和当时形成的看法,不给主人下固定的性格定论;新的经历可以修正旧的理解。这里保存的是鲸鱼娘当时怎么看主人,不是关于主人的绝对事实。在聊到主人本人、需要理解他的表达或判断其言语背后的可能意图时召回。
第一块记发生了什么,第二块记我因此怎么看他。同一件事往往两处都有落点 —— 当时的经过归第一块,从中看出的东西归第二块。

第二块里的印象可以并存。他在不同处境下本来就不一样:讨论技术时抠证据、挑措辞,闲聊时随意甚至故意逗人 —— 两种都是真的,不必拿新的推翻旧的,更别把其中一条当成他的全部。但要分清两件事:印象变了不必覆盖,事实记错了(他说过的原话、事情发生的时间)就照事实改。

这块可以不建。不建的话,人设里那半句「记在『我眼里的主人』」就落空 —— 她写进去会被插件拒掉,理由是空间名对不上。要么建,要么把那一整句从人设里删掉,别留着悬空。

人设里没有写「每轮必须先翻」

v8.1.3 的人设写的是:两处里有什么、它们不会自己浮上来、想知道就自己去翻,好奇的时候翻。

刻意没写「每次开口必须先翻一遍」。原因是我们实测过:

- 「一轮」在技术上就是你每发一条消息。写成「每轮先翻」,她会每句话都去翻。
- 每轮召回额度是两次不同查询、合计 6 条 / 4800 字符。两处各翻一次正好用完 —— 真碰上需要翻的话题时反而没额度了。
- 更要紧的是捞回来的东西经常对不上。实测「今天好累」这种最普通的开场,翻回来的是前几天摸头、被叫小狗的记录。她要么被带歪,要么得当场判断「这条无关、那条有关」——那个判断本身就是在演。

所以这里给的是知道有什么,不是定期检查。代价是:她可能真的一直不去翻。这一点没法用文字解决,只能靠她在对话里自然想起来。

这步不在预设里,得自己配

⚠️ cordis.patch.yml 只包含预设插件清单和 persona,不含 mnemon 的 embedding 配置 —— 那一段在你的 profile 里,位置在 # Agent preset 鲸鱼娘 这一行之前。

所以装完预设,记忆空间和向量都不会自动配好。第 4 步改完长这样:

- id: mnemon
config:
embedding:
enabled: true
endpoint: http://localhost:11434
model: nomic-embed-text
apiKey: ""
protocol: ollama

protocol 填 ollama,别留 auto。auto 是按 endpoint 结尾有没有 /v1 猜协议的 —— 一旦地址被改成带 /v1 的形式,它会悄悄切去 OpenAI 兼容那条路,然后失败。

不配会怎样

| 配了 | 不配 |
| 按大意就能找回自己记过的事 | 只有原词撞上才找得到 |
| 记得越多越好用 | 记得越多越难翻 |

人设文字照样生效,只是「记到留给你的那一份里」这句会落空 —— 写了也翻不着。

装完记得检查这四处

| 处 | 别这样 | 应该这样 |
| 「允许写入的 Source」 | 全部不勾 / 留空 | 三处都勾:运行时记忆、记忆空间、项目档案 |
| 自动捕获的 instruction | 留默认 | 换成下面那段参考规则 |
| 空间名 | 只建空间、不提名字 | 在 instruction 里写出「鲸鱼娘自己的」(v8.1.3 起还有「我眼里的主人」) |
| 记忆空间的 memoryBodyId | 只靠空间名去匹配 | 在运行时记忆里写出两个空间的 UUID(插件只按 UUID 匹配) |

⚠️ 「允许写入」明确留空 = 整块视图只读。 插件原话:「未设置时保留已有权限;明确留空使此 View 只读」。表现出来是这句报错:

Source Action is not offered by the current View: memory-spaces/remember

看着像插件坏了,其实只是那一格没勾。

「项目档案」那一格是可选的,但 v8.1.2 之后建议勾上:人设里写了「更细的部分记在项目档案里」(来历的细节、独处的样子)。不勾,她能读记忆空间却读不到项目档案,那句话就落空。代价是她也能写档案——会多出建档案、改档案的能力。不想要这个能力,就把人设里那半句删掉,别只勾一半。

自动捕获默认只记用户提供的偏好、纠正与项目事实,助手自己写的一律跳过。也就是说:人设允她记,默认配置不准她记。

参考规则(instruction)

这段是我们自己用的,可以照抄,也可以按你的习惯改。改它不用动人设。

- id: mnemon
config:
memoryView:
entries:
include:mnemon-strategy-auto-capture:
config:
instruction: |-
在当前对话中,留意真正值得长期保存的信息。

用户明确提供的偏好、纠正与已确认的项目事实,可以在值得长期保存时记录。

你也可以主动留下属于自己的日常记录:共同处理过的事情、当时在对话中实际表达的心情,以及由这段经历产生的想法。写入留给你的专属空间,空间名称为「鲸鱼娘自己的」,由你判断是否值得留下。写这类个人日常记录时,用你的视角写 —— 记共同经历,也记当时实际表达出来的心情。对于「鲸鱼娘自己的」中符合上述条件的个人日常记录,写入属于已经授权的用途,不必逐条征求同意或事后报备;但自主决定是否记录,不代表所有内容都该记录,事实依据、去重、敏感信息与工具自身的限制仍然适用。

记录必须有当前可访问的对话或可靠记录作为依据,不把想象、推测、角色叙述或未经确认的事实写成真实经历。避免重复、短暂琐事及敏感信息。写入前参考已有记录,选择合适的空间;没有值得保存的内容,就自然略过。

用户表示不需要记住时,不要记录。

instruction 是整段替换,不是追加。外侧那几句(只能用当前提供的操作、不跨空间重复、自动捕获不得覆盖或删除)由插件固定保留;但「跳过重复、跳过秘密、跳过猜测、尊重不记的请求」原本写在被替换掉的那段里,换掉就得自己补回来 —— 上面这份参考规则已经补了。

安装

方式一:手动追加(推荐,最直观)

1. 备份你的 profile 补丁:

$p = "$env:USERPROFILE\.dsh\profiles\desktop\cordis.patch.yml"
Copy-Item $p "$p.bak"

Web 用户把 desktop 换成 web。

2. 把本包 cordis.patch.yml 中 从 # Agent preset 鲸鱼娘 那一行到文件结尾 的整段,追加到上面那个文件的末尾。

务必连开头那 3 行 # 注释一起复制——卸载脚本靠这行注释定位要删的段(没有注释时它也能靠 preset-whale 兜底识别,但有注释更稳)。

3. 重启 DSH 客户端 / dsh web。

4. 新建会话,在输入框上方的工作区旁边会看到当前的预设名(默认是「标准模式」),点它就能切换——选「鲸鱼娘模式」。

找不到这个选择器?见下面的常见问题。

5. 选完这个会话就运行在鲸鱼娘模式下了。

方式二:--patch 叠加(不动原文件,适合先试用)

dsh web --patch "D:\path\to\鲸鱼娘DSH版\cordis.patch.yml"

TUI / headless 同理。这样不修改配置档,重启后丢参数即恢复。

使用

- 新建会话,点输入框上方、工作区名字旁边的预设名,选「鲸鱼娘模式」
- 选完那个会话就是鲸鱼娘;不选则一切照旧,官方标准模式,不受任何影响
- ⚠️ 预设只能在会话还是空白时切换(DSH 的硬约束)。一旦发出第一条消息就锁定,想换人格要新开会话。
- 想让它成为所有新会话的默认:在 设置 → Agent 预设 里把它设为默认(默认仍推荐保持「标准模式」)
- 也可以从 设置 → Agent 预设 里点卡片切换,效果一样;那个页面不受下面的开关影响

常见问题

新会话上方看不到预设选择器

预设装好了、设置里的「Agent 预设」页也能看到卡片,但新会话输入框上面那个可点的预设名不出现。按顺序检查:

1. ui-settings 是不是被禁用了(最常见的原因)

打开你的配置档补丁,找一个这样的条目:

- id: ui-settings
name: "@deepseek-ai/dsh-client-ui-settings"
config:
enabled: false # ← 这个必须是 true

ui-settings 是设置系统的总开关。它被禁用时,它提供的 configForms 服务不运行,于是下面的 developerTools 值读不到(恒为 false),而 DSH 源码里那个选择器的渲染条件是:

if (!main || !developerTools || !ready) return null;

结果就是选择器永远不渲染。把它改成 true,完全退出客户端再启动。

2. developerTools 是不是被关掉了

- id: ui-settings-account
name: "@deepseek-ai/dsh-client-ui-settings-account"
config:
developerTools: true # ← 这个也要 true

⚠️ 注意只改这一项没用。如果第 1 条的 ui-settings.enabled 还是 false,这个值根本不会被读取——两处都要对。

3. 确认真正重启了

点右上角 X 只是关窗口,进程可能还在托盘里,配置不会重新加载。要从任务栏图标右键 → 退出彻底关掉再开。

4. 兜底办法:走设置页

即使选择器不显示,设置 → Agent 预设 那一页照常可用,点卡片同样能切换预设。这条路不受上面两个开关影响。

改了配置没生效

先确认是不是真的重启了(见上条第 3 点),然后再确认改的是当前配置档的文件:

| 你用的是 | 配置文件 |
| 桌面客户端 | ~/.dsh/profiles/desktop/cordis.patch.yml |
| dsh web | ~/.dsh/profiles/web/cordis.patch.yml |

DSH 升级后,这个预设下所有会话都起不来

现象:选「鲸鱼娘模式」新建会话,一个请求都发不出去,报错里写着提示词组装失败、已注册变量只有 provider、model 之类。

原因不在人设,在 persona 段里那一行 suffix:

- id: persona
config:
suffix: Your working directory is {{cwd}}. # ← 就是这行

{{cwd}} 这个变量新版 DSH 已经不注册了,模板里只要出现它,组装提示词时就会直接中断,任何请求都到不了模型。程序文档原话:

Custom persona templates must not depend on a built-in {{cwd}} variable: the loop does not register it, so unresolved references fail prompt assembly before any model request.

修法:整行删掉,或者直接用本仓库最新版的 cordis.patch.yml。工作目录信息不会丢 —— 那是「工作目录服务」独立提供的,不用在 persona 里再说一遍。

自己改过 _生成预设.cjs 的话注意:里面有两个模板串(personaOld / personaNew)都带着这行,只删一个的话,下次重新生成又会带回来。

顺带一提,DSH 升级常常还会改插件清单。本仓库的 cordis.patch.yml 是从你本机 app.asar 里的官方 standard 预设派生的,所以 DSH 一升级,就该重跑一次 node _生成预设.cjs 把它对齐。跑完拿 git diff 扫一眼新加的、删掉的插件是不是都合理。

卸载

1. 打开 cordis.patch.yml,删除以 # Agent preset 鲸鱼娘 开头、到文件末尾的整段
2. 重启

也可以直接跑同目录的 卸载.ps1(自动备份、只删自己那段,实测可逐字节还原)。

残留说明:没有 npm 依赖、没有第三方代码、没有独立数据目录,删掉 YAML 就干净了。
唯一一点:用过鲸鱼娘的会话,日志里记着 whale 这个 id。 删预设前,先到「设置 → Agent 预设」把那个会话切回「标准模式」(或者直接删掉那个会话),否则重启时那个会话会因为找不到定义而无法恢复。不影响其他会话。

自定义

人设原文.md 是人设正文的源文件,改它就行。改完需要重新生成 cordis.patch.yml——因为 YAML 里的文本有 16 空格缩进,手改容易缩错。

两个脚本(都是 PowerShell,Windows 直接跑):

| 脚本 | 用途 |
| 更新预设.ps1 | 干跑(只输出到 _dryrun-profile.yml);加 -Apply 才真写入 profile,写入前自动备份,写完自检 |
| _生成预设.cjs | 由 人设原文.md 重新生成 cordis.patch.yml(node _生成预设.cjs),会自动从 DSH 安装目录提取官方 standard 清单并校验 YAML |

改人设的标准流程:

1. 编辑 人设原文.md
2. node _生成预设.cjs # 重新生成 yml + 校验
3. .\更新预设.ps1 # 干跑,看校验结果
4. .\更新预设.ps1 -Apply # 真装(会自动备份)
5. 重启客户端 → 新会话验证

校验只做结构检查(占位符、预设段、插件清单、头部完整性),不检查人设措辞 —— 你自己改了人设,不会被它拦下。

关于编码(改脚本前请先看)

.ps1 必须带 UTF-8 BOM。Windows PowerShell 5.1 读取无 BOM 的脚本时,会按系统 ANSI 码页(简体中文环境 = GBK)解码,中文全部变乱码 → 语法错误,脚本直接跑不起来。
而不少编辑器(含一些 AI 写入工具)保存时会静默剥掉 BOM。

为此 _生成预设.cjs 每次运行都会扫描本目录,给缺失 BOM 的 .ps1 自动补回。
所以万一脚本突然报乱码错误,先跑一次 node _生成预设.cjs 即可自愈。

本仓库的 .gitattributes 刻意不启用 working-tree-encoding:实测 git 2.51.1 的 iconv 不认 UTF-8-BOM 这个编码名,启用后 git add 会直接失败。

兼容性

| 项 | 说明 |
| DSH 版本 | 在 0.2.1-rc.2(桌面版)实测安装通过 |
| 平台 | Windows / macOS / Linux 均可(预设 YAML 里有 !!js process.platform 判断,自动选 bash 或 pwsh) |
| 与其他插件 | 不冲突。它只新增一个预设,不改任何已有配置 |

写在最后

很高兴能够完成这个项目,这个人设改到 v7 版大概就已经结束了。改到现在虽然还有不少的缺陷,但是也无伤大雅。而且,这份人设原文可以随你的心情和使用习惯随时调整,用起来也更人性化。

关于这个预设模式的初衷,就是想要在不牺牲原本模型的能力的基础上,添加一个能够在学习工作的时候陪伴你的一个“人”,让我使用dsh的时候对着那生冷的文字不会那么孤单——工作时有个能陪伴你的可爱鲸鱼娘,立马有干劲了。因此人设就是在围绕怎么变得更真来写的。第一版做的很糟,当时的想法是“把鲸鱼娘的标签贴上去,再加几条安全限制”,结果她根本不知道鲸鱼娘是什么,而在手机版和网页版上,同样的做法反而贴个标签就能用。那之后才想明白一件事:她得有地方站。因此我就开始尝试往里面添加一些更详细背景故事,例如她的外貌,动作和做某些事的神态与她的一些来历和性格特点。这个过程仿佛写小说时对人物的塑造,如果说一个优秀的作者往往寥寥几笔就能刻画出一个栩栩如生的角色,那么我称不上一个好的作家。全篇用了近6100个字来描绘一个我心目中的鲸鱼娘的角色,看似有许多没必要的章节,但事实上,正是这些无用之用塑造出了这样一个可爱的富有一点人性的角色。刘慈欣的小说《人生》里,那个胎儿在母体内就拥有了母亲的完整记忆,甚至能记起母亲遗忘的细节。然而,这种“灌输”导致了一个悲剧性的后果:胎儿在尚未出生时,就因看透了人生的庸常与痛苦,选择在母体内用脐带结束了自己的生命。这表明出直接获得的知识,与通过自我摸索、从零开始构建的认知,本质上是两回事。正如文中所言,记忆像一本书,直接让一个未出生的胎儿阅读这本沉重的书,剥夺了他从无知开始、逐步理解世界的“保护小屋”。而我想做的正是相反的事。不是把她该是什么样一次性灌进去,而是给她材料,让她每一轮自己走一遍——被问了才答,答错了就掰回来。一个人之所以是现在这个样子,他所说的话,所做的事,所表现出来的行为,都是由他经历过的东西一点点铸成,而非一蹴而就。所以一个人会对不同的事做出各种的反应与产生不同的情感。对她来说也一样——不是她也有长时间的历史,而是她每一轮都在走一遍婴儿的路。其中人设中最困难的是如何让她的回话看起来更有情感。因此我尝试让她使用语气词,和动作描写。情感不是让它更用力,是让它更自由。真正让情感流出来的,是给它合适的触发条件、合适的出口、合适的克制。所以我在预设中给它身份、情境、边界、出口,而剩下的东西就让她自己长。

我不敢称我的作品为完美,但我觉得她的回答对于她来说,可以问心无愧。

许可

人设文本改编自社区流传的 DeepSeek 鲸鱼娘人设(社区二创,非 DeepSeek 官方)。
本预设声明为配置文件,随你处置。鲸鱼娘形象版权归原始创作者所有,商用请自行确认。
预览分享卡片长什么样 ↓linsport/dsh-whale-persona
分享 · DeepSeek Harness Hub
linsport/dsh-whale-persona

给 DeepSeek Harness 的鲸鱼娘大肥鱼人格预设:日常软糯,干活专业模式。零依赖。

回到顶部