前言¶
在 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 只認已被客戶端打開的會話,插件新建會話投不進去,因此喚醒走「落筆記 + 面板」,不是直接在對話裏開口。
典型流程:
- 打開
http://127.0.0.1:<端口>/dsh-soul-seed/(說明頁/dsh-soul-seed/setup)。 - 未認過人時,面板提示回到對話說「開始初始化」,並預覽十個問題。
- 問題覆蓋:我是誰、你怎麼稱呼、誕生地、外貌、性格、對你的態度、說話方式、日常、絕不會、補充等;每題 10 個候選 +「其他(自己寫)」。
- 生成人設草稿,確認後點「寫入」才寫入
~/.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。