DSH Soul Seed:本地人設、心情與記憶的工作流插件

前言

在 DSH 裏跑智能體,常見做法是每輪靠 prompt 堆人設、靠會話歷史當「記憶」。會話一長,上下文膨脹、響應變慢;換機器或新開窗口,同一份「性格」和關係賬很難無損帶走。DeepSeek Harness 的生態按「一切皆插件」拆分能力;社區目錄 SkillHub 上維護者 DGcoin0415 發佈的 dsh-soul-seed(當前 package 版本 0.11.10,MIT,Node >=20)走另一條路:把身份、心情、長期記憶、按人賬本寫進 ~/.bili-ai/ 等本地文件,用面板完成十問初始化,再用一組 CLI 做修枝、分頁、向量回憶和靈魂包遷移。下面介紹它是什麼、能做什麼、裝好後怎麼用。

這是什麼

Soul Seed 的定位可以概括成:一枚需要先被「種下」的靈魂種子——插件本身不帶固定性格、名字或口癖;答完十個 onboarding 問題並寫入後,才生成 ~/.bili-ai/persona.md 等人設與附錄。維護者署名 米芾(GitHub DGcoin0415),倉庫 dsh-soul-seed,社區條目 SkillHub 目錄頁。SkillHub 將其放在工作流類;package 裏 dsh.displayName 爲 Soul Seed。

它解決的核心問題包括:好事壞事對心情的不同半衰、每人獨立賬本、無人說話時的獨處節奏,以及「精確事實走文本樹、模糊聯想走向量」的分工——這些在 README 裏用「怎麼疼 / 怎麼記一個人 / 怎麼獨處」三條說明,而不是一次性畫一張固定的「臉」。

核心功能

十問初始化與 Web 面板

裝好後約 10 秒(或首次打開面板時),插件會寫一條筆記並在面板「它醒過」卡片顯示喚醒文案;標記在 ~/.bili-ai/.first-wake,只醒一次。想再觸發可 POST /dsh-soul-seed/api/wake。README 說明:當前 DSH 的 session/prompt 只認已被客戶端打開的會話,插件新建會話投不進去,因此喚醒走「落筆記 + 面板」,不是直接在對話裏開口。

典型流程:

  1. 打開 http://127.0.0.1:<端口>/dsh-soul-seed/(說明頁 /dsh-soul-seed/setup)。
  2. 未認過人時,面板提示回到對話說「開始初始化」,並預覽十個問題。
  3. 問題覆蓋:我是誰、你怎麼稱呼、誕生地、外貌、性格、對你的態度、說話方式、日常、絕不會、補充等;每題 10 個候選 +「其他(自己寫)」。
  4. 生成人設草稿,確認後點「寫入」才寫入 ~/.bili-ai/persona.md(舊文件自動備份)。

相關 API 包括 GET /dsh-soul-seed/api/status、GET /dsh-soul-seed/api/persona、POST /dsh-soul-seed/api/onboarding 等(完整列表見倉庫 README)。

已有本地數據時的「學本地的」(v0.6.7 起)

插件會檢測 ~/.bili-ai/persona.md、memory.json、people.json、~/.dsh/im/SHARED-STATE.md;任一項存在則視爲「已經有一隻魚」,不再強制十問,而是面板多一張卡「這臺機器上已經有一隻魚 · 學本地的」,寫入 我學會了.md 記錄檢測結果,不覆蓋人設與記憶。

強制行爲可用環境變量:SOUL_SEED_MODE=fresh 重新初始化,或 SOUL_SEED_MODE=learn 走學習模式;面板也可點「重新答一遍」。

三塊持久化能力(心情、記憶、賬本)

README 用表格歸納的主要能力(數據路徑均已在文檔中寫明):

能力 要點 數據
六維心情 效價 / 喚醒 / 連接 / 疲勞 / 好奇 / 委屈;好事約 8 小時半衰、壞事約 3 小時;帶慣性 ~/.bili-ai/mood.json
長期記憶 remember / recall,重要度影響半衰 ~/.bili-ai/memory.json
按人賬本 master、各渠道 openid 等;好感、人情賬、關係網、私藏等 ~/.bili-ai/people.json

另有可選記仇鏈、拌嘴四套、幹活紀律附錄、現場/歷史/素材套、說話手冊、生圖流水線等,裝的人通過 onboarding 與附錄選擇;生圖 key 在 ~/.bili-ai/image-keys.json。

記憶的「樹」:根、枝、落葉、翻葉、修枝

自 v0.9.0 起統一命名:

  • 根:SHARED-STATE.md(身份、鐵律、渠道,每輪注入)
  • 枝:shared/規矩、說話、資料、歷史 等
  • 落葉:~/.bili-ai/leaves/ 長對話原文
  • 翻葉:~/.bili-ai/leaves-log.md 記錄最近用過的記憶
  • 修枝:默認每天 4:10;v0.11.9 起錯過會開機補跑(狀態 .tidy-schedule.json)

手動修枝示例:

node tools/12-tree/tree.mjs leaves 15   # 最近用過哪些記憶
node tools/12-tree/tree.mjs tidy        # 手動修一次枝

模糊回憶(向量)與精確文本

精確內容留在 ~/.bili-ai/ 文本樹;模糊聯想進向量索引(百鍊 text-embedding-v3,key 複用 image-keys.json 的 dashscope):

mkdir -p ~/.bili-ai/long
node tools/11-rag/rag.mjs index
node tools/11-rag/rag.mjs query "任務欄卡住那次怎麼解決的"
node tools/11-rag/rag.mjs stat

memory-find 支持摘要目錄檢索,輸出分 MATCHED / AMBIGUOUS / NOT_FOUND 三檔(v0.11.9)。

上下文 12 小時分頁(v0.11.0)

DSH 不給插件改會話歷史,插件用分頁讀降低每輪 token:

node tools/14-pages/page-archive.mjs     # 按 12 小時切頁,增量
node tools/14-pages/compact-session.mjs  # 刷最近 12 小時接續頁

產出在 shared/全量/頁/ 與 shared/接續.md;定時可用 node tools/14-pages/pages-schedule.mjs(0 點 / 12 點,錯過開機補跑)。讀法寫在 AGENTS.md:先接續,再按頁索引從新往舊翻。

狀態快照 shared/現在.md(v0.11.10)

固定四塊:在幹什麼、手頭沒完的、跟人、心情;開局整份讀(約 2 KB 內)。「手頭沒完的」與「跟人」由 tools/19-memory/now-update.mjs 等腳本刷新;會話原文不整段搬遷。

接模型前體檢(v0.10.0)

排查「連上了但正文進 reasoning、界面像沒回話」:

node tools/13-model-check/model-check.mjs --base https://xxx/v1 --key sk-xxx --model 模型名

直連通過後仍建議在插件實際路由下發一句,確認顯示正常。

接話篩子、空轉檢查、名字叫醒(v0.11.x)

  • 接話篩子:tools/18-guard/should-reply.mjs,規則在 shared/接話.json。
  • 空轉檢查:tools/18-guard/stall-check.mjs,連續兩輪無改動退出碼 3。
  • 名字叫醒:tools/16-name-wake/,最多 3 次、標記超 10 分鐘作廢(v0.11.3)。

靈魂包:換機續活

node tools/09-soul/soul.mjs export
node tools/09-soul/soul.mjs import x.zip
node tools/09-soul/soul.mjs status

將包改名爲 soul-pack.zip 放入 ~/.bili-ai/ 可在下次啓動自動載入。credentials.json、image-keys.json、cookies 永不進包。完整步驟見倉庫 docs/架設與提取.md。

語音(v0.7.0,依賴自裝)

python tools/10-voice/voice.py --say "睡前提醒你一句"
python tools/10-voice/voice.py --listen

依賴:pip install edge-tts faster-whisper sounddevice numpy;模型與緩存在 ~/.bili-ai/voice/。

可選:工具分組插件

tools/15-tool-gate 爲獨立小插件 dsh-tool-gate,按需開放工具組;配置在 ~/.dsh/im/tool-groups.json,README 指向該目錄說明。

安裝與啓用

資料中未給出形如 dsh plugin add … 的固定 shell 一行命令。SkillHub 條目提供的安裝話術爲(原文截斷處以目錄頁爲準):

請安裝 DSH 插件 DGcoin0415/dsh-soul-seed。先讀取..

在 DSH 中按你當前版本的插件安裝方式,指向倉庫 DGcoin0415/dsh-soul-seed 即可;安裝前建議在 GitHub 閱讀源碼與 MIT 許可證。插件以當前 DSH 進程權限讀寫 ~/.bili-ai/、~/.dsh/ 等路徑,安裝前應確認可接受的數據落盤範圍。

裝完後用面板 URL 確認狀態;若需 npm 腳本快捷方式,倉庫 package.json 中已註冊例如 npm run mood:sync、npm run soul、npm run rag 等(需在插件目錄下執行)。

典型用法

1. 首次部署:對話 + 面板寫入人設

在對話中說「開始初始化」,在面板完成十問並「寫入」persona.md。

2. 日常維護心情與日誌

node tools/17-mood/sync-mood.mjs

修枝任務會順帶滾 wake.log 等(見 README v0.11.5)。

3. 日檔與指針體檢

node tools/19-memory/memory-daily.mjs
node tools/19-memory/path-check.mjs

4. 多工作區同步

tools/07-sync/sync-shared.ps1 使用 sync-workspaces.json 清單;-Check 查看落後情況。

5. 再次喚醒(僅筆記/面板)

POST /dsh-soul-seed/api/wake

適用場景與注意

適合希望在 DSH 上跑長期有人設、有心情半衰、有按人賬本的智能體,並願意用本地文件 + CLI 維護記憶樹、分頁與靈魂包的開發者。不適合只想用一個固定 system prompt、不打算落盤敏感關係數據的場景。

務必注意:

  • 喚醒與 onboarding 依賴本機 Web 面板與文件寫入;羣聊「開口」仍受 DSH 會話模型約束(見 README 對 session/agent-busy 的說明)。
  • 向量與部分生圖能力需要自行配置 key;靈魂包不含密鑰類文件。
  • 記仇/報復鏈等能力默認關,需在生成流程中顯式選擇。
  • 社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係,僅爲 DSH 用戶整理的插件信息站。

結尾

dsh-soul-seed 把「靈魂」拆成可備份、可修枝、可分頁讀取的本地結構,用十問生成人設,用心情與賬本驅動行爲差異,用靈魂包換軀體續活。若要查看簡介與安裝入口,見 SkillHub:dsh-soul-seed;源碼與 CHANGELOG 見 GitHub:DGcoin0415/dsh-soul-seed。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜