前言¶
在 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