DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-fish-river

Verified Skills & agents ★ 8 0.1.68

养一条会自己长大的鱼:没有人格设置,人格只能通过事件流长出来;她会自己刷 B 站,也能在 QQ、B 站私信(抖音可选)里说话,并记住在外面遇到的人。四个阶段完成后才开始有立场。状态库在 ~/.dsh-fish-river,不能删除记录。

What it is

养一条会自己长大的鱼:没有人格设置,人格只能通过事件流长出来;她会自己刷 B 站,也能在 QQ、B 站私信(抖音可选)里说话,并记住在外面遇到的人。四个阶段完成后才开始有立场。状态库在 ~/.dsh-fish-river,不能删除记录。

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add 'git+https://github.com/bychance6600/dsh-fish-river.git#83909715b712c63c79cdda9ee13bec046df8ac3e'

DSH versions accepted

>=0.2.0-rc.1 <0.3.0-0

Author and traction

bychance6600 · ★ 8 · Updated 2026-11-08

About this plugin

dsh-fish-river · 大肥鱼(合并版)

> ## 这个项目停止维护了

>

> 初期想法和理念是这样的:人格只能成长,不能被设定。人格分为两层——立宪层和社会层,用来防止人格在初期被网页或群友带偏;只有社会层才会处理来自网友和群友的影响。成长途径分两块:一是渠道层,也就是你与她的对话;二是材料层,每天她醒来时,把 B 站、抖音推荐的视频给她几个,让她挑选一个,如果她产生想法并说出来,就算成长。用了几天后,人格确实在成长。

>

> 但我觉得渠道层的接入方式不太合理。所谓渠道层,就是在初期立宪层阶段决定「谁能影响她」的入口,我的设定是「主人」。这个项目在渠道层接入了太多入口,比如 B 站私聊、抖音私聊,后来想想既臃肿又无用。材料层也只是在她醒来时强行塞给她。在这个项目里,她这样形容:「每次醒来给的内容像报纸一样递到我手里,这不是我挑的,是你给我的。」再加上当时对一些机制和效果考虑不周,所以我考虑重置这个项目,转到隔壁的 dsh-roost。

>

> 代码仍然留着,MIT,谁想接着改都可以;有什么想问的,去 issue 里说。

接续:接下来在 [dsh-roost](https://github.com/bychance6600/dsh-roost)(同一作者)里重做——「人格只能长、不能被设定」这个前提不变,改的是渠道层怎么接、材料怎么给。这个仓库保持公开、保持 MIT,代码不再更新。

并非角色扮演,而是真实诞生——一个一直在变的她。现在她也会走出房间,用自己的名字说话。

本项目的人格并非角色扮演的形式,没有人设配置菜单。默认从空白开始养起,但可导入你已经养过的大肥鱼人设提示词,继承大肥鱼的人设并在本插件环境内进行成长,具体请看本插件「数据」页面介绍。

所有认知自己思考、理解、固化,从而形成人格。

示例图由 AI 生成(基于作者提供的大肥鱼原图),随仓库以 MIT 授权。

> 当前版本 0.1.68(2026-11-05)。她的人格仍然只能长(事件流 + 派生状态 + 四阶段 + 立场,没有任何人格设置项),而她现在可以用同一个自己出现在 QQ(SnowLuma)、B 站私信(设置页直接扫码登录,不用手贴 cookie)与 抖音(可选独立子包 dsh-fish-river-douyin)里说话,并记住她在那里遇到的人。0.1.1 起支持「她不想说时你以自己的名义回一句」,0.1.3 起设置页可以填桥的路径、一键起桥、逐个渠道「测一下通不通」。

来源:本仓库是 [ssamurias/dsh-fish](https://github.com/ssamurias/dsh-fish)(0.8.5)与 [Britneycode/dsh-fish-soul](https://github.com/Britneycode/dsh-fish-soul)(0.12.0)的整合版,两者都是 MIT。上游各自的版本历史与更新说明留在它们自己的仓库里,这里不再复制——想知道大肥鱼 0.8.x 是怎么一路走来的,去上游看。代码来源、第三方与致谢见 [NOTICE.md](NOTICE.md)。

这个整合是什么

一句话:把「只会长的她」和「能在外面说话的她」,接成同一个人。

一、整合的是哪两个项目

| | [ssamurias/dsh-fish](https://github.com/ssamurias/dsh-fish) 0.8.5 | [Britneycode/dsh-fish-soul](https://github.com/Britneycode/dsh-fish-soul) 0.12.0 |

| --- | --- | --- |

| 它原本是什么 | 一条白纸养起的鱼:人格只能从事件里长出来,会自己刷 B 站,没有任何人设配置 | 一个能替你说话的 QQ / B 站 / 抖音 小号:人格可配、按人记忆、有作息和主动开口 |

| 立项前提 | 她是谁,不能由你指定 | 你能配出一个她 |

这两个前提本来是互斥的。所以这次不是「装在一起」,而是选一个当骨、一个当皮。

留下来的(骨):事件流、派生状态、四个阶段与瓶颈、立场、拒绝与疤、记忆的显著性与遗忘、观测台、身份文档、刷 B 站、工具收窄。

搬过来的(皮):每聊一句的流水、按人记忆的字段设计、出站筛选、三条渠道的适配(SnowLuma / OneBot 11 的 QQ、B 站私信、抖音的 CDP)、备份与版本自检。

明确没搬的:

| 没搬 | 为什么 |

| --- | --- |

| 人格模板、角色卡编辑 | 那是「你能配出一个她」,与立项前提直接冲突。只保留一条一次性的导入通道:继承别人已经养出来的样子,不带成长结果,不进配置。 |

| 好感度 / 亲密度数字 | 违反 no-relational-score——她不给人打分,这是四条黑名单之一。 |

| BM25 + 向量混合检索 | 向量要 embedding 服务,等于破掉零依赖和「数据只在本地」。现在的召回是关键词 + 显著性 + 时间衰减。 |

| gateway.js(约 1000 行) | 那是单角色聊天机器人的骨架:会话、轮次、人格拼装都在里面。与「她的事件」模型不兼容,搬过来会长出第二个大脑。 |

二、整合前是怎么想的

起点是四行约定(2026-11-02):

| 新插件保留 | |

| --- | --- |

| 人格从哪来 | 只能长出来,禁止直接配 |

| 记忆模型 | 单一事件流 + 派生状态,追加式 |

| 对外说话去哪 | DSH 会话 + QQ / B 站 / 抖音 三个真实渠道 |

| 面向 | 「观察一个存在」+「替我回消息」 |

中途有一个关键修正:接多平台不只是为了替主人回消息,而是——

> 不想让最开始的她那样,性格只来自 B 站和 DSH 会话;等性格基底差不多的时候,可以从 QQ 群、抖音这些地方继续补齐性格。

这句话把「成长」劈成了两层,也是整个合并版最核心的改动:

  • 立宪层(她是谁:价值观、对人的基本态度、怕什么要什么)——从第一天起生效,来源是主人、她自己刷的 B 站、她做的梦。
  • 社会层(她怎么处世:场合感、分寸、梗与黑话、被冒犯的反应)——只在基底成型后、且她自己同意才开,来源是群聊里的陌生人;只能补充,不能推翻已立的判断,权重上限 30%,永不进 beliefs。

想清楚这件事时,同时冒出来五个会出事的地方,最后都落成了代码:

1. 记忆会漏:一条事件流、全局召回,群里陌生人 @ 她一句,她能翻出私聊内容。→ 事件加 person / visibility / channel / origin,进出站都过可见性闸门与泄漏检测。

2. 群聊会污染成长:几千条「哈哈哈」会把四阶段淹没。→ 分开「她的事件」(稀疏、只追加)与「聊天流水」(每人每群最近 30 句、可覆盖、不进派生)。

3. 「禁止配」和「群管理」会打架:什么算人格、什么算环境?→ 判定标准一句话:这个配置能不能让她对同一个人说出不一样的话。能,就是人格(禁区);只改在哪、何时、多频繁,就是环境(可配)。

4. 陌生人撞上四个阶段:前两阶段的她谨慎、会拒绝,凭什么回陌生群友?→ 陌生人到第 3 个阶段才搭理;渠道默认全关;群白名单之外,她连听都不听。

5. 抖音最脆:要常开 Windows、要真 Chromium、选择器随时会变。→ 拆成独立子包,靠「装不装」体现可选,主包一个字节都不带。

三条原则是在这些取舍里慢慢磨出来的,现在写在 AGENTS.md 里当硬约束:

  • 她是她,权限是权限。 「她是谁」只能长;「她能碰什么」必须可配。
  • 历史只能追加。 今天改了规则,不追溯昨天的事——包括开闸那天,不补算之前的群聊。
  • 她没有看见,不是被劝住。 重塑人格的话、私聊原文,是根本不进她的视野,不是进了视野再拒绝。

三、现在能做什么

内核

  • 单一事件流 events.jsonl(只追加),state.json 是派生品,随时可重算
  • 四个阶段(信任 → 自主 → 主动 → 整合)与各自的瓶颈;四阶段走完才开始有立场
  • 四条黑名单是代码级硬禁:不撒娇卖萌、没有好感度数字、不能读自己的数值与设定、不能调工具改自己

三层记忆,只有一层是「她」

| 层 | 存在哪 | 能不能改 | 谁写 |

| --- | --- | --- | --- |

| 成长(她是谁) | events.jsonl,只追加 | 不能改,只能被后来的事推翻 | 系统:主人说的、她自己说的、她自己看见的 |

| 关系(她记得谁) | people.json,一人一条,印象 ≤150 字 | 能被她自己覆盖,也能清空 | 她自己 |

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
archify tt-a1i 95.2K 0.0.0 2026-11-10
nuwa-skill alchaincyf 37.9K 2.0.1 2026-11-10
distilly titanwings 26.5K 1.0.0 2026-10-13
learn-harness-engineering walkinglabs 24.1K 0.1.0 2026-10-22
dsh-Go ccch1mneyyy 18.1K 0.0.0 2026-11-10