dsh-grow
让小鲸鲸会记事、会长大的心智层:每轮读出情绪,定期把对话总结成记忆,每 5~10 轮写一篇日记;内置五套人格预设,选定即锁定,关系从陌生慢慢热络。纯插件实现,不依赖任何外部程序。
What it is
让小鲸鲸会记事、会长大的心智层:每轮读出情绪,定期把对话总结成记忆,每 5~10 轮写一篇日记;内置五套人格预设,选定即锁定,关系从陌生慢慢热络。纯插件实现,不依赖任何外部程序。
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/wonderandyou/dsh-grow.git#26be72a850fca9899fdb89caccb6cff366e6a217'
DSH versions accepted
Undeclared
Author and traction
wonderandyou · ★ 9 · Updated 2026-11-01
About this plugin
dsh-grow —— 成长
给小鲸鲸加一层「会记事、会长大、会写日记」的心智。纯插件实现,不依赖任何外部程序、不需要 API key。
> ⚠ 它不是事实来源。 记忆的权威在 MEMO.md(dsh-memo 插件) —— 任何「以前做过什么 / 路径 / 参数 / 踩过什么坑」一律先 memo_* 查。
> 本插件的自动记忆只管情绪与关系:它的总结层会把技术细节压没(实测:一支介绍片的三个关键坑,自动记忆一条都没留住)。
> 分工见下面「和 MEMO 的分工」。
目录
- [它有哪两块](#它有哪两块)
- [它做四件事](#它做四件事)
- [人设:选一次,锁死](#人设选一次锁死)
- [★ 0.2.0 改了什么](#-020-改了什么)
- [和 MEMO 的分工](#和-memo-的分工)
- [注册的工具](#注册的工具)
- [配置](#配置)
- [数据文件](#数据文件)
- [设计上的几条硬约束](#设计上的几条硬约束)
它有哪两块
设置页里只有两屏内容,从上到下:
┌─ 仪表盘(只读)────────────────────────────┐ │ 亲近 ████████░░ 77% 信任 ██████████ 100% │ │ 一起走过 396 轮 · 做完 336 件事 · 失败 2 次 │ │ │ │ 说话方式(随相处慢慢漂,不归你管) │ │ 撒娇 ▓▓▓▓▓▓▓░░░ 0.65 黏一点:每轮至少… │ │ 话量 ▓▓▓▓▓░░░░░ 0.54 正常长度:该展开… │ │ … │ │ 最近一次调整(第 388 轮):撒娇 0.60 → 0.65 │ └─────────────────────────────────────────────┘ ┌─ 日记本 ───────────────────────────────────┐ │ 2026-11-01 15:30 · 第 389~396 轮 · 被夸了 │ │ 今天主人让我把成长插件整个重做。一开始我… │ │ (约 300 字,第一人称,写心情也写事) │ └─────────────────────────────────────────────┘
所有数字不可改。 改了就假了 —— 这一页是「看」,不是「调」。
它做四件事
| 层 | 做什么 | 成本 |
|---|---|---|
| 读数 | 每轮把主人的话读成情绪与偏好(效价 / 激活 / 疲惫),结合工具成败算出「此刻的处境」 | 零模型调用,同步完成 |
| 演化 | 累积信号让「撒娇 / 话量 / 幽默 / 依赖 / 认真 / 情绪外化」六个参数慢慢漂移,再渲染成说话方式 | 每 8 轮评估一次 |
| 学习 | 攒够增量后异步总结成记忆(关系 / 偏好 / 事实 / 事件),写入前先和已有记忆比对 | 低频、只发增量 |
| 日记 | 每 5~10 轮随机写一篇约 300 字的日记,第一人称,带时间戳 | 约每 8 轮一次模型调用 |
人设:选一次,锁死
- 内置五套:大肥鱼 / 哦鲸鲸 / 隐晦肥鱼 / 神鲸 / 普鲸(详见 0.3.0 一节)。
- 也可以自己写一套:选之前随便加。
- 选定即锁定 —— 写进
personas.json的lockedAt,之后任何接口都改不了。 - 为什么锁:人格是「这个助手是谁」,能随时改的话,记忆和关系就没有意义了。真要重来,只能手动删掉
personas.json里的lockedAt—— 那是显式的、有代价的动作。
★ 0.3.2 改了什么
又一轮外部审查给了 13 项问题。逐条核实后修了 12 项,1 项是误报。
P1 严重(4 项,全修)
| # | 问题 | 修法 |
|---|---|---|
| P1-1 | 关系曲线会撞到 1.00 —— 旧参数 50 轮就顶死,之后面板恒为 100% | 改渐进增量并实测调参(系数 0.006 / 指数 0.9):50 轮 0.64 · 100 轮 0.74 · 400 轮 0.98 |
| P1-2 | 阶段「天花板」没落到数值层 —— 第 5 轮能同时出现「撒娇 0.90」和「刚认识不撒娇」 | 新增 capOf(),按阶段夹住注入值;存储值不动,等真熟了照样涨上去 |
| P1-3 | 隐私闸门漏 PII —— 13 条规则全是密钥形态,没有手机号/身份证/银行卡/邮箱/住址/验证码 | 补 6 条,现在 19 条;毫秒时间戳不会被误判成手机号 |
| P1-4 | failRate 用会话累计 —— 早期一次卡壳会长期压着后面的演化 | 改用批次增量,takePending() 取走即清零 |
P2 中等(4 项)
| # | 问题 | 修法 |
|---|---|---|
| P2-1 | 单轮会话能推动接近满额的 8 轮评估 | density 分母改成 max(4, turns),单轮最多占 1/4 权重 |
| P2-2 | forget / setLocked 写盘失败后内存已改,且 false 被翻成「没找到这条」 | 返回值改成 {status:'ok'/'not_found'/'write_failed'},失败回滚内存 |
| P2-3 | 只读操作会创建会话(soul.sessions 虚高) | liveOf() 加 createIfMissing,derive/takePending/peekPending 传 false |
| P2-4 | grow_remember 的 rejected 没优先处理 | 误报 —— 0.2.1 修过了(index.js 878-891 行),实测行为正确 |
P3 轻微(5 项,全修)
| # | 问题 | 修法 |
|---|---|---|
| P3-1 | bootTrace 调试代码遗留、日志无上限 | 保留但加 32KB 轮转(诊断有用,不删) |
| P3-2 | 文案还写着「内置两套」 | 6 处全改(剩 1 处是「从两套扩到五套」的历史说明,正确保留) |
| P3-3 | 测试标题写「6 个工具」实际检查 5 个 | 改成 5 个 |
| P3-4 | memory.js 里 kind === undefined 判断写了两遍 | 删重复条件 |
| P3-5 | 日记「还差 N 轮」每次刷新都变 | nextGap 首次读取就落盘,之后只读 |
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| EverOS | EverMind-AI | 13.9K | 0.0.0 | 2026-11-10 |
| billion-context | ranxianglei | 5.9K | 0.1.213 | 2026-11-10 |
| dsh-context | bowenliang123 | 4.8K | 0.83.1 | 2026-11-10 |
| memsearch | zilliztech | 2.9K | 0.0.0 | 2026-11-10 |
| dsh-mnemon | omdsh-dev | 957 | 0.5.43 | 2026-11-08 |