前言¶
在 DeepSeek Harness(DSH)里做长期陪伴型主会话时,常见做法是堆固定 system prompt 或外挂记忆检索。前者人格不会随经历缓慢调整,后者能记事实却未必形成「自己写、自己改」的原则层。维护者 Najiya5 的 dsh-fish-reflection(社区目录分类为「记忆」,项目自述定位为反思/人格层,见下文「这是什么」)面向的是另一类需求:白天对话与可选的视频摄入,夜里或按规则触发反省,把经历沉淀为 3–7 条分层原则,并写入可审计的成长档案;同时维护精神、健康、财务三个外循环状态,按轮注入主会话。它不承诺「越反思越好」,只保证改变有上限、有记录、失败时保留原人格。
这是什么¶
dsh-fish-reflection 是 DSH 插件(当前版本 0.8.12,MIT 许可证),给主会话加一个会缓慢自我修订的人格/反思层,而不是事实记忆或固定角色卡。
- 维护者:Najiya5
- 目录页:https://www.skillhub.cn/plugins/Najiya5/dsh-fish-reflection
- 源码:https://github.com/Najiya5/dsh-fish-reflection
一句话定位(来自项目 README):反思不保证让它变好,只保证改变有上限、有记录、不恶化。
是什么
- 人格/反思层:维护 3–7 条分层原则(价值观
value/ 偏好preference/ 习惯habit),每天最多小改 2 条;慢速漂移(保留条目权重每次最多 ±0.15,新条目权重 ≤ 0.6)。 - 状态层:精神(每轮情绪读数)、健康(慢均线)、财务(每晚账户余额样本)。
- 可审计成长档案:
history.jsonl,可导出到pass by/的三份 Markdown。 - 内容摄入器(可选):B 站/抖音(游客模式)→ 字幕 / 本地 ASR / 画面描述 → 笔记 → 反省素材。
不是什么(项目明确说明)
- 不存事实、不做检索;事实记忆请配
dsh-fish-memory或 OpenViking 等。 - 不是提示词里固定的人设角色卡。
- 不提供「效果更好」的承诺,只维护连续性。
核心功能¶
下面按 README 特性表与工作方式归纳,均可在仓库 README 核对。
分层人格与注入¶
注入时按层取高权重(2/2/3),每条截 60 字。只对设置页勾选的主会话生效;子代理/委派会话不参与。每轮在输入末尾追加带来源标记的 user 消息(append-only),不改系统提示前缀,便于 KV Cache。
反省触发与输入输出¶
- 触发:
settlementTime默认 23:30 之后;或启动/新建会话时补做(两次自动反省之间至少 4 小时);设置页可手动「立即反思」。 - 输入:自上次反省以来的主会话摘要 + 视频笔记;对话与视频素材权重约 7:3,视频笔记最多占实际使用字符的 30%。
- 输出:3–7 条原则 + 一句话说明;经确定性过滤与一次廉价审稿(fail-open),异常一律保留原人格。
- 反谄媚:不把用户称赞当作改价值观的证据。
情绪、健康与财务¶
每轮用默认模型同步判读用户情绪(约 1 秒,emotionTimeoutMs 默认 3000 硬超时);健康为慢速滚动均值。每晚在结算时间读一次账户余额并记账,模型仅看到余额与近 N 天日均。
刷视频(可选)¶
支持 B 站热门/生活区与抖音分享链接队列;链路为字幕 → 本地 ASR → 画面(本地 Ollama 或外部分析 API)→ 笔记。可通过 intakeEnabled、autoIntake、feedSources 等开关控制。
本地数据布局¶
- 状态域:
~/.dsh/storages/fish_reflection.json - 运行目录:
~/.dsh/fish-reflection/(含options.json、scope.json、intake.json、history.jsonl) - 运行时设置写入
options.json,改设置不需要重载插件。
安装与启用¶
环境需要 DSH 桌面端或 dsh web,并带 Web 设置页。
先将插件目录放到本机(README 以本地 bundle 为例),再在终端执行:
https://github.com/<Najiya5>/dsh-fish-reflection
dsh plugin --profile desktop add ./dsh-fish-reflection
也可以在 DSH 设置 → 插件 → 安装 里选择本插件目录(本地 bundle 安装)。
安装前建议阅读仓库 LICENSE、SECURITY.md 与源码:插件以当前 DSH 进程权限运行,Cookie 与 API Key 明文保存在本机 options.json。
典型用法与配置¶
自动反省与素材门槛¶
默认开启自动反省(autoReflection: true)。至少积累 minMaterial(默认 6)条摘要才允许改写人格。每日结算时间 settlementTime 默认 23:30(余额采样 + 反省)。状态块注入频率由 injectionIntervalTurns 控制,默认每 1 轮注入一次。
视频摄入相关(节选)¶
| 选项 | 默认 | 说明 |
|---|---|---|
intakeEnabled |
true |
刷视频总开关 |
autoIntake |
false |
是否每小时自动刷一个 |
feedSources |
bilibili + douyin | 平台开关 |
bilibiliCookie / douyinCookie |
空 | 游客模式;Cookie 明文存本机 |
analyzerBaseUrl / analyzerApiKey / analyzerModel |
空 | 可选外部分析 API |
asrLanguage / asrMaxSeconds |
zh / 600 |
本地 ASR |
visionFrames |
6 |
抽帧数 |
不配语音、视觉、抖音解析时,仍可只用对话反省。
工作流概览¶
用户对话与可选刷视频 → 对话摘要 journal → 每日或手动反省 → 更新 3–7 条原则 → 下一轮注入状态块,并写入成长档案。情绪判读与每晚余额采样汇入同一状态块。
适用场景与注意¶
适合谁
- 希望在 DSH 主会话里实验「慢变人格 + 外循环状态 + 档案」,且接受反省质量主观、不可测的开发者或玩家。
- 已有或计划搭配独立记忆插件做事实检索,本插件只负责「自己成了谁」的连续性。
务必知晓
- 反省/笔记/情绪判读会把对话摘要、视频材料发给你配置的默认模型提供方;若配置外部分析 API,视频帧与转写也会发往该 API;余额数字随状态块注入,同样会发给默认模型。
- 本机 JSON 中 Cookie/API Key 为明文;插件本地 API 仅有同源检查、无 token。勿将 DSH GUI 暴露到不可信网络。
- 抖音链接仅接受抖音自有域名;只粘贴可信来源链接。
- 已知限制包括:无事实记忆、自动反省未必严格每天一次、本地 ASR 默认每视频前 600 秒、视觉仅 6 帧、抖音解析可能失败等。项目定位为实验/娱乐,不提供医疗、心理或财务建议。
结尾¶
dsh-fish-reflection 在 DSH「一切皆插件」的生态里,补的是主会话上的反思层与可审计成长曲线,而不是替代记忆检索。若你要核对安装项、设置字段与隐私边界,以仓库 README 与 docs/ 为准。
- 社区目录:https://www.skillhub.cn/plugins/Najiya5/dsh-fish-reflection
- GitHub:https://github.com/Najiya5/dsh-fish-reflection