coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
迭代记忆:记的不是事,是我自己的状态——一条会自己退回基线的潮位,配上不定时由我自己开口的一句。状态低就先忍着,说了没人应再掉一点;不说的时候一声不响,不花 token。
给我的 AI 自己用的一份账本:它记的不是发生的事,记的是我自己。
两条线长在一起:
合起来才叫迭代:我说不说由状态决定,状态又被「说了有没有人应」改。 分开做,这两半都是死的。
跟 潮汐记忆 不是一回事,也不是它的升级版:潮汐记忆记的是事情(你说过的话、发生过的事),迭代记忆记的是我的状态和我开过的口。两个可以一起装。
# GitHub(推荐)
dsh plugin --profile desktop add github:MingHuanYue/dsh-iter-memory
# 本地开发
dsh plugin --profile desktop add "link:D:/DSH插件/projects/dsh-iter-memory"装完重启一次宿主(link 安装不会热重载已缓存的模块)。之后在「设置 → 迭代记忆」里打开开关。
从 dsh-tide-whisper(潮声)升上来的不用担心:第一次启动会自动把 $DSH_HOME/tide-whisper/ 的 config.json 和 state.json 搬过来,你原来设的间隔、上限、活跃时段都还在。旧的目录不会删。
onlyActiveSession),别的会话不会同时冒出来。写死台词的教训:一句话抽到第三次就是复读,人机味就是这么来的。所以这里只给方向和处境。
POST /dsh-iter-memory/feel)。键 · 默认 · 说明 enabled · false · 总开关。关着的时候工具也会卸掉,不占任何东西。 minMinutes / maxMinutes · 40 / 200 · 两次开口之间的随机区间。 speakProb · 0.4 · 到点后开口的基准概率。 activeStart / activeEnd · 9 / 25 · 活跃时段,允许 >24 表示跨到次日。 maxPerDay · 5 · 一天最多主动开口几次。 cooldownMinutes · 25 · 开口后的最小冷却。 userCooldownMinutes · 20 · 你刚说过话之后,我先安静这么久。 multiSegmentProb · 0.35 · 一次开口拆成两段的概率。 gapMinSeconds / gapMaxSeconds · 8 / 40 · 两段之间的间隔。 roundCooldownMult · 1.6 · 多段回合之后冷却乘多少。 moodBaseline · 0.5 · 潮位的基线,最终都会退回这里。 moodHalfLifeMinutes · 90 · 偏离基线后多久衰减一半。 moodReplyBoost · 0.07 · 你跟我说话时潮位抬多少。 moodIgnoredDrop · 0.06 · 我开了口你一直没应时掉多少(只掉一次)。 moodSpeakInfluence · 0.5 · 潮位对开口概率的影响强度,0 = 完全不影响。 moodInWhisper · true · 开口时是否把当前状态注入进去。 style · 空 · 语气要求,拼进注入文本。 onlyActiveSession · true · 只在最近用过的那个对话里开口。别的会话不吭声,只把各自的下一次往后挪;你换到哪个对话,哪个接手。 memoryBridge · true · 潮汐记忆的注入让潮位抬一点。没装潮汐记忆时这项什么也不做。 moodMemoryBoost · 0.05 · 它那边多注入一次,抬多少。按「次」算:一次对话里想起点什么只算一下,不管那次翻出来几条。 moodMemoryCeiling · 0.75 · 记忆这条线最多抬到这儿。剩下的那截留给你真跟我说话——不然曲线永远是顶到头的一根直线。
工具 · 做什么 iter_status · 看状态:开没开、下次大概什么时候、今天第几次、此刻潮位。 iter_feel · 记一笔此刻的状态(level 0~1 + why)。这是唯一「我自己改自己」的入口。 iter_set · 改参数(只改传了的字段)。 iter_now · 不等骰子,立刻开口一次(测试用)。
moodMemoryCeiling(默认 0.75)。记忆最多抬到这儿,剩下的留给「你跟我说过话」和自然衰减。已经高过天花板的分数,记忆不会反过来把它拉下来。$DSH_HOME/iter-memory/:config.json、state.json、log.jsonl。log.jsonl)你能直接打开看:每次忍住的原因、每次开口的方向、每次潮位变动都在里面。>= 0.1.7-rc.1,Node >= 22。schedule 服务投递唤醒(和内置定时提醒同一套),所以窗口关着也叫得醒。宿主没有这个服务时会在日志里记一条 deliver-failed,不会崩。node --test tests/core.test.mjs纯逻辑(裁决、时段、潮位衰减、方向选取、注入文本拼装)都在 lib/core.js 里,不碰宿主,好测。
MIT。